Ubuntu प्याकेजिङ्ग गाइड

दस्तावेज

डिबेलरसँग प्याकेजिंग


[महत्त्वपूर्ण]

आवश्यकताहरू: सेक्शनका आवश्यकताहरू "प्याकेजिङ देखि स्क्रैच" प्लस डिबेलर र डीए-बनाइन्छ

एक प्याकेजरको रूपमा, तपाईंले भर्खरै सेकेण्डबाट प्याकेजहरू सिर्जना गर्नुहुनेछ जुन हामीले अघिल्लो खण्डमा गरेका छौं। जस्तै तपाईं कल्पना गर्न सक्नुहुनेछ, उदाहरणका लागि नियम फाईलमा धेरै कार्यहरू र जानकारी, प्याकेजहरूको लागि सामान्य हो। प्याकेजिङ सजिलो र अधिक प्रभावकारी बनाउन, तपाईं यी कार्यहरू मद्दत गर्न डिबेलर प्रयोग गर्न सक्नुहुन्छ। डेबेलर पर्ल लिपिहरूको सेट हो ( dh_ सँग पूर्वनिर्धारित ) जसले प्याकेज-निर्माणको प्रक्रियालाई स्वचालित बनाउँछ। यी लिपिहरूसँग डेबियन प्याकेज निर्माण गर्नु एकदम सरल हुन्छ।

यस उदाहरणमा, हामी फेरि GNU हैलो प्याकेज बनाउनेछौं , तर यो समय हामी हाम्रो काम Ubuntu हेलो-डेबेलर प्याकेजमा तुलना गरिनेछौं । फेरि, एउटा डाइरेक्टरी सिर्जना गर्नुहोस् जहाँ तपाईं काम गर्नुहुनेछ:

mkdir ~ / हेलो-डिबेलर सीडी ~ / होलो-डिबेलरविजेट http://ftp.gnu.org/gnu/hello/hello-2.1.1.tar.gz mkdir ubuntu cd ubuntu

त्यसपछि, Ubuntu स्रोत प्याकेज पाउनुहोस्:

एक-मिलन स्रोत हेल-डेबेलर सीडी ..

अघिल्लो उदाहरणको रूपमा, हामी गर्न आवश्यक पर्ने पहिलो कुरा मूल (माथिल्लो चरण) टर्लब अनलक छ।

tar -xzvf हेलो-2.1.1.tar.gz

माथिल्लो चरण टार्बल प्रतिलिपि गर्न को लागी hello_2.1.1.orig.tar.gz जस्तै हामीले अघिल्लो उदाहरणमा गरेका थियौं, हामी दुबैको लागी हाम्रो लागि काम गर्छौं। तपाईंले गर्नु पर्छ केवल एक चीज स्रोत फोल्डर पुन: नामाकरण गर्दछ त्यसैले यो - को रूप मा छ जहां प्याकेजजेगनम लोकेकेस हो। यस अवस्थामा, टेलब्याकलाई बेवास्ता गर्न सँधै एक स्रोत डाइरेक्टरी नामकरण गरिएको छ त्यसैले हामी यसमा सार्न सक्छौं:

सीडी हेलो 2.1.1

स्रोतको सुरुवात "debianization" सिर्जना गर्न हामी dh_make प्रयोग गर्नेछौं

dh_make -e your.maintainer@address -f ../hello-2.1.1.tar.gz

dh_make त्यसपछि तपाइँले प्रश्नहरूको एक श्रृंखला सोध्नुहुनेछ:

प्याकेजको प्रकार: एकल बाइनरी, बहुविध बाइनरी, पुस्तकालय, कर्नेल मोडल वा सीडीबीएस? [s / m / l / k / b] s
संरक्षक नाम: कप्तान प्याकेजर इमेल-ठेगाना: packager@coolness.com मिति: Thu, 6 Apr 2006 10:07:19 -0700 प्याकेज नाम: हेलो संस्करण: 2.1.1 इजाजत पत्र: खाली प्याकेजको प्रकार: एकल हिट पुष्टि गर्नुहोस् : प्रविष्ट गर्नुहोस्


