नीचे, मैं मान रहा हूं कि स्रोत खुला है (उदाहरण पायथन स्क्रिप्ट) जो इसलिए किसी भी वास्तुकला (जैसे amd64 या i386) से बाध्य नहीं हैं, इसलिए "सभी"। यदि आपके पास कुछ सी स्रोत हैं, तो आपको Architecture: amd64 i386
अपनी स्रोत control
फ़ाइल में उपयोग करने की आवश्यकता है ।
लॉन्चपैड के लिए तैयार पैकेज बनाना
यह अंततः व्यक्तिगत लॉन्चपैड पीपीए पैकेजों की एक श्रृंखला बन जाएगा।
जो मैं पसंद करता हूं (लेकिन प्राप्त करने में सक्षम नहीं हो सकता ...) मेरी पैकेजिंग को न्यूनतम रखने के लिए है - एक टेम्पलेट से पैकेज की एक श्रृंखला बनाएं और नंगे न्यूनतम (चैंज आदि) + टार फ़ाइल को समायोजित करें।
लॉन्चपैड केवल स्रोत पैकेज स्वीकार करता है, इसलिए एक rules
ऐसी फाइल बनाएं जो सही स्थानों पर फाइलों को स्थापित करे। सुविधा के लिए, मैं डीहेल्पर का उपयोग करूँगा । आपकी फ़ाइलों की निर्देशिका इस तरह दिखनी चाहिए:
debian/changelog
debian/control
debian/rules
debian/compat
mypluginfolder/...
debian/copyright
पैकेज से जुड़े लाइसेंस के बारे में उपयोगकर्ताओं को सूचित करने के लिए एक फ़ाइल भी उपयोगी हो सकती है। मुझे नहीं लगता कि आपको एक postinst
स्क्रिप्ट की आवश्यकता है क्योंकि आपको केवल कुछ फ़ाइलों को निकालने की आवश्यकता है। compat
"8" कहने के लिए, डिस्लेपर कॉम्पेलबिलिटी स्तर होना चाहिए। (कृपया अधिक जानकारी के लिए डिफेलर के मैनुअल पेज को देखें)
changelog
फ़ाइल के साथ संपादित किया जा सकता dch
आदेश, से उपलब्ध devscripts
पैकेज। rules
(Debhelper का उपयोग) शामिल करना चाहिए:
#!/usr/bin/make -f
%:
dh $@
override_dh_install:
dh_install mypluginfolder/ /usr/share/rhythmbox/plugins
इसका उपयोग करके निष्पादन योग्य बनाएं chmod 755 debian/rules
। स्रोत पैकेज का उपयोग करके निर्माण किया जा सकता है debuild -S
। नाम वाली निर्देशिका में होना सुनिश्चित करें <package-name>-<version>
। override_
व्यवहार और dh
कमांड के बारे में अधिक जानकारी इसके मैनुअल पेज पर पाई जा सकती है ।
डेबियन नई देखरेख गाइड मुझे इस को समझने के लिए बहुत ही मूल्यवान था, यह सिफारिश की पढ़ने है। उदाहरण पैकेजिंग https://github.com/Bumblebee-Project/bumblebee-ppa पर देखी जा सकती है ।
मौजूदा फ़ाइल ट्री से पैकेज बनाना
dpkg-deb -b
एक मौजूदा फ़ाइल ट्री से टारबॉल बनाने के लिए इस्तेमाल किया जा सकता है। सबसे पहले, एक निर्देशिका बनाने के साथ शुरू करें जिसे आपके पैकेज के नाम पर रखा जाना चाहिए। मैं मान लूंगा कि आप इसे नाम देना चाहते हैं myplugin
, और इसे लगाना चाहते हैं /usr/share/rhythmbox/plugins/mypluginfolder
। इसके अलावा, DEBIAN
पैकेज की जानकारी संग्रहीत करने के लिए निर्देशिका (अपरकेस!) बनाएँ :
mkdir -p myplugin/usr/share/rhythmbox/plugins/mypluginfolder
mkdir myplugin/DEBIAN
अपनी फ़ाइलों पर प्रतिलिपि बनाएँ:
cp -r ~/mypluginsfolder myplugin/usr/share/rhythmbox/plugins
अगला, आपको एक तथाकथित नियंत्रण फ़ाइल की आवश्यकता होगी , myplugin/DEBIAN/control
जिस पर पैकेज का वर्णन किया गया हो। ऐसी फ़ाइल की सामग्री नीचे दी गई है:
Package: myplugin
Version: 1.0-1
Maintainer: You <whatever@contact.address>
Architecture: all
Description: plugins for Rhythmbox
Longer description here
.
As you can see, new paragraph are split by a single dot,
and lines have to be indented by one space.
अब, आप वैकल्पिक रूप से अपने पैकेज की सामग्री को सत्यापित कर सकते हैं। अगला कमांड फ़ाइल और निर्देशिका प्रविष्टियों को सूचीबद्ध करता है myplugin
:
find myplugin -ls
यदि आप संतुष्ट हैं, तो वर्तमान निर्देशिका में पैकेज बनाएँ:
dpkg-deb -b myplugin .
एक नई फ़ाइल दिखाई देगी, जिसका नाम <package>_<version>_<architecture>.deb
इस उदाहरण में है myplugin_1.0-1_all.deb
। आप less
फ़ाइल में झांकने के लिए कार्यक्रम का उपयोग कर सकते हैं । उदाहरण के लिए, less myplugin_1.0-1_all.deb
।