मैंने पहले भी उबंटू/डेबियन के लिए पाइथन पैकेजिंग के साथ लड़ाई की है, और मैं सहमत हूं कि दस्तावेज़ एक गड़बड़/अस्तित्वहीन/भ्रामक हैं: उन्हें वास्तव में सबसे आसान संभावित स्थिति के लिए त्वरित प्रारंभ मार्गदर्शिका की आवश्यकता है।
ठीक है, यह है!
अपने टूल्स इंस्टॉल करें। यह overkill है, हालांकि हो सकता है:
अपने कोड के साथ
sudo apt-get install build-essential python-all dh-make devscripts fakeroot
प्रारंभ $packagename-$version
नाम के एक निर्देशिका में बाहर की जाँच की, library_name-0.6.0/
की तरह है, और उस निर्देशिका के लिए cd
। dh_make -i -c gpl3 -e [email protected]
जैसे कुछ चलाएं (अन्य विकल्पों के लिए dh_make --help
देखें)। अगर सब कुछ ठीक हो जाता है, तो आपको कोई त्रुटि नहीं मिलेगी, और यह ./debian
में फ़ाइलों का एक भार बनाएगा। आप ./debian/*.{ex,EX}
को अनदेखा या हटा सकते हैं; वे सिर्फ उदाहरण हैं।
तुम शायद कुछ बिंदु पर इन सभी फ़ाइलों को जांच करनी चाहिए, लेकिन बहुत कम से कम, आप जरूरत./debian/control
और ./debian/rules
संपादित करने के लिए। आपको सभी templately क्षेत्रों को नियंत्रण में भरना चाहिए, अर्थात् Description
और Homepage
।Package
लाइन बदलें python-$libname
इस के लिए control
में अपने Depends
लाइन बदलने के लिए:
Depends: ${misc:Depends}, ${python:Depends}
यह सुनिश्चित करता है कि हमारे द्विआधारी पैकेज python-$libname
अजगर के संस्करणों में यह जरूरत पर निर्भर करता है। (${python:Depends} is a "substvar"; they're created when we build; you can inspect their values after your first build in
।/Debian/$ packagename.substvars`।)
बदलें dh [email protected]
से dh [email protected] --with python2
करने के लिए rules
में लाइन, सामने (यह एक Makefile है) पर टैब संरक्षण। यह डेबेलर को अपने पायथन 2 एडन का उपयोग करने का कारण बनता है; डिफ़ॉल्ट अभी भी pysupport का उपयोग करने के लिए है (जो बहिष्कृत है, याद है?)।
फिर, स्रोत जड़ में निम्नलिखित कमांड चलाएँ:
debuild -us -uc
इस पैकेज बनाता है, यह प्रवेश किए बिना (कुछ आप सीखना चाहिए बाद में कैसे करना है!)। आपको कुछ परिचित सेटअपटोल्स लाइनों को देखना चाहिए (दो बार: 2.6 के लिए एक बार, 2.7 के लिए एक बार), dh_ addons के ढेर, और अन्य भवन क्रॉफ्ट। अंत में लिंटियन का उत्पादन होता है, जो कुछ सामान्य पैकेजिंग समस्याओं का पता लगा सकता है; आपको इन्हें ठीक करना चाहिए। लिंटियन और दोस्तों के बारे में शिकायत करने वाली बहुत सी चीजें पैकेजिंग नियमों का पालन करती हैं, और यदि आपकी लिब सिर्फ आंतरिक है, तो इसे ढीला खेलने के लिए स्वतंत्र महसूस करें।
वैसे, This page talks about the deprecation of python-support
and python-central
अपने पैकेज दोनों 2.x और 3.x के साथ संगत है? यही है, क्या आप दोनों को लक्षित कर रहे हैं? – nfirvine
@ एनफिरविन: 2.6 + 2.7 –