खैर, यह लगता है कि पैकेजिंग व्यंजनों यहां जाने का तरीका है। मूल रूप से, पैकेजिंग रेसिपी स्वचालित रूप से उबंटू स्रोत पैकेज बना सकती है और जब भी लॉन्चपैड पर bzr ब्रांच बदलती है, तो उन्हें PPA पर अपलोड किया जा सकता है। ऑनलाइन प्रलेखन बहुत अच्छा है, लेकिन मैं कुछ उदाहरणों की दे देंगे ...
पहले, आप (उदाहरण के लिए lp:gtk3
) ट्रैक करने के लिए एक शाखा निर्दिष्ट करते हैं और फिर उस शाखा में अपनी खुद की डेबियन पैकेजिंग शाखा को घोंसले में डालने के लिए एक कमांड जोड़ते हैं। इस रेसिपी पर एक नज़र डालें जो मैंने Inkscape की दैनिक बिल्ड के लिए बनाई थी।
# bzr-builder format 0.4 deb-version 1:0.48+devel+{revno}+{revno:packaging}
lp:inkscape
nest packaging lp:~inkscape.dev/inkscape/debian-packaging debian
यह नुस्खा प्रत्येक दिन इंकस्केप के लिए नवीनतम अपस्ट्रीम स्रोत का उपयोग करके एक उबंटू पैकेज बनाता है, लेकिन lp:~inkscape.dev/inkscape/debian-packaging
शाखा से अनुकूलित डेबियन पैकेजिंग निर्देशों को " debian
" नामक एक सबफ़ोल्डर में कॉपी करता है ।
लॉन्चपैड पर पैकेजिंग नुस्खा पृष्ठ आपको यह निर्दिष्ट करने की अनुमति देता है कि आपके पैकेज को स्वचालित रूप से अपलोड करने के लिए कौन सा पीपीए है। हमारे मामले में, यह यहाँ अपलोड किया गया है ।
एक वैकल्पिक दृष्टिकोण के रूप में, आप अपस्ट्रीम स्रोत पर सीधे बजाय मौजूदा उबंटू पैकेज पर अपने नुस्खा को आधार बना सकते हैं। उदाहरण के लिए, lp:ubuntu/gtk+3.0
। फिर आपको इस कोड की एक शाखा बनाने की आवश्यकता होगी, और आपके द्वारा आवश्यक किसी भी संशोधन को करने की आवश्यकता होगी। lp:~myaccount/ubuntu/saucy/gtk+3.0/my-custom-build
उदाहरण के लिए, इसे कहते हैं । आप तब नेस्ट पैकेजिंग निर्देशों के बजाय अपने परिवर्तनों को स्वचालित रूप से मर्ज करने के लिए एक नुस्खा बनाएंगे । नुस्खा कुछ इस तरह दिखेगा:
# bzr-builder format 0.4 deb-version {debversion}+{date}
lp:ubuntu/gtk+3.0
merge my-custom-build lp:~myaccount/ubuntu/saucy/gtk+3.0/my-custom-build
यह नुस्खा, इसलिए स्वचालित रूप से एक कस्टम उबंटू स्रोत पैकेज बनाता है और इसे अपने पीपीए में अपलोड करता है जब भी आधिकारिक उबंटू पैकेज में कोई बदलाव होता है।
यदि आप इस "मर्ज" दृष्टिकोण को लेते हैं, तो आपके पास अपने पैच को लागू करने के लिए दो विकल्प हैं। या तो आप अपस्ट्रीम सोर्स कोड को सीधे अपनी शाखा में संपादित करेंगे और bzr को इसे मर्ज करने का ध्यान रखेंगे, या आप debian/
रजाई का उपयोग करके फ़ोल्डर के अंदर पैच फाइलें बना सकते हैं । प्रत्येक के अपने फायदे / नुकसान हैं। पूर्व दृष्टिकोण थोड़ा चालाक है ... यदि आपका एक पैच अपस्ट्रीम डेवलपर द्वारा अपनाया जाता है, तो मर्ज आमतौर पर अभी भी काम करेगा और उबंटू पैकेज ओके का निर्माण करेगा। उत्तरार्द्ध दृष्टिकोण आपको अपस्ट्रीम कोड से अलग पैकेजिंग कोड रखने के मानक डेबियन-आधारित दृष्टिकोण का उपयोग करके अपने पैच को संभालने की सुविधा देता है ... हालांकि, अगर अपस्ट्रीम डेवलपर आपके पैच में से एक को गोद लेता है तो रजाई (डुप्लिकेट) लागू नहीं कर पाएगा पैच और पैकेज बनाने में विफल रहेगा।
lp:ubuntu/gtk+3.0
ट्रैक करता है ? वर्तमान स्थिर या वर्तमान विकास संस्करण?