स्रोत निर्देशिका का उपयोग करके RPM का निर्माण करें, टारबॉल का नहीं


14

मेरे संगठन में, हम RPM का उपयोग करके अपने सभी सॉफ्टवेयरों को अपनी उत्पादन मशीनों पर तैनात करते हैं। हमारी निर्माण प्रक्रिया (जो स्वचालित है) में संस्करण नियंत्रण से स्रोत की जांच करना शामिल है, उस स्रोत निर्देशिका को टारगेट करना, फिर उस स्रोत तारबॉल का उपयोग करके rpmbuild चलाना। rpmbuild केवल उन टारबॉल का उपयोग करता है जो उन पर काम करने के लिए स्रोतों को खोलना है। तो, ऐसा लगता है कि पूरे टारिंग और अनटेयरिंग व्यवसाय निर्माण प्रक्रिया में एक अनावश्यक अतिरिक्त कदम है। क्या उन अतिरिक्त चरणों से बचने के लिए, केवल फ़ाइल में स्रोत निर्देशिका निर्दिष्ट करने का एक तरीका है?

जवाबों:


5

हां, आप यह कर सकते हैं। किसी भी Sourceएस को सूचीबद्ध न करें । में %prepखंड का उपयोग नहीं करते %setupमैक्रो (जो स्रोत untars); बल्कि, सिर्फ स्रोत की जाँच करें।

ध्यान दें कि यदि आप ऐसा करते हैं तो आप SRPM का निर्माण नहीं कर पाएंगे।


यह करता है। मुझे केवल आरपीयू बिल्डिंग डायरेक्टरी की चीजों को जांचने के लिए बिल्ड प्रक्रिया को संशोधित करने की आवश्यकता है। धन्यवाद!
एडी

10

यह प्रश्न थोड़ा पुराना है, लेकिन यदि अन्य लोग इसे खोज में पाते हैं तो ऐसा करने का एक और सही तरीका है जो SRPM के निर्माण की भी अनुमति देता है।

प्रस्तुत करने के अनुभाग में, सेटअप मैक्रो का उपयोग करने के बजाय , आपको इसके बजाय बस अपने आप को टाइप करना चाहिए कि आप क्या करना चाहते हैं, अर्थात् स्रोत निर्देशिका को BUILD से संग्रहित करने के बजाय, संग्रह को अनपैक करना। मैंने पाया कि तब आपको अपने स्रोत निर्देशिका में एक सीडी भी बनाना होगा और अनुभागों को स्थापित करना होगा।

उदाहरण स्निपेट

%prep
# Don't use the setup macro anymore, replace it with typed-out commands
#%setup -q -n myapp-%{version}
cd %{_topdir}/BUILD
rm -rf myapp-%{version}
cp -rf %{_topdir}/SOURCES/myapp-%{version} .
cd myapp-%{version}
/usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .

%patch1 -p1 -b .cert-config
%patch2

%build
cd myapp-%{version}

%install
cd myapp-%{version}

होना %{_topdir}/SOURCESचाहिए %{_sourcedir}? और %{_topdir}/BUILDहो सकता है %{buildroot}? (एक तरफ, समान-लेकिन-अलग-अलग स्थितियों के लिए जहां आप अतिरिक्त फ़ाइलों को जोड़ने की कोशिश कर रहे हैं %setup, जिनसे निकाले गए फ़ेडोरा डॉक्स %{SOURCE2}आदि का उपयोग करने की सलाह देते हैं - fedoraproject.org/wiki/Packaging:RPM_Source/Dir )
IBBoard
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.