Ich versuche ein Paket zu erstellen, das nur Dateien auf dem System aktualisiert, aber ich erhalte immer Fehler, wenn rpmbuild ist Lauf. Der Fehler weist darauf hin, dass eine Datei fehlt.rpmbuild Probleme auf CentOS - Schlechter Ausgangsstatus von /home/me/rpmbuild/tmp/rpm-tmp.58942
Ich habe dies auf CentOS 5 und 6 mit den gleichen Ergebnissen versucht.
Ich verwendete rpmdev-setuptree
, um das Dateisystem einzurichten, die auch ~/.rpmmacros
Datei einrichten. Ich habe dann rpmdev-newspec
verwendet, um die Spezifikationsdatei zu initialisieren.
Ich bin als nicht root-Benutzer ausgeführt.
Ich habe die Spezifikationsdatei in ~/rpmbuild/SPECS/test.spec
und meine Quelle ist: ~/rpmbuild/SOURCES/test-1.tar.gz
. Das Extrahieren dieser Datei erstellt ein Verzeichnis mit dem Namen test-1
mit 2 Dateien darin. Ich habe bestätigt, dass es zu ~/rpmbuild/BUILD/test-1
extrahiert wird, wenn ich versuche, das Paket zu erstellen.
Ich betreibe: rpmbuild -ba ~/rpmbuild/SPECS/test.spec
Dann habe ich diesen Fehler:
- ./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)
Hier ist meine Spec-Datei:
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
Alle Ideen, was ich tun könnte falsch?
I couldn‘ Ich finde heraus, wie man das Makro überschreibt, um zu verhindern, dass es './configure' ausführt, aber ich habe eine leere Konfigurationsdatei in das Wurzelverzeichnis der Quelle geschrieben und es mir erlaubt, den Build zu vervollständigen. Danke, dass Sie mich auf den richtigen Weg gebracht haben. – Coder1
Entschuldigung - ich hätte näher gucken sollen! Ein bekanntes PITA "Feature" von RPM ist, dass Sie ein Makro nicht wie oben auskommentieren können. Sie müssen '# %% configure' setzen oder nur die * erste Zeile * des Makros kommentieren! (Das erste '%' entkommt dem zweiten.) –
Bestätigt Ich kann die rpm ohne die configure-Datei jetzt mit dem zusätzlichen '%' im Kommentar erstellen oder indem ich diese Zeile komplett entferne. Ich dachte, dass mein Kommentar effektiv funktioniert. Vielen Dank! – Coder1