पैकेज बनाते समय dpkg-source स्रोत समस्या का समाधान कैसे करें?


16

किसी को यहाँ एक डेबियन / Ubuntu पैकेज बनाने का कुछ अनुभव था? मैं लैम्पस पैकेज ( http://packages.ubuntu.com/quantal/lammps) को वापस लाने का प्रयास कर रहा हूं Ubuntu 12.10 से Ubuntu 12.10 (क्वांटल) से ) को वापस

मुझे केवल अनौपचारिक रूप से इसकी आवश्यकता है - IaaS प्लेटफ़ॉर्म पर तैनाती के लिए कस्टम वर्चुअल मशीन चित्र बनाते समय सुविधा के लिए केवल एक .deb पैकेज की आवश्यकता है।

Https://wiki.ubuntu.com/PackagingGuide पर उबंटू पैकेजिंग गाइड के बाद , मैं सफलतापूर्वक निर्माण कर सकता हूं, सिवाय जब मैं डिब्यूल्ड कमांड का उपयोग करके पुनर्निर्माण करने का प्रयास करता हूं , तो मुझे आमतौर पर यह त्रुटि मिलती है:

 dpkg-source: error: aborting due to unexpected upstream changes, see
 /tmp/lammps_0~20120615.gite442279-1.diff.aie32n dpkg-source: info: you
 can integrate the local changes with dpkg-source --commit
 dpkg-buildpackage: error: dpkg-source --include-binaries -i -b
 lammps-0~20120615.gite442279 gave error exit status 2

Src डायरेक्टरी में 'make-clean-all' रन करना अभी भी समस्या का समाधान नहीं है। क्या निर्माण प्रक्रिया के दौरान उत्पन्न सभी फ़ाइलों को पूरी तरह से साफ करने का कोई तरीका है, या स्रोत फ़ाइलों में किसी भी अंतर को अनदेखा करने के लिए डिब्यूल्ड से पूछना है?

जवाबों:


6

इसका मतलब है कि आपने अनपैक अपस्ट्रीम स्रोत में परिवर्तन लागू किया है जो debian/patches/निर्देशिका में पैच का हिस्सा नहीं हैं , या seriesयदि वे हैं तो फ़ाइल में सूचीबद्ध हैं; और / या रजाई के पैच के आवेदन की स्थिति में कुछ असंगतता है।

/ Tmp में उल्लिखित फ़ाइल को देखने से आपको प्रश्न में परिवर्तन दिखाई देगा।


त्वरित उत्तर के लिए आपका बहुत-बहुत धन्यवाद! क्या / tmp / * diff * फ़ाइल में सभी परिवर्तन रिकॉर्ड को पूर्ववत करने के बजाय 'मेक' द्वारा किए गए परिवर्तनों को पुनर्स्थापित करने का एक त्वरित तरीका है?
हंक्स्यू

29

केवल द्विआधारी के निर्माण से डेबियन नौकरशाही से बचें: dpkg-buildpackage -b


1
यदि आप डेबियन पर अपलोड करने का इरादा रखते हैं तो यह इतना उपयोगी नहीं है।
jeremiah

4
@jeremiah लेकिन बहुत उपयोगी है अगर आप व्यक्तिगत उपयोग के लिए एक डेबियन पैकेज tweaking कर रहे हैं।
व्याट8740

10

यदि आप रजाई का उपयोग नहीं करना चाहते हैं तो प्रारूप को डेबियन / स्रोत / प्रारूप में 3.0 (रजाई) से 3.0 (मूल) में बदलें। यह मेरे लिए वैसे भी समस्या हल हो गई।


इस! रजाई असंभव है।
Jay _silly_evarlast_ Wren

1
मैंने भोलेपन से इस टिप्पणी का अनुसरण किया। शुद्ध प्रभाव यह होगा कि आपका निर्माण अब डेबियन / पैच में पैच का उपयोग नहीं करेगा। क्या आप यह समझाकर जवाब पर विस्तार कर सकते हैं कि आप वास्तव में पैच लगाने के लिए डेबियन / नियमों में आवश्यक जादू कैसे जोड़ते हैं?
थॉमस वेंडर स्टिचले


1

मैंने इस समस्या को तब देखा जब रजाई गलत तरीके से सोचा था कि मैंने अपनी काम करने वाली कॉपी में पैच लागू कर दिए हैं (आप इसकी वर्तमान स्थिति को .pc फ़ोल्डर में पा सकते हैं)। उस मामले में फिक्स के साथ सभी पैच पॉप करने के लिए रजाई मजबूर करना था quilt pop -a -f


0

यह तब हो सकता है यदि आपने सभी डेबियन "कागजी कार्रवाई" की, लेकिन पिछले प्रयासों से सुस्त कलाकृतियों का हुआ। विशेष रूप से, "config.sub", "config.guess" और "Makefile" में स्वतः-जनरेट किए गए परिवर्तन।

आप इसे डेबियन / स्रोत / विकल्प में डाल सकते हैं:

# Don't store changes on autogenerated files
extend-diff-ignore = "(^|/)(config\.sub|config\.guess|Makefile)$"

रेफरी: https://raphaelhertzog.com/2011/01/28/3-ways-to-not-clutter-your-debian-source-package-with-autogenerated-files/

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.