2010-12-21 17 views
8

तो मैं सॉफ्टवेयर का एक टुकड़ा जो मैं आर्क लिनक्स उपयोगकर्ता डेटा संग्रह स्थान, और, -should टिप्पणी करने के लिए पैकेज और पोस्ट करना चाहते हैं बनाया है रखते हुए कि मैंने पहले किसी भी distro के लिए कुछ भी पैक कभी नहीं किया है - और मैंने इसे अपने स्वयं के मशीन पर आर्क के पैकेज मैनेजर पॅकमैन के माध्यम से सफलतापूर्वक पैक किया है और स्थापित किया है, लेकिन अब मैं सोच रहा हूं कि पृथ्वी पर मैं फ़ोल्डर्स और फाइलों को कैसे ढूढ़ूंगा?पैकेजिंग लिनक्स सॉफ्टवेयर जबकि, एक समझदार फ़ाइल संरचना

आम तौर पर जब मैं सॉफ्टवेयर लिखा, मैं इस संरचना का उपयोग करें:

निर्माण/| src/| makefile

एक न्यूनतम के रूप में, और सॉफ्टवेयर के इस टुकड़े के मामले में, makefile src से एक .cpp फ़ाइल संकलन// निर्माण करने के लिए से ज्यादा कुछ नहीं है। इन दो फ़ाइलें - आर्क पैकेज बनाने के लिए, मैं भी एक आर सी फ़ाइल बनाने के लिए, एक डेमॉन और PKGBUILD फ़ाइल है, जो फ़ाइल कि makepkg कार्यक्रम कैसे संस्थापक-पैकेज के निर्माण के लिए बताता है के रूप में ठीक से प्रोग्राम का उपयोग करने के लिए किया था हालांकि, आर्क के लिए विशिष्ट हैं। यदि मैं डेबियन कहने के लिए प्रोग्राम को पैकेज करना चाहता हूं, तो मुझे यह करने के लिए फ़ाइलों का एक और सेट चाहिए, लेकिन ये फ़ाइलें केवल डेबियन के लिए काम करती हैं। अब, मैं सिर्फ .rc फ़ाइल और PKGBUILD फ़ाइल को प्रोग्राम रूट फ़ोल्डर में नहीं डाल सकता, क्योंकि यह "गड़बड़" होगा, खासकर यदि मेरे पास डेबियन के लिए पैकेज बनाने के लिए फ़ाइलें भी थीं, लेकिन मैं कहां डालूं distro- विशिष्ट फाइलें? मुझे प्रोग्राम रूट रूट-कम-से-कम-इसे ट्रैक रखने में सक्षम होने की आवश्यकता है, और मेरा प्रारंभिक विचार आर्क लिनक्स विशिष्ट फ़ाइलों के लिए distro/arch/जैसे संरचना के साथ जाना था, और फिर PKGBUILD फ़ाइल प्रोग्राम्स रूट फ़ोल्डर में मेकफ़ाइल चलाएंगे और संकलित फ़ाइल को बिल्ड/डिस्ट्रो/आर्क/से कुछ और करने से पहले कॉपी करें, लेकिन मुझे पता चला कि मुझे PKGBUILD को इस तरह से काम नहीं मिल सका, और फर्नोड पर #archlinux पर लोग भी ने कहा कि यह एक स्मार्ट विचार नहीं था।

तो मैं कहाँ distro विशिष्ट फ़ाइलों रख सकता हूं? अगर मुझे पता था कि मुझे केवल आर्क के लिए यह प्रोग्राम प्रदान करना है, तो इसे केवल मेकपैग के लिए ही बनाना आसान होगा, लेकिन मैं सॉफ़्टवेयर को कैद करना पसंद नहीं करता, और मैं डेबियन जैसे अन्य मेयर डिस्ट्रोज़ के लिए पैकेज उपलब्ध कराने की कल्पना भी कर सकता हूं, इसलिए एक सन फ़ाइल संरचना रखते हुए मैं इसे कैसे प्राप्त करूं?

सादर, क्रिस Buchholz

उत्तर

2

अक्सर आप में मिल एक निर्देशिका 'डेबियन' जो उस में डेबियन विशिष्ट फ़ाइलों है कहा जाता Tarballs। मैं एक ही मार्ग पर जाऊंगा और एक निर्देशिका 'archlinux' बनाउंगा और फाइलों को वहां रखूंगा।

तो मैं पर जाने के लिए और archlinux निर्देशिका बताते हैं कि कैसे ठीक PKGBUILD का उपयोग करने के लिए एक फ़ाइल README जाते थे।

एक समाधान आपके मेकफ़ाइल 'पैकेज-आर्क' में एक नियम लिखना हो सकता है जो PKGBUILD को मूल निर्देशिका में कॉपी करता है, मेकपकिग चलाता है, फिर अनावश्यक PKGBUILD को हटा देता है।

यह hackish है, तो आर्क लोग इस सीमा को ठीक करने के लिए मैं भी एक बग रिपोर्ट लिखेंगे। हालांकि, क्या आपने makepkg -p archlinux/PKGBUILD का प्रयास किया?

+1

आपके उत्तर, ypnos के लिए बहुत बहुत धन्यवाद। मुझे यह बहुत प्रेरणा मिली कि मैं इस परियोजना को कैसे ढूढ़ूंगा। मैंने फैसला किया कि मैं मेकफ़ाइल को डिस्ट्रो-विशिष्टताओं के साथ मिश्रित नहीं करूंगा, और makepkg -p कमांड या तो काम नहीं करेगा। लेकिन मुझे पता चला कि मैं सिर्फ पीकेजीबीयूआईएलडी फाइल को स्रोत फाइलों को स्रोत से लपेटने के लिए कह सकता हूं और उन्हें आर्टलिनक्स पर कॉपी कर सकता हूं/इससे पहले कि वे उन पर निर्भर हो जाएं और चीजें बनाएं, और यह बहुत अच्छा काम करता है। – chrisbuchholz

संबंधित मुद्दे