से एक खराब निकास स्थिति मैं एक पैकेज बनाने की कोशिश कर रहा हूं जो केवल सिस्टम पर फ़ाइलों को अद्यतन करता है, लेकिन rpmbuild होने पर मुझे त्रुटियां मिलती रहती हैं चलाते हैं। त्रुटि इंगित करती है कि एक फ़ाइल गुम है।CentOS पर rpmbuild मुद्दों - /home/me/rpmbuild/tmp/rpm-tmp.58942
मैंने उसी परिणाम के साथ CentOS 5 और 6 पर यह कोशिश की है।
मैंने फ़ाइल सिस्टम सेटअप करने के लिए rpmdev-setuptree
का उपयोग किया, जो ~/.rpmmacros
फ़ाइल भी सेट करता है। मैंने spec फ़ाइल को आरंभ करने के लिए rpmdev-newspec
का उपयोग किया।
मैं एक गैर-रूट उपयोगकर्ता के रूप में चल रहा हूं।
मेरे पास ~/rpmbuild/SPECS/test.spec
में spec फ़ाइल है और मेरा स्रोत है: ~/rpmbuild/SOURCES/test-1.tar.gz
। इस फ़ाइल को निकालने से test-1
नामक एक निर्देशिका बनाई गई है जिसमें 2 फाइलें हैं। मैंने पुष्टि की है कि जब मैं पैकेज बनाने की कोशिश करता हूं तो इसे ~/rpmbuild/BUILD/test-1
पर निकाला जाता है।
मैं चलाएँ: rpmbuild -ba ~/rpmbuild/SPECS/test.spec
तब मैं इस त्रुटि मिलती है:
- ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --target=x86_64-redhat-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info /home/me/rpmbuild/tmp/rpm-tmp.58942: line 37: ./configure: No such file or directory error: Bad exit status from /home/me/rpmbuild/tmp/rpm-tmp.58942 (%build)
RPM build errors: Bad exit status from /home/me/rpmbuild/tmp/rpm-tmp.58942 (%build)
यहाँ मेरी कल्पना फ़ाइल है:
Name: test
Version: 1
Release: 1%{?dist}
Summary: Test
Group: Test
License: GPL
URL: http://example.com
Source0: test-1.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#BuildRequires:
#Requires:
%description
This is a test to push files.
%prep
%setup -q
%build
#%configure
#make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
#make install DESTDIR=$RPM_BUILD_ROOT
install -m 0755 -d $RPM_BUILD_ROOT/opt/test
%clean
rm -rf $RPM_BUILD_ROOT
%files
%dir /opt/test
%defattr(-,root,root,-)
%doc
मैं गलत क्या कर रहा हो सकता है पर कोई भी विचार?
मैं नहीं कर सके ' यह पता लगाने के लिए मैक्रो को ओवरराइड करने के लिए कैसे करें।// config' को निष्पादित करने से रोकने के लिए, लेकिन मैंने स्रोत की जड़ में एक खाली कॉन्फ़िगरेशन फ़ाइल डाली और इसे मुझे निर्माण को पूरा करने की अनुमति दी। मुझे सही रास्ते पर रखने के लिए धन्यवाद। – Coder1
क्षमा करें - मुझे करीब देखना चाहिए था! RPM का एक प्रसिद्ध पिटा "फीचर" यह है कि आप ऊपर की तरह मैक्रो को टिप्पणी नहीं कर सकते हैं। आपको '# %% कॉन्फ़िगरेशन 'रखना होगा या यह केवल मैक्रो के * पहली पंक्ति * को टिप्पणी करेगा! (पहला '%' दूसरे से निकलता है।) –
पुष्टि की गई है कि मैं टिप्पणी में अतिरिक्त '%' के साथ कॉन्फ़िगरेशन फ़ाइल के बिना आरपीएम का निर्माण कर सकता हूं, या पूरी तरह से उस पंक्ति को हटा कर। मैं सोच रहा था कि मेरी टिप्पणी प्रभावी ढंग से काम कर रही थी। धन्यवाद! – Coder1