पीपीए और पैकेजिंग: कई डिस्ट्रोस के लिए पैकेज के संस्करण वाले


36

(चैट से बोली)

एक IRC बॉट परियोजना के लिए मैं स्रोत से जुड़े पैकेज के लॉन्चपैड पर एक पीपीए मिला हूं, जो रिलीज के बीच के सामान के लिए अपने सभी मध्यवर्ती पैकेजिंग के साथ जुड़ा हुआ है, इसे "प्रयोगात्मक" पीपीए के रूप में वर्गीकृत किया गया है। प्रश्न: मैं पहले से ही एक स्पष्ट निर्माण के लिए सामान पैक कर चुका हूं। किसी भी सुराग मैं maverick के लिए पैकेज को छोड़कर एक ही पैकेजिंग कैसे बना सकता हूं, और इसे उसी पीपीए तक डाल सकता हूं जिसे मैंने स्पष्ट पैकेजिंग में रखा है?

जवाबों:


41

शायद सबसे आसान तरीका लॉन्चपैड पर बायनेरिज़ की नकल करना है:

  1. अपने पीपीए पर जाएं और 'पैकेज विवरण देखें' पर क्लिक करें:

    यहाँ छवि विवरण दर्ज करें

  2. 'कॉपी पैकेज' पर क्लिक करें:

    यहाँ छवि विवरण दर्ज करें

  3. ल्यूसिड पैकेज चुनें:

    यहाँ छवि विवरण दर्ज करें

  4. श्रृंखला के लिए 'Maverick' चुनें, और 'मौजूदा बायनेरिज़ की प्रतिलिपि बनाएँ' चुनें:

    यहाँ छवि विवरण दर्ज करें

  5. 'कॉपी पैकेज' पर क्लिक करें और यही है!


बहुत धन्यवाद। आपके निर्देश पर हाजिर थे । त्वरित प्रतिक्रिया के लिए बहुत बहुत धन्यवाद, भी।
थॉमस वार्ड

@ ईविल: कोई बात नहीं। मैं खुशी से मदद कर सकता है!
नाथन उस्मान

4
यहाँ अन्य लिंक के लिए ध्यान दें !!! मौजूदा बायनेरिज़ को कॉपी करना उन प्रोग्रामों के लिए काम नहीं करता है जो ubuntu के अन्य संस्करणों के लिए किस्मत में हैं! मेरे रुख्टर पीपीए और ल्यूसिड संस्करण के लिए चेंजलॉग्स देखें कि मुझे क्या मतलब है समझने के लिए: launchpad.net/~trekcaptainusa-tw/+archive/rkhunter/+packages
थॉमस वार्ड

@ThomasWard: अच्छी बात है - यह हमेशा काम नहीं करता है।
नाथन उस्मान

2
@KhurshidAlam सुपर सुपर देर से प्रतिक्रिया के लिए क्षमा करें। यह "अमान्य चांगेलॉग" के साथ विफल हो जाएगा, और इस तरह, आपको विशेष रूप से प्रत्येक को अलग-अलग संस्करण के साथ पीपीए का उपयोग करते समय टैग करना होगा। [ launchpad.net/~nginx/+archive/stable ] ( लॉन्चपैड.net/~nginx/+archive/stable ) इसका एक अच्छा उदाहरण है, क्योंकि इसे बनाने के लिए मुझे वर्जन में डिस्ट्रीब्यूशन जोड़ना है, इसलिए इसे बनाता है सभी विभिन्न पुस्तकालयों के साथ सही ढंग से। (मैं अब इसलिए मुझे का उपयोग कर कि एक उदाहरण के रूप के लिए nginx टीम के PPAs बनाए रखें।)
थॉमस वार्ड

11

यदि आपके द्वारा बनाए जा रहे पैकेज के लिए बायनेरिज़ की प्रतिलिपि बनाने से काम नहीं चलता है, तो आपको debian/changelogफ़ाइल को संपादित करके प्रत्येक डिस्ट्रो संस्करण के लिए एक स्रोत पैकेज अपलोड करना होगा ।

