मैंने उन चीजों के लिए .deb संकुल बनाने का एक सरल तरीका खोजा, जिसमें संकलन करने के लिए कोई स्रोत कोड नहीं है (कॉन्फ़िगरेशन, शेलस्क्रिप्ट, मालिकाना सॉफ्टवेयर)। यह काफी समस्या थी क्योंकि अधिकांश पैकेज ट्यूटोरियल मान रहे हैं कि आपके पास एक स्रोत टारबॉल है जिसे आप संकलित करना चाहते हैं। तब मुझे यह छोटा ट्यूटोरियल (जर्मन) मिला।
बाद में, मैंने एक साधारण रिपॉजिटरी बनाने के लिए एक छोटी स्क्रिप्ट बनाई। ऐशे ही:
rm /export/my-repository/repository/*
cd /home/tdeutsch/deb-pkg
for i in $(ls | grep my); do dpkg -b ./$i /export/my-repository/repository/$i.deb; done
cd /export/avanon-repository/repository
gpg --armor --export "My Package Signing Key" > PublicKey
apt-ftparchive packages ./ | gzip > Packages.gz
apt-ftparchive packages ./ > Packages
apt-ftparchive release ./ > /tmp/Release.tmp; mv /tmp/Release.tmp Release
gpg --output Release.gpg -ba Release
मैंने apt कीरिंग की कुंजी जोड़ी और स्रोत को इस तरह शामिल किया:
deb http://my.default.com/my-repository/ ./
ऐसा लगता है कि रेपो स्वयं ही अच्छी तरह से काम कर रहा है (मैं कुछ समस्याओं में भाग गया, उन्हें ठीक करने के लिए मुझे पैकेजों को दो बार जोड़ने और रिलीज़ फ़ाइल के लिए अस्थायी फ़ाइल समाधान बनाने की आवश्यकता थी)। मैंने कुछ डाउनलोड किए गए .deb को भी रेपो में रखा, ऐसा लगता है कि वे भी बिना किसी समस्या के काम कर रहे हैं। लेकिन मेरे स्वयं के बनाए गए पैकेज नहीं थे ... मैं ऐसा नहीं कर सकता sudo apt-get update
, वे इस तरह से त्रुटियां पैदा कर रहे हैं:
E: Problem parsing dependency Depends
E: Error occurred while processing my-printerconf (NewVersion2)
E: Problem with MergeList /var/lib/apt/lists/my.default.com_my-repository_._Packages
E: The package lists or status file could not be parsed or opened.
क्या किसी ने सोचा है कि मैंने क्या गलत किया है?
अद्यतन 2012-03-06: बस एक अन्य व्यक्ति जो DEBs बनाने के लिए एक आसान तरीका के लिए खोज रहा है के लिए एक संकेत: FPM पर एक नज़र डालें ।