2013-08-05 6 views
6

मैं "bitbake" करने के तरीके में अभी शुरुआत कर रहा हूँ और मैं आश्चर्य क्या निम्नलिखित स्थितियों में होता है, जब कई हजार संकुल के साथ एक परियोजना का निर्माण:बिटबैक निर्भरता स्रोत कोड के लिए कैसे काम करता है?

  1. आप पूर्ण छवि (सभी संकुल) bitbake और यह सफलतापूर्वक खत्म होता है।
  2. आप पैकेज में बदलाव करते हैं - कुछ स्रोत कोड (चलिए इसे पैकेज "एक्स" कहते हैं)
  3. आप फिर से पूर्ण छवि को बिटकते हैं।

चरण 3 में "एक्स" पुनर्निर्मित किया गया है? क्या "एक्स" के पुनर्निर्माण के लिए पीवी और पीआर बढ़ाने की आवश्यकता है? "वाई" पैकेज के साथ क्या होता है जो "एक्स" पर निर्भर करता है? यदि एक्स का पुनर्निर्माण भी "वाई" पुनर्निर्मित है?

मुझे पता है कि यदि आप एक .bb फ़ाइल को संशोधित करते हैं तो निर्भर पैकेज नहीं बनाए जाते हैं क्योंकि टाइमस्टैम्प चेक किया जाता है। क्या यह स्रोत कोड परिवर्तन के साथ एक ही तंत्र है? (यह एक क्यूटी परियोजना बीटीडब्ल्यू है, इसलिए अंत में बिटबेक qmake-> संकलन करने के लिए बनाता है)

मैं बिटबेक संस्करण 1.13.2 का उपयोग कर रहा हूं।

धन्यवाद

उत्तर

0

Bitbake एक और सिस्टम के निर्भर करता है उदाहरण के मेकअप के लिए संकलित करने के लिए,। अगर पैकेज को पुन: संकलित करने की आवश्यकता है तो यह पता लगाने की क्षमता है। इस तरह एक पैकेज recompiling के साथ बिटकबेक सौदों का तरीका है।

3

मुझे इसका उत्तर देने का प्रयास करें। उदाहरण के लिए आप पैकेज एक्स, वाई और जेड कहते हैं कि एक्स वाई पर निर्भर करता है और आप "bitbake डिफ़ॉल्ट छवि नाम" कर रहे हैं Y पैकेज जेड

  1. पर निर्भर करता है और आप स्क्रैच के रूप में निर्माण कर रहे हैं (की सुविधा देता है है जिसका अर्थ है कि डिफ़ॉल्ट-छवि-नाम में आवश्यक पैकेज में से कोई भी पहले बनाया गया है)। तो बिटबेक अब एक निर्भरता पेड़ बनाते हैं (आप "बिटबेक-जी PACKAGE_NAME" द्वारा निर्भरता पेड़ देख सकते हैं।)। पहला पैकेज जेड बनाया जाएगा और फिर वाई और फिर आखिरकार एक्स।

  2. अब कहें कि आपने एक्स स्रोत कोड में कुछ बदलाव किए हैं और आप एक्स रेसिपी फ़ाइल में पीआर संख्या बढ़ाने के बिना "बिटबेक एक्स" करते हैं (x.bb), बिटबेक फिर से परिवर्तनों को संकलित नहीं करता है। मेरा मतलब है कि बिटबेक सिर्फ पैकेज संस्करण और संशोधन (पीवी और पीआर) की जांच करता है। यहां हमारे पास एक ही पैकेज संस्करण (पीवी) और एक ही पैकेज संशोधन (पीआर) है, इसलिए बिटबेक एक्स पैकेज को फिर से संकलित नहीं करता है।

कुछ संशोधन के बाद पैकेज एक्स संकलन करने के लिए, आप एक पैच के रूप में परिवर्तनों को लागू करने की जरूरत है। इसके लिए परिवर्तनों का एक पैच बनाते हैं (जैसे change.diff या change.patch), एक्स.बीबी फ़ाइल में प्रविष्टि जोड़ें (उदाहरण के लिए अन्य नुस्खा फ़ाइल देखें)। इसके बाद एक्स.बीबी में पीआर नंबर बढ़ाना

अब "बिटबेक एक्स" एक्स पैकेज को फिर से बनाया जाएगा।

  1. यहां जब हमने एक्स के पीआर को बढ़ाया है, तो केवल एक्स पैकेज बनाया गया है। यहां बिटबेक निर्भर पैकेज वाई और जेड की जांच करेगा जो पहले से ही बनाए गए हैं और एक ही पीआर संख्या रखते हैं, यह केवल पहले से निर्मित वाई और जेड पैकेज का उपयोग करेगा।

  2. यदि हमने वाई पैकेज का पुनर्निर्माण किया है (यदि आप पीआर नंबर को बढ़ाने के लिए नहीं चाहते हैं तो पैकेज पैकेज बिटबेक-सी क्लीन पैकेज_नाम को साफ कर सकते हैं), एक्स पैकेज डिफ़ॉल्ट रूप से फिर से नहीं बनाया जाएगा, यह वाई पर निर्भर करता है ।

इस सहायता की आशा करें।

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