2017-12-04 20 views
5

पर निर्भर करता है यदि मेरे पास फ़ाइल Build-Depends और Depends प्रविष्टियों के साथ है।डेबियन पैकेज के बिल्ड-डिपेंड को कैसे इंस्टॉल करें और

मैं निर्भरताओं के दोनों सेट कैसे स्थापित करूं?

फिलहाल मैं एक स्टब पैकेज बनाने के लिए निम्न आदेश का उपयोग कर रहा हूं जो Build-Depends पर निर्भर करता है लेकिन Depends पर नहीं।

$ mk-build-deps --build-dep \ 
&& dpkg -i *.deb \ 
|| apt-get update && apt-get install --fix-broken --yes \ 

उत्तर

3

इस मान लिया जाये कि अपने उपयुक्त खजाने में एक मानक पैकेज है, तो आप बस चलाने के लिए

apt-get build-dep PACKAGE [PACKAGE…] 

सामान्यतया में सक्षम होना चाहिए, सबसे अच्छा समाधान एक ही निर्भरता के साथ एक पैकेज (मिल रहा है बेहतर अभी तक, एक ही पैकेज के एक समान अभी तक अलग संस्करण) और बस build-dep इसे। यह मेरे अनुभव में 99% इन मुद्दों को हल करता है।


मैं mk-build-deps पता नहीं है, लेकिन आप को देखने के लिए क्या निर्भरता बाहर कहा जाता है एक debian/control फ़ाइल में इस चला सकते हैं:

echo $(sed -re '/^(Build-)?Depends:/,/^[^ ]/!d;//d' \ 
      -e 's/^ //;s/[^a-z0-9-].*$//;/^$/d' PACKAGE/debian/control) 

(यह बनाएँ- के लिए डेबियन नियंत्रण फ़ाइल की जांच करता है लाइनों पर निर्भर करता है और निर्भर करता है और किसी भी चर को छोड़कर, जो सूचीबद्ध है, को सूचीबद्ध करता है (जो मुझे लगता है कि फाइल से अन्य हिट में पहले से ही शामिल है)। इसमें बहुत से विलोपन भी शामिल हैं (//d पिछली क्वेरी के अंत के लिए मिलान मानदंड हटा देता है , /^$/d पिछली प्रतिस्थापन से खाली लाइनों को हटा देता है जाहिर है, जो संस्करणों, वैकल्पिक आइटम, चर, और अल्पविराम के निकाल देता है।)

apt-get install साथ echo बदलें यदि आप चाहें, लेकिन आप आइटम आप अनुकूलित और/या मैन्युअल रूप से पहले स्थापित करने के लिए देख रहे हैं बाहर छँटाई करने के लिए आवश्यकता हो सकती है।

उसके बाद, आपके पास dpkg -i *.deb के साथ एक आसान समय होना चाहिए। अगर आप अटक गए हैं तो किसी भी समय apt-get install --fix-broken आज़माएं।

+0

मुझे लगता है कि मैं 'डेबियन/कंट्रोल' फ़ाइल पर 'apt-get build-dep' का उपयोग नहीं कर सकता? पैकेज पहले से मौजूद होना होगा? –

+0

'apt-get build-dep Package' आपके किसी भी रिपॉजिटरीज़ में स्थानीय रूप से नहीं, पैकेज के नवीनतम (अस्थिर समेत) संस्करण के लिए बिल्ड निर्भरताओं को स्थापित करेगा। इसे पैकेज स्थापित करने की आवश्यकता नहीं है। यदि आपको 'डेबियन/कंट्रोल' फ़ाइल को पार्स करने की आवश्यकता है क्योंकि आपको अपने रिपॉजिटरीज़ में एक समान पैकेज नहीं मिल रहा है, तो मेरे उत्तर के दूसरे भाग का उपयोग करें। –

संबंधित मुद्दे