BuildRoot की सामग्री कैसे रखें?


11

कदमों में पैकेज का निर्माण करते समय अच्छे पुराने आरपीएम ने केवल बिल्डरूट की सामग्री को रखा - यह मेरे लिए बहुत उपयोगी था, क्योंकि अगर कुछ सॉफ़्टवेयर का निर्माण करना मुश्किल था, तो मैं बिल्डरूट की जांच कर सकता था यदि सब कुछ ठीक है।

अब, सभी "बेहतर" आरपीएम के साथ - BuildRoot की सामग्री स्वचालित रूप से हटा दी जाती है, इसलिए मैं वास्तव में इसमें डुबकी नहीं लगा सकता (कदम स्थापित करना उतना लंबा नहीं है)।

एक हैक मुझे पता है कि आरपीएम कल्पना के लिए इंस्टॉल स्टेज के अंत में किसी प्रकार की नींद जोड़ना होगा। लेकिन यह बदसूरत है।

तो - प्रश्न - बिल्डआरूट की सामग्री को अच्छे तरीके से कैसे रखें - दूसरे शब्दों में, एक बार और अच्छे के लिए ऑटो डिलीट को कैसे अक्षम करें?

जवाबों:


6

क्या आपने rpmbuild -biपरीक्षण में उपयोग करने की कोशिश की है , ताकि आपको %installचरण के माध्यम से निर्मित सब कुछ मिल जाए ? आपको यह दिखाना चाहिए कि बाद में बिना सफाई के क्या चल रहा है।

फिर जब आप संतुष्ट हों, तो सामान्य रूप से निर्माण करें।


धन्यवाद। यह कम से कम घुसपैठ दृष्टिकोण है और यह काम करता है।
ग्रीनल्डमैन

7

बस जोड़ दो

    %define __spec_install_pre /bin/true

.specफ़ाइल के शीर्ष पर


1
यह मेरे लिए RHEL / CentOS 7 में काम करता है।
जैसे

यह फेडोरा 27 में काम करता है।
मेएट वेरडल

3

%cleanयुक्ति फ़ाइल में डमी जोड़ने का प्रयास करें । कुछ इस तरह:

%clean
echo NOOP

काम नहीं करता है, क्योंकि BUILDROOT% इंस्टॉल की शुरुआत में हटा दिया जाता है - यह% इंस्टॉल के आरंभ का हिस्सा है।
18 अक्टूबर को smgg

यदि लक्ष्य निर्माण के बाद बिल्डरो को जांच के लिए रखना है, तो यह काम करता है।
एड्रैग

0

यह है कष्टप्रद, मैं सहमत हूँ। यदि आपको अपने आरपीएम को संशोधित करने में कोई आपत्ति नहीं है, तो मैं सुझाव देता हूं कि आरपीएम स्रोत में जाएं और यह पता लगाएं कि बिल्डरूट को हटा दिया गया है, उस लाइन को अक्षम करें (यह शायद केवल एक ही पंक्ति है), और पुनरावृत्ति करें। दूसरी चीज जो मैं सुझाऊंगा वह पुराने व्यवहार को बहाल करने के लिए एक इच्छा सूची बग दर्ज करना है, जो मुझे लगता है कि विन्यास योग्य था।

प्रश्न: आरपीएम के किस संस्करण में यह व्यवहार बदल गया?


मुझे संस्करण के बारे में पता नहीं है, लेकिन आधिकारिक आरपीएम में बदलाव कठिन होगा: lists.rpm.org/pipermail/rpm-list/2008-Deidential/000040.html स्पष्टीकरण से पता चलता है कि आइडियलॉजी बहुत बड़ी भूमिका निभाती है। पैचिंग आरपीएम संभव होगा, हालांकि, संकेत के लिए धन्यवाद। शायद मैं भी स्वत: BuildRoot बनाने का प्रबंधन करेगा।
ग्रीनल्डमैन

@ मैकियास: मैंने आरबीएम स्रोतों को डेबियन (4.9.0-2) पर देखा, लेकिन कुछ भी उपयोगी नहीं पाया। हालांकि, भले ही डेवलपर्स इसे बदलने के लिए तैयार नहीं हैं, मुझे उम्मीद है कि वे आपको यह बताने के लिए तैयार हैं कि यह आपके लिए कैसे करना है।
फहीम मीठा

सौभाग्य से -बी स्विच इस मामले के लिए काम करता है , इसलिए मैं पैचिंग को छोड़ देता हूं अगर मैं कर सकता हूं - regressions के साथ सॉफ़्टवेयर सूची वैसे भी लंबी हो रही है।
ग्रीनल्डमैन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.