[सावधानी]

केवल dh_make - एक पटक मात्र चलाउनुहोस्। यदि तपाइँ यसलाई पहिलोपटक गरेपछि फेरि यसलाई चलाउनुहुन्छ, यसले ठीकसँग काम गर्दैन। यदि तपाइँ यसलाई परिवर्तन गर्न वा गल्ती गर्नुभयो भने, स्रोत डाइरेक्टरी हटाउनुहोस् र अपवार्ड स्टर्ब अफ्रेशलाई नछोड्नुहोस्। त्यसपछि तपाई स्रोत डाइरेक्टरीमा माइग्रेट गर्न सक्नुहुन्छ र पुन: प्रयास गर्न सक्नुहुन्छ।

Dh_make दौड --हा दुई चीज गर्दछ:

होलो कार्यक्रम धेरै जटिल छैन, र हामीले "प्याकेजिङ देखि स्क्रैच" नामक सेक्शनमा देखेका छौं, यसलाई प्याकेजिङ आधारभूत फाईलहरूको भन्दा बढी आवश्यक छैन। त्यसकारण, हामी .ex फाइलहरू हटाउन अनुमति दिन्छौं :

cd debian rm * .ex * .EX

नमस्कारका लागि , तपाईं पनि सक्नुहुन्न

* इजाजत पत्र

* Ubuntu प्याकेजिङ्ग गाइड अनुक्रमणिका

