2015-06-12 11 views
14

मुझे बिटबेक व्यंजनों को समझने में परेशानी हो रही है। (मेरे पास कुछ खराब लिखे गए हैं जिन्हें मुझे संशोधित करने की आवश्यकता है, मैं आमतौर पर पूरे तंत्र को पढ़ और समझता हूं लेकिन दुख की बात है कि मैं एक तंग कार्यक्रम पर हूं)। क्या आप कृपया मुझे रुडेपेन्ड और डेपेंड के बीच अंतर को समझने में मदद कर सकते हैं। मैंने संदर्भ पढ़ा और मुझे पता है कि वे रनटाइम निर्भरता के लिए खड़े हैं और क्रमशः निर्भरता का निर्माण करते हैं, लेकिन बिटबेक रेसिपी में इसका क्या प्रभाव है? जहां तक ​​मैं समझता हूं, यदि कोई पैकेज ए किसी अन्य बी पर निर्भर करता है, तो बी को बनाया जाना चाहिए और ए को बनाने के लिए सक्षम होना चाहिए। बिटबैक रनटाइम से संबंधित नहीं है, यह केवल पैकेजों के निर्माण और तैनाती के लिए है। तो अंतर क्या है?बिटकबेक रनटाइम बनाम बिल्ड निर्भरता

उत्तर

22

आप कहते हैं के रूप में, bitbake निर्माण और पैकेज नियोजन के साथ संबंध है, और यह करने की जरूरत है सभी संकुल कि लक्ष्य सिस्टम पर क्रम निर्भरता को पूरा करने के लिए आवश्यक हैं की तैनाती।

अपने नुस्खा कहते हैं कि लक्ष्य टी लक्ष्य पी, कि bitbake कि यह टी से पहले पी निर्माण करना चाहिए बताता है पर DEPENDS, क्योंकि टी नहीं किया जा सकता बनाया बिना पी

अपने नुस्खा कहते हैं कि टीRDEPENDSपी, कि bitbake है कि यह लक्ष्य प्रणाली के लिए पी अगर यह टी तैनात परिनियोजन करना होगा बताता है, क्योंकि टी पर नहीं हो सकता हैपी के बिना इस्तेमाल किया गया।

उदाहरण के लिए, आप सी संकलक के बिना tar नहीं बना सकते हैं, लेकिन आपको tar का उपयोग करने के लिए सी कंपाइलर की आवश्यकता नहीं है। आप सी संकलक को तैनात किए बिना tar तैनात कर सकते हैं। तो यह DEPEND है।

दूसरी तरफ, आप रनटाइम सी लाइब्रेरी के बिना tar का उपयोग नहीं कर सकते। यदि tar तैनात किया गया है, तो रनटाइम सी लाइब्रेरी को भी तैनात किया जाना चाहिए। तो यह RDEPEND है।

bitake नियमवाद हैं: टी रों do_populate_sysroot कार्य के do_configure काम पर पी निर्भर करने के लिए किया जाता है '

  • तो टीDEPENDS पर पी तो।

  • तो टीRDEPENDSपी तो टी रों do_package_write कार्य के do_build काम पर पी निर्भर करने के लिए बनाया आइए 'पर।

+0

धन्यवाद श्रीमान! यह अब मुझे स्पष्ट है। आपके द्वारा उल्लिखित तकनीकों के बारे में: क्या एक निर्धारित आदेश है कि एक नुस्खा उन कार्यों को कैसे कॉल करता है? क्या वे कार्य हैं (do_configure, do_build आदि) बिटबेक मानक का हिस्सा हैं? – lulijeta

+1

हां, निश्चित रूप से एक सही क्रम है जो सही क्रम है - यद्यपि यदि आप चाहते हैं कि किसी भी पूर्व परिभाषित व्यवहार को ओवरराइड या विस्तारित करना संभव है, या अपने कार्यों को परिभाषित करना और उन्हें बीच में डालना पूर्वनिर्धारित देखें [बिटबैक हैलो वर्ल्ड से एक छवि तक] (http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/) –

+0

उत्कृष्ट उत्तर –

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