डेबेलर के साथ पैकेजिंग
जरूरी आवश्यकताएँ: "स्क्रैच से पैकेजिंग" प्लस डिबेलपर और डीएच-मेक नामक अनुभाग से आवश्यकताएं एक पैकेजर के रूप में, आप शायद ही कभी स्क्रैच से पैकेज बनाएंगे जैसा हमने पिछले खंड में किया है। जैसा कि आप कल्पना कर सकते हैं, में से कई कार्यों और जानकारी नियम उदाहरण के लिए, फ़ाइल संकुल के लिए आम हैं। पैकेजिंग को आसान और अधिक कुशल बनाने के लिए, आप इसका उपयोग कर सकते हैं debhelper इन कार्यों के साथ मदद करने के लिए। डेबेलर पर्ल स्क्रिप्ट का एक सेट है (इसके साथ prefixed dh_) जो पैकेज-निर्माण की प्रक्रिया को स्वचालित करता है। इन स्क्रिप्ट के साथ, डेबियन पैकेज बनाना काफी सरल हो जाता है। इस उदाहरण में, हम फिर से जीएनयू हैलो पैकेज का निर्माण करेंगे, लेकिन इस बार हम अपने काम की तुलना उबंटू से करेंगे हैलो-debhelper पैकेज। दोबारा, एक निर्देशिका बनाएं जहां आप काम करेंगे: फिर, उबंटू स्रोत पैकेज प्राप्त करें: पिछले उदाहरण की तरह, हमें सबसे पहले जो करना है वह मूल (अपस्ट्रीम) टैरबॉल को अनपैक कर रहा है। अपस्ट्रीम टैरबॉल को कॉपी करने के बजाय hello_2.1.1.orig.tar.gz जैसा कि हमने पिछले उदाहरण में किया था, हम चले जाएंगे dh_make हमारे लिए काम करो। केवल एक चीज जो आपको करना है वह स्रोत फ़ोल्डर का नाम बदलती है, इसलिए यह इस रूप में है
स्रोत का आरंभिक "विचलन" बनाने के लिए हम उपयोग करेंगे dh_make. तब dh_make आपको प्रश्नों की एक श्रृंखला पूछेगा: सावधान केवल भागो dh_make -e एक बार। यदि आप पहली बार ऐसा करने के बाद इसे फिर से चलाते हैं, तो यह ठीक से काम नहीं करेगा। यदि आप इसे बदलना चाहते हैं या गलती करना चाहते हैं, तो स्रोत निर्देशिका को हटा दें और अपस्ट्रीम टैरबॉल को अनवरोधित करें। फिर आप स्रोत निर्देशिका में माइग्रेट कर सकते हैं और पुनः प्रयास करें। चल रहा है dh_make -e दो चीजें करता है: नमस्ते कार्यक्रम बहुत जटिल नहीं है, और जैसा कि हमने "स्क्रैच से पैकेजिंग" नामक अनुभाग में देखा है, पैकेजिंग को मूलभूत फ़ाइलों की तुलना में बहुत अधिक आवश्यकता नहीं है। इसलिए, हम इसे हटा दें .ex फाइलें: के लिये नमस्ते, आप भी नहीं करेंगे * लाइसेंस * उबंटू पैकेजिंग गाइड इंडेक्स जरुरत README.Debian (विशिष्ट डेबियन मुद्दों के लिए README फ़ाइल, प्रोग्राम की रीडमी नहीं), dirs (द्वारा इस्तेमाल किया dh_installdirs आवश्यक निर्देशिका बनाने के लिए) डॉक्स (द्वारा इस्तेमाल किया dh_installdocs प्रोग्राम प्रलेखन स्थापित करने के लिए), या जानकारी (द्वारा इस्तेमाल किया dh_installinfo जानकारी फ़ाइल स्थापित करने के लिए) में फाइलें डेबियन निर्देशिका। इन फ़ाइलों पर अधिक जानकारी के लिए, "dh_make उदाहरण फाइल" नामक अनुभाग देखें। इस बिंदु पर, आपको केवल होना चाहिए बदलाव का, compat, नियंत्रण, कॉपीराइट, तथा नियम में फाइलें डेबियन निर्देशिका। "स्क्रैच से पैकेजिंग" नामक अनुभाग से, एकमात्र फाइल जो नई है compat, जो एक फाइल है जिसमें शामिल है debhelper संस्करण (इस मामले में 4) जिसका उपयोग किया जाता है। आपको समायोजित करने की आवश्यकता होगी बदलाव काइस मामले में थोड़ा सा प्रतिबिंबित करने के लिए कि इस पैकेज का नाम है हैलो-debhelper बस के बजाय नमस्ते: का उपयोग करके debhelper, केवल उन्हीं चीजों को बदलने की जरूरत है नियंत्रण नाम हैं (प्रतिस्थापन नमस्ते के लिये हैलो-debhelper) और जोड़ना डेबेलर (> = 4.0.0) को बिल्ड-निर्भर करता है स्रोत पैकेज के लिए क्षेत्र। उबंटू पैकेज के लिए हैलो-debhelper की तरह लगता है: हम कॉपी कर सकते हैं कॉपीराइट फ़ाइल और postinst तथा prerm उबंटू से लिपियों हैलो-debhelper पैकेज, क्योंकि वे "स्क्रैच से पैकेजिंग" नामक अनुभाग के बाद से नहीं बदला है। हम भी कॉपी करेंगे नियम फ़ाइल ताकि हम इसका निरीक्षण कर सकें। आखिरी फाइल जिसे हमें देखने की जरूरत है नियम, जहां की शक्ति debhelper लिपियों को देखा जा सकता है। debhelper का संस्करण नियम कुछ नियम छोटे हैं ("नियम" नामक खंड से संस्करण में 72 लाइनों के विपरीत 54 लाइनें)। debhelper संस्करण इस तरह दिखता है: स्पर्श बाइनरी-इंडेप बनाएं: इंस्टॉल करें # इस पैकेज द्वारा जेनरेट की गई कोई आर्किटेक्चर-स्वतंत्र फ़ाइलें अपलोड नहीं की गई हैं। यदि कोई था तो वे # यहां होंगे। बाइनरी-आर्क: dh_testdir -a dh_testroot -a dh_installdocs-a NEWS dh_installchangelogs -a चेंजलॉग dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a बाइनरी: बाइनरी-इंडिप बाइनरी- आर्क। PHONY: बाइनरी बाइनरी-आर्क बाइनरी-इंडिप क्लीन चेकरूट ध्यान दें कि यदि आप सही निर्देशिका में हैं तो परीक्षण जैसे कार्य (dh_testdir), सुनिश्चित करें कि आप रूट विशेषाधिकारों के साथ पैकेज बना रहे हैं (dh_testroot), दस्तावेज़ीकरण स्थापित करना (dh_installdocs तथा dh_installchangelogs), और निर्माण के बाद सफाई (dh_clean) स्वचालित रूप से संभाला जाता है। कई पैकेज से अधिक जटिल हैं नमस्ते है नियम फाइलें बड़ी नहीं हैं क्योंकि debhelper स्क्रिप्ट अधिकांश कार्यों को संभालती है। की पूरी सूची के लिए debhelper स्क्रिप्ट, कृपया "सूची" नामक अनुभाग देखें debhelper स्क्रिप्ट "। वे भी अपने संबंधित में अच्छी तरह से प्रलेखित हैं आदमी पृष्ठों की है। यह उपरोक्त में उपयोग की जाने वाली प्रत्येक सहायक स्क्रिप्ट के लिए मैन पेज को पढ़ने के लिए एक उपयोगी अभ्यास है (वे अच्छी तरह से लिखे गए हैं और लंबे समय तक नहीं हैं) नियम फ़ाइल।