( README.Debian (विशेष डिबियन समस्याहरूको लागि फाइल तयार गर्नुहोस्, कार्यक्रमको README होइन), dirs (आवश्यक डाइरेक्टरीहरू सिर्जना गर्न प्रयोग गरिएको डाइइस्टलिल्डरहरू ), कागजात (प्रोग्राम कागजात स्थापना गर्न dh_installdocs द्वारा प्रयोग गरिएको), वा जानकारी ( जानकारी स्थापना गर्न dh_installinfo द्वारा प्रयोग गरिएको फाइल) फाइलहरु डिबियन डाइरेक्टरीमा। यी फाइलहरूमा थप जानकारीको लागि, "dh_make उदाहरण फाईलहरू" नामक सेक्शन हेर्नुहोस्।

यस बिन्दुमा, तपाइँसँग मात्र changelog , compat , नियन्त्रण , प्रतिलिपि अधिकार , र डाइन्गाइरेक्टरीमा फाइलहरू नियमहरू हुनुपर्छ। "प्याकेजिङ्ग देखि स्क्रैच" नामक सेक्शनबाट , नयाँ हो कि एकमात्र फाइल Compat हो , जुन फाइल हो जसले डिबेलर संस्करण (यस अवस्था 4 मा) प्रयोग गर्दछ।

तपाइँले यस प्याकेजलाई हेलो-डेबिलरको नामले हेलो भन्दा बरु नामकरण गर्न प्रतिबिम्बित गर्न यो बिषयमा थोडाई परिवर्तन गर्न आवश्यक छ:

हेलो-डेबेलर (2.1.1-1) डैपर; तत्काल = कम * प्रारम्भिक रिलीज - कप्तान प्याकेजिङ्ग Thu, 6 Apr 2006 10:07:19 -0700

डिबेलर प्रयोग गरेर, हामीले नियन्त्रणमा बदल्न मात्र चीजहरू नाम हो ( हेलो-डेभील्डरका लागि नमस्ते प्रतिस्थापन) र डेबाइल (> = 4.0.0) लाई स्रोत - प्याकेजको लागि निर्माण-निर्भर क्षेत्रमा थप्नुहोस्हेलो डेबेलरको लागि यूबन्च प्याकेज यस्तो देखिन्छ:

हामी प्रतिलिपि अधिकार फाइल र Ubuntu हेलो-डेबेलर प्याकेजबाट postinstprerm लिपिहरू प्रतिलिपि गर्न सक्दछौं , किनकि तिनीहरू "प्याकेजिङ्ग देखि स्क्रैच" नामक सेक्शन पछि परिवर्तन भएन। हामी नियम फाइलहरू पनि प्रतिलिपि गर्नेछौं ताकि हामी यसको निरीक्षण गर्न सक्छौं।

सीपी ../../ubuntu/hello-debhelper-2.1.1/debian/copyright। सीपी ../../ubuntu/hello-debhelper-2.1.1/debian/postinst। सीपी ../../ubuntu/hello-debhelper-2.1.1/debian/prerm। सीपी ../../ubuntu/hello-debhelper-2.1.1/debian/rules।

अन्तिम फाइल हामीले हेर्नु पर्छ नियमहरू , जहाँ डेबेलर स्क्रिप्टहरूको शक्ति देख्न सकिन्छ। नियमहरु को डिबेलर संस्करण केहि सानो छ (54 लाइनहरु को रूप मा "नियम" भनिन्छ संस्करण देखि 72 लाइनहरु को विरोध को रूप मा)।

डिबेलर संस्करण जस्तै देखिन्छ:

#! / usr / bin / make -f package = hello-debhelper CC = gcc CFLAGS = -g-wall ifeq (, $ (findstring noopt, $ (DEB_BUILD_OPTIONS))) CFLAGS + = -O2 endif #export DH_VERBOSE = 1 clean : dh_testdir dh_clean rm -f निर्माण - $ (मेकई) स्थापना को लागि: dh_clean dh_installdirs $ (मक्का) उपसर्ग = $ (CURDIR) / debian / $ (package) / usr \ mandir = $ (CURDIR) / debian / build (प्याकेज) / usr / share / man \ infodir = $ (CURDIR) / debian / $ (package) / usr / share / info \ install build: ./configure-prefix = usr $ (MAKE) CC = "$ (CC) "CFLAGS =" $ (CFLAGS) "

निर्माण बायोरी-इनप टच गर्नुहोस्: स्थापना गर्नुहोस् # कुनै वास्तुकला-स्वतन्त्र फाइलहरू यो प्याकेजद्वारा # उत्पन्न गर्नको लागि होईन। यदि त्यहाँ थिए भने तिनीहरू यहाँ बनाइनेछन्। बाइनरी-आर्क: स्थापना गर्नुहोस् dh_testdir -a dh_testroot -a dh_installdocs -a समाचार dh_installchangelogs -a ChangeLog dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a बाइनरी: बाइनरी-इन्प बाइनरी- arch .PHONY: बाइनरी बाइनरी-आर्क बाइनरी-इन्फ साफ चेकरोट

ध्यान दिनुहोस् कि परीक्षणहरू जस्तै यदि तपाईँ सही डाइरेक्टरीमा हुनुहुन्छ ( dh_testdir ), निश्चित गर्नुहोस् कि तपाइँ प्याकेज विशेषाधिकार ( dh_testroot ) सँग कागजात निर्माण गर्दै हुनुहुन्छ, कागजातहरू ( dh_installdocsdh_installchangelogs ) स्थापना गर्दै, र निर्माण ( dh_clean ) निर्माण पछि स्वचालित रूपमा संभाला गरिन्छ। । हेलो भन्दा धेरै प्याकेजहरू धेरै जटिल छ नियमहरू फाइलहरू ठूलो होइन किनकि डिबेलर लिपिहरू प्रायः सबै कार्यहरू ह्यान्डल गर्छन्। डिबेलर लिपिहरूको पूर्ण सूचीको लागि, कृपया " डेबेलर स्क्रिप्टहरूको सूची" नामक सेक्शन हेर्नुहोस्। तिनीहरू पनि आफ्ना सम्बन्धित मानिसका पृष्ठहरूमा राम्रोसँग दस्तावेज छन्। यो माथिल्लो पाना फाइलमा प्रयोग गर्ने प्रत्येक सहायक लिपि को लागि मानव पृष्ठ को पढ्न को लागी एक उपयोगी व्यायाम हो (उनि राम्रो लेखिएको छ र लामो छैन)।