मैं एक एकल स्क्रिप्ट स्क्रिप्ट के लिए एक डेब्यू पैकेज कैसे बना सकता हूँ?


78

मेरे पास एक एकल अजगर स्क्रिप्ट है जिसे मैं एक डिबेट पैकेज के रूप में वितरित करना चाहता हूं। यह एक संकेतक है जो एकता पैनल में स्थानीय तारीख दिखाता है। मैंने स्क्रिप्ट या बायनेरिज़ से .deb पैकेज बनाने का अनुसरण किया था लेकिन मैं एक डेबिट पैकेज नहीं बना सका क्योंकि यह विफल रहता है।

क्या कोई मुझे एक कदम-दर-चरण निर्देश दे सकता है कि मुझे क्या करना चाहिए? जहां तक ​​मुझे पता है यह स्क्रिप्ट निर्भर करती है python-appindicator

नोट:
मुझे डेबियन / उबंटू पैकेजिंग निर्देशों के लिए कोई लिंक नहीं चाहिए। मैंने उनमें से ज्यादातर को देखा है। मैं उन्हें शुरुआती के अनुकूल नहीं लगता।


6
हालांकि डेबियन और उबंटू पैकेजिंग निर्देश शुरुआती अनुकूल नहीं हैं (मुझे विश्वास है, मुझे पता है), कई जीयूआई अनुप्रयोग जो आपके लिए डेब्यू बनाते हैं, जब आप अंतिम पैकेज चेकर जैसे लिंटियन चलाते हैं, तो त्रुटियों का एक गुच्छा बन जाता है। यदि आप पैकेजिंग के बारे में गंभीर हैं, तो इसे सख्त करना और निर्देशों के माध्यम से काम करना सबसे अच्छा तरीका है :)
थॉमस बॉक्स्ले डे 30'11 '14:

मैं पैकेजिंग के बारे में नहीं जानता, लेकिन जिस कार्यक्षमता को आप जोड़ने की कोशिश कर रहे हैं, वह एकता में निर्मित है।
यह

जवाबों:


84

इस प्रकार एक मूल उदाहरण है कि एक अजगर स्क्रिप्ट के लिए स्रोत पैकेज कैसे दिख सकता है। जबकि अधिकांश पैकेजिंग ट्यूटोरियल थोड़े जटिल होते हैं, यदि आप किसी समस्या से टकराते हैं तो वे वास्तव में मदद कर सकते हैं। उस ने कहा, मैंने पहली बार डेबियन पैकेज की बुनियादी बातों को केवल डेबियन पैकेज को देखकर सीखा। apt-get sourceकुछ इसी तरह और उदाहरण से सीखते हैं।

यहां आपका मूल स्रोत पैकेज लेआउट है:

my-script/
    -- myScript
    -- debian/
        -- changelog
        -- copyright
        -- compat
        -- rules
        -- control
        -- install

dch --createठीक से स्वरूपित debian/changelogप्रविष्टि बनाने के लिए निर्देशिका में चलाएँ ।

डेबियन / कॉपीराइट जैसा दिखना चाहिए:

Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: myScript
Upstream-Contact: Name, <email@address>

Files: *
Copyright: 2011, Name, <email@address>
License: (GPL-2+ | LGPL-2 | GPL-3 | whatever)
 Full text of licence.
 .
 Unless there is a it can be found in /usr/share/common-licenses

डेबियन / कॉम्पिटिटर बस हो सकते हैं:7

डेबियन / नियम :

#!/usr/bin/make -f

%:
    dh $@ --with python2

ध्यान दें कि पहले "टैब" होना चाहिए dh $@ --with python2, रिक्त स्थान नहीं।

डेबियन / नियंत्रण :

Source: my-script
Section: python
Priority: optional
Maintainer: Name, <email@address>
Build-Depends: debhelper (>= 7),
               python (>= 2.6.6-3~)
Standards-Version: 3.9.2
X-Python-Version: >= 2.6


Package: my-script
Architecture: all
Section: python
Depends: python-appindicator, ${misc:Depends}, ${python:Depends}
Description: short description
 A long description goes here.
 .
 It can contain multiple paragraphs

डेबियन / स्थापित :

myScript usr/bin/

यह फ़ाइल इंगित करती है कि कौन सी फ़ाइल किस फ़ोल्डर में स्थापित की जाएगी।

अब इसके साथ निर्माण करें debuild --no-tgz-check

यह एक कार्यात्मक डेबिट पैकेज बनाएगा। Lintian एक Origin.tar.gz की कमी के बारे में कुछ चेतावनी फेंकने जा रहा है, लेकिन जब तक आप एक उचित अपस्ट्रीम प्रोजेक्ट बनाने की योजना नहीं बनाते हैं जो टारबॉल रिलीज़ करता है आप शायद अभी के लिए इसे अनदेखा करना चाहते हैं।


12
एक पैकर (और एक रिपोर्टर) के रूप में, मैं अजगर लिपियों को काफी बार पैकेज करता हूं। मैं सुरक्षित रूप से कह सकता हूं कि यह उत्तर यहां एक अजगर की स्क्रिप्ट के लिए एक पैकेज बनाने के लिए क्या करना है, इसका सबसे पूर्ण विवरण है।
थॉमस वार्ड

2
क्या आप इसे पायथन 3 के लिए भी अपडेट कर सकते हैं? मुझे लगता है कि हम में बदलाव करने की जरूरत debian/rulesहै और debian/controlहै, लेकिन मैं इस बारे में सुनिश्चित नहीं हूँ।
आदित्य

