2011-06-15 11 views

उत्तर

0

मुझे लगता है कि पैच नामक एक अवधारणा है। मैंने इस link का उपयोग करके पहले srpm को पैच करना शुरू कर दिया। लेकिन बुनियादी विचार यह है कि, srpm प्राप्त करें, srpm इंस्टॉल करें, उस क्षेत्र क्षेत्र निर्देशिका के अंदर अपना पैच बनाएं और spec फ़ाइल में पैच फ़ाइल% patch0 -p1 निर्दिष्ट करें। फिर आरपीएम बिल्ड करें। हैप्पी पैचिंग!

+0

मुख्य समस्या मैं का सामना करना पड़ रहा है मैं एक स्रोत आरपीएम की जरूरत नहीं है है। मेरे पास आरपीएम बिल्ड है। – Monojeet

+0

@Monojeet, फिर स्रोत आरपीएम पता लगाएं? यह केवल तर्कसंगत है कि क्यों srpm है क्योंकि पैचिंग करते समय, हमें * स्रोत * आरपीएम की आवश्यकता होगी, न कि निर्मित आरपीएम। – Jasonw

+0

तो एसआरपीएम के बिना आरपीएम को सही तरीके से संपादित करने का कोई तरीका नहीं है? – Monojeet

13

का सबसे अच्छा तरीका एक RPM को संशोधित करने के लिए निम्न चरणों का पालन करने के लिए है के लिए आप स्रोत नहीं है:

  1. अनपैक rpm2cpio कमांड के साथ एक निर्देशिका में आरपीएम
  2. अंदर आवश्यक परिवर्तन करें कि उपनिर्देशिका
  3. एक "डमी" spec फ़ाइल बनाएं और इसे बनाएं।

डमी कल्पना फ़ाइल इस प्रकार दिखाई देंगे कि:

Name: blah 
Version: 1.0 
Release: 1 
Summary: blah 
License: blah 
Distribution: blah 
Group: blah 
Packager: me 
BuildRoot: /path/to/dir/with/mods 

%description 
blah 

%files 
/path/to/dir/with/mods/* 

(rpm -qpi rpm file का उपयोग मूल्यों को प्राप्त करने के लिए) वास्तविक मूल्य के साथ यहाँ में हर "blah" बदलें। BuildRoot को उस निर्देशिका में बदलें जिसे आपने संशोधित आरपीएम अनचाहे किया है। फिर rpmbuild -bb dummy.spec चलाएं।

चूंकि कोई प्रीपे/सेटअप/बिल्ड/स्थापित चरणों को स्थापित नहीं किया गया है, तो यह केवल बिल्ड्रूट में क्या होगा और आरपीएम बनायेगा।

यदि आरपीएम पैकेज में स्क्रिप्ट फाइलें हैं, तो आपको उन्हें इस डमी स्पेक फ़ाइल में भी रखना होगा। यह देखने के लिए कि क्या पैकेज में कोई स्क्रिप्ट है, चलाएं: rpm -qp --scripts rpm file। निर्भरता, prereqs, आदि के लिए एक ही बात है

अन्य विवरण हो सकते हैं जो मुझे याद आ रही है, लेकिन यह आपको शुरू करने के लिए पर्याप्त होना चाहिए।

अद्यतन: क्या इसके लायक है के लिए, वहाँ भी http://rpmrebuild.sourceforge.net/

+0

+1। मुझे इसके बारे में पता नहीं था। – Brandan

+0

FWIW भी http://rpmrebuild.sourceforge.net/ –

+1

यह 'rpmbuild' की' BUILDROOT' सेटिंग निर्दिष्ट/संशोधित किए बिना काम नहीं करता है। – jmtd

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