यह एक ऐसी जगह है जहाँ मैंने हमेशा प्रलेखन की कमी पाई है। मैंने बहुत कुछ सीखा केवल यह कैसे काम करता है यह देखकर कि यह अन्य पैकेजों में कैसे किया जाता है। जैसा कि डेबियन पैकेजिंग में अधिकांश चीजें हैं, ऐसा करने के कुछ तरीके हैं। मुझे लगता है कि debian/package.install
फ़ाइलों का उपयोग करने का सबसे सरल तरीका है । यहाँ एक पैकेज का उदाहरण दिया गया है जिस पर मैंने काम किया है, कल्पना (bzr शाखा) ।
सबसे पहले, हमें पैकेज बनाने की आवश्यकता है debian/control
। अभी तीन श्लोक हैं। स्रोत पैकेज के लिए एक और प्रत्येक बाइनरी पैकेज के लिए एक। ध्यान दें कि फू-डेटा पैकेज होना चाहिए Architecture: all
। यह भी ध्यान दें कि कल्पना पर निर्भर करता है imagination-common (= ${source:Version})
।
अगला, हम एक debian/imagination.install
फ़ाइल बनाते हैं। इसमें विशिष्ट फाइलें या पथ शामिल हैं जिन्हें हम कल्पना पैकेज में समाप्त करना चाहते हैं। इस पैकेज के लिए हम सभी आर्किटेक्चर पर निर्भर फाइलें चाहते हैं। डेस्कटॉप फ़ाइल को शामिल किया गया है क्योंकि इसे बाइनरी के साथ कहना पड़ता है जिसे वह अपनी Exec:
लाइन में कहता है ।
usr/bin/
usr/lib/
/usr/share/applications/imagination.desktop
हमें एक debian/imagination-common.install
फ़ाइल बनाने की आवश्यकता है । इसमें आर्किटेक्चर की सभी स्वतंत्र फाइलें, चित्र, अनुवाद, डॉक्स और इसी तरह की सभी फाइलें होंगी।
/usr/share/doc/
/usr/share/icons/
/usr/share/imagination/
/usr/share/locale/
man dh_install
वर्णन करता है कि वास्तव में यहाँ क्या हो रहा है:
शायद आपके पास एक बड़ा पैकेज है जो कई बाइनरी पैकेज बनाता है। आप अपस्ट्रीम मेकफाइल का उपयोग इसे डेबियन / tmp में स्थापित करने के लिए कर सकते हैं, और फिर वहां से उचित संकुल निर्माण निर्देशिकाओं में निर्देशिका और फ़ाइलों की प्रतिलिपि बनाने के लिए dh_install का उपयोग कर सकते हैं।
"उचित पैकेज बिल्ड निर्देशिकाओं" से इसका क्या मतलब है कि निर्माण प्रक्रिया के अंत तक, परिणाम में जो कुछ भी होगा, वह सभी में foo.deb
मिल जाएगा src/debian/foo
। जो फाइलें समाप्त foo-data.deb
हो जाएंगी, वे मिल जाएंगे src/debian/foo-data
। जैसा debian/rules
कि अनिवार्य रूप से सिर्फ एक मेकफिल है, आप समान परिणाम प्राप्त करने के अन्य तरीकों की कल्पना करना शुरू कर सकते हैं।