1
@ आदित्य, शायद पायथन 3 के लिए एक नया सवाल है? उत्तर बहुत अलग नहीं होगा, लेकिन यह उत्तर पायथन स्क्रिप्ट को कैसे पैकेज करना है, इसका सबसे सरल / नंगे न्यूनतम उदाहरण होना है। सुनिश्चित नहीं है कि मैं इसे कई कार्यान्वयन के साथ अव्यवस्थित करना चाहता हूं।
andrewsomething

@andrewsomething: तो फिर तुम में रुचि हो सकती यह एक जो मुझे संकेत दिए जाने पर उस टिप्पणी ... संपादन के बारे में थोड़ी है कि एक की आवश्यकता नहीं है छोड़ने के लिए, मैं इसे पर मेरे हाथ की कोशिश करेंगे ...
आदित्य

1
पुस्तकालयों के बारे में क्या? अगर अजगर स्क्रिप्ट लाइब्रेरी आयात करता है तो यह काम नहीं करेगा
D.Snap

18
  1. अपने घर पर किसी भी नाम के साथ एक फ़ोल्डर बनाएँ जैसे: mypyscript
  2. फ़ोल्डर खोलें और 'DEBIAN' और 'usr' नामों से दो फ़ोल्डर बनाएँ
  3. फ़ोल्डर DEBIAN खोलें। नाम 'नियंत्रण' के साथ एक पाठ फ़ाइल (विस्तार के बिना) बनाएँ।
  4. 'नियंत्रण' खोलें और निम्नानुसार टाइप करें और इसे DEBIAN पर सहेजें

    Package: mypyscript
    Version: 0.01
    Architecture: all
    Maintainer: your name<your mail id>
    Installed-Size: 2
    Depends: python-appindicator
    Section: extras
    Priority: optional
    Homepage: your homepage
    Description: describe
  5. वापस mypyscript नाम के फोल्डर में। 'Usr' खोलें। 'बिन' नाम का फोल्डर बनाएं। 'बिन' खोलें और वहां अपनी पाइथोस्क्रिप्ट फाइल पेस्ट करें।

  6. आप मेनू प्रविष्टि भी कर सकते हैं। लेकिन यह जरूरी नहीं है।
  7. होम फ़ोल्डर पर वापस जाएँ जहाँ फ़ोल्डर 'mypyscript' झूठ है या फ़ाइल ब्राउज़र बंद है।
  8. टर्मिनल खोलें। सुनिश्चित करें कि टर्मिनल होम फ़ोल्डर में है। प्रकार dpkg -b mypyscript। जब प्रेस दर्ज करें। सेकंड में आपका डिबेट पैकेज तैयार है

नोट: कृपया 'नियंत्रण' फ़ाइल ठीक से भरें। एपोस्ट्रोफ का उपयोग न करें। यह केवल नामों को इंगित करने के लिए है।


1
बहुत अच्छा काम करता है! स्वीकृत उत्तर जटिल है।
SuB

S myscript ’की अनुमति को 755 और उसके मालिक को रूट में बदलने की भूल न करें।
SuB

मैं मेनू प्रविष्टि कैसे बनाऊं?
को To:

9

आप पैकेज बनाने के लिए GUI टूल डेब्यू के साथ प्रयास कर सकते हैं।


डीब्रीक शांत है। मुझे यह अब तक पसंद है, बस अजगर स्रोत कोड से निर्माण करने के लिए आज इसका इस्तेमाल करना शुरू कर दिया।
उत्तर मार्कर

3

मैं जल्दी से बाहर की जाँच करेगा, त्वरित क्षुधा बनाने के लिए और यह गूगल debs उत्पन्न करने के लिए महान या आप यहाँ ट्यूटोरियल पा सकते हैं http://developer.ubuntu.com/


हां, मुझे भी जोड़ना पसंद है। wiki.ubuntu.com/Quickly , अगर आप मेरे जैसे वीडियो पसंद करते हैं, तो youtube एक महान संसाधन है
Jiew Meng

जल्दी से बस एक पैकेज को .deb पैकेज में नहीं बदल सकते
आर्किसमैन पाणिग्रही

2

प्रयास करें pkgme । इसे जस्ट वर्क माना जाता है।

इसके माध्यम से स्थापित करें:

sudo apt install pkgme

इसके माध्यम से चलाएं:

pkgme
debuild

(नए डेवलपर को दौड़ना पड़ सकता है gpg --gen-key, इसे ठीक से करने के लिए डेवलपमेंट कीसिग्निंग देखें )


1

इस बीच https://www.nylas.com/blog/packaging-deploying-python/ पर मिली दुविधा का वर्णन करने वाला एक लेख है । यह मुख्य रूप से बताता है कि केवल सेटअप-थ्रीडी फ़ाइल का उपयोग करके आसानी से पायथन कोड को तैनात करने के लिए मेक-डेब के साथ मिलकर dh-virtualenv काम कर रहा है। एक छोटा मैनुअल https://gist.github.com/JeOam/bc6cbf38f04d6f9dbf81 पर पाया जा सकता है


0

आप डीब्रीट का उपयोग करके देख सकते हैं

यह पैकेज और सामान बनाने के लिए एक गुई इंटरफ़ेस है जिसे आप पीपीए का उपयोग कर सकते हैं यदि आप इसे उस वेबसाइट से डाउनलोड नहीं करना चाहते हैं जो ऊपर सूचीबद्ध है।

sudo add-apt-repository ppa:antumdeluge/<ppaname>; sudo apt update; sudo apt install debreate

Ive ने ppa की निंदा की ताकि यह कोड की एक एकल पंक्ति के रूप में चले! भयानक सवाल के लिए धन्यवाद और कोड की उन पंक्तियों को टर्मिनल में काटते रहना सुनिश्चित करें!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.