दूसरे डिस्ट्रो वर्जन के लिए री-पैकेज कैसे करें

  1. debian/changelogफ़ाइल को अपने स्रोत पैकेज निर्देशिका में संपादित करें
  2. उदाहरण के लिए आप कौन से डिस्ट्रो का निर्माण कर रहे हैं, यह दर्शाने के लिए संस्करण और लक्ष्य वितरण दोनों को बदलें :

    nginx (1:1.4.1-0ubuntu1~preciseppa1) precise; urgency=low
  3. स्रोत पैकेज का पुनः निर्माण करें: debuild -S
  4. .changesअपने PPA पर फ़ाइल अपलोड करें :dput ppa:teward/nginx-stable-testing ../nginx_1.4.1-0ubuntu1~preciseppa1_source.changes

यदि बिल्ड सफल है तो बधाई देने के लिए आपने उस डिस्ट्रो के लिए एक पैकेज बनाया है! यदि नहीं, तो आपको लॉन्चपैड पर बिल्ड लॉग की जांच करनी होगी और आपके द्वारा ढूंढी जाने वाली किसी भी समस्या का समाधान करना होगा।

संदर्भ:


मैं यह करता हूं! : डी द मोटू (ब्रह्मांड भंडार के देवता) ने इसे समझाया जब मुझे nginxपीपीए में अन्य कार्यक्रमों के लिए अलग-अलग बिल्ड करने की जरूरत थी , और उन्होंने मेरे बहुत से मुद्दों को हल करने में मदद की। इसे पोस्ट करने के लिए धन्यवाद! :)
थॉमस वार्ड

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

वास्तव में। मैं हालांकि स्वीकार किए गए उत्तर को नहीं बदल रहा हूं, क्योंकि इस सवाल के समय, उबंटू के विभिन्न संस्करणों में उपलब्ध पुस्तकालयों के अलग-अलग होने के बारे में चिंता करने की आवश्यकता नहीं थी। साथ nginxया rkhunterया अन्य संकुल मैं backport अक्सर, वहाँ एक बड़ी निर्भरता पता (अलग करने के लिए जारी है depends:, नियंत्रण फ़ाइल में है और इस तरह) तो मैं हमेशा उपयोग programversion-1~RELEASE0जहां ~ RELEASE0 हमेशा दिए गए रिहाई क्या है के साथ कुछ संख्या है .. आमतौर पर जब मैं से backport डेबियन उबंटू के लिए मामला है कि :)
थॉमस वार्ड

हाँ, निर्भरता निश्चित रूप से बैकपोर्टिंग के लिए एक दर्द बिंदु है ;-) मैं सहमत हूँ, स्वीकार किए जाते हैं जवाब ज्यादातर मामलों में पर्याप्त होना चाहिए, और बाज़ार के स्रोत नियंत्रण प्रतिनिधि के उपयोगकर्ताओं के लिए, लॉन्चपैड के bzr- बिल्डर नुस्खा का उपयोग करके आकर्षक भी दिखता है। हालांकि, जब यह कई निर्भरता वाले पैकेज के लिए नीचे आता है, तो कभी-कभी आपको अपने लक्ष्य डिस्ट्रो के लिए एक कस्टम पैकेज बनाना पड़ता है।
त्रिनिट्रॉनएक्स

और मैं nginxडेबियन अनस्टेबल से प्रीसीज़, क्वांटल, रेयरिंग, और सॉसी (और एक पीपीए में भरोसेमंद, लेकिन मैं भी भरोसेमंद बनाता हूं, जब तक कि डेबियन फ्रीज तक, डेबियन फ्रीज से नवीनतम नहीं होगा: पी) में विलय हो चुका है, एनजीआईएनएक्स टीम के लिए, लेकिन अफसोस कभी कभी कीड़े जो मैं ठीक नहीं कर सकते और डेबियन से निपटने के लिए ... यही कारण है कि मैं डेबियन देखरेख के साथ :) अच्छे रिश्ते हैं है कर रहे हैं
थॉमस वार्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.