Bad exit status from /var/tmp/rpm-tmp.ajKra4 (%prep)
Ich bin eine seltsame U /MIN Problem, ich bin neu auf es so mit mir tragen,... ich habe die spec-Datei erstellt und wenn ich zu tun, die build bekomme ich eine Fehlermeldung:
/var/tmp/rpm-tmp.ajKra4: Zeile 36: cd: Helden-01: Keine solche Datei oder Verzeichnis
Fehler: Bad exit status from /var/tmp/rpm-tmp.ajKra4 (%prep)
Dann überprüfe ich diese temp-Datei, und es wird versucht, die CD auf ein Verzeichnis, dass nicht vorhanden ist.. Sollte es schaffen werden, diese in der spec-Datei? wenn ja, wo?
Hier ist meine Skillung Datei:
Summary: Install Hero
Name: hero
Version: 01
Release: 1
Group: Billing reporting
Source: %{name}-%{version}.tar.gz
License: SLA
%description
Hero billing reports system
%prep
rm -rf %{_topdir}/BUILD/*
%setup
%install
mkdir -p /opt/%{name}
cp -r * /opt/%{name}
%post
find /opt/%{name} -type d -exec chmod 755 {} \;
find /opt/%{name} -type f -exec chmod 644 {} \;
chmod -R 755 /opt/%{name}/bin
%files
/opt/%{name}
%defattr(-,root,root,0755)
%clean
rm -rf $RPM_BUILD_ROOT
%postun
rm -rf /opt/%{name}
Vielleicht bin ich etwas fehlt? Wäre nicht der erste lol, danke
Hier ist auch was, dass die tmp-Datei ist die Ausgabe:
#!/bin/sh
RPM_SOURCE_DIR="/root/rpmbuild/SOURCES"
RPM_BUILD_DIR="/root/rpmbuild/BUILD"
RPM_OPT_FLAGS="-O2 -g"
RPM_ARCH="x86_64"
RPM_OS="linux"
export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS
RPM_DOC_DIR="/usr/share/doc"
export RPM_DOC_DIR
RPM_PACKAGE_NAME="hero"
RPM_PACKAGE_VERSION="01"
RPM_PACKAGE_RELEASE="1"
export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE
LANG=C
export LANG
unset CDPATH DISPLAY ||:
RPM_BUILD_ROOT="/root/rpmbuild/BUILDROOT/hero-01-1.x86_64"
export RPM_BUILD_ROOT
PKG_CONFIG_PATH="/usr/lib64/pkgconfig:/usr/share/pkgconfig"
export PKG_CONFIG_PATH
set -x
umask 022
cd "/root/rpmbuild/BUILD"
rm -rf /root/rpmbuild/BUILD/*
cd '/root/rpmbuild/BUILD'
rm -rf 'hero-01'
/usr/bin/gzip -dc '/root/rpmbuild/SOURCES/hero-01.tar.gz' | /bin/tar -xvvf -
STATUS=$?
if [ $STATUS -ne 0 ]; then
exit $STATUS
fi
cd 'hero-01'
/bin/chmod -Rf a+rX,u+w,g-w,o-w .
exit 0
Du musst angemeldet sein, um einen Kommentar abzugeben.
Check-out http://www.rpm.org/max-rpm/s1-rpm-inside-macros.html, speziell die "-n — setze den Namen des Build-Directory" Abschnitt.
Der %setup makro erwartet, dass nach untaring die tar.gz wird es eine Helden-01-Verzeichnis zur Verfügung, aber Ihre hero-01.tar.gz wahrscheinlich schafft einige andere Verzeichnis-Namen, wahrscheinlich ohne die version im Namen enthalten.
So, zum Beispiel, wenn es gibt ein 'Helden' - Verzeichnis statt eines "held-01' - Verzeichnis in /root/rpmbuild/BUILD nach dem entpacken, dann aktualisieren Sie die spec-Datei '%setup -n Helden "anstelle von " %setup".
In Ihrem rpmbuild-Ordner, gehen Sie zu
SOURCES
und benennen Sie Ihre Quelle Ordner auf diese Weise:erstellen Sie dann den tarball:
Und es sollte funktionieren.
Was passiert, ist, dass nach dem entpacken der archive, rpmbuild erwartet ein Ordner namens mypackage-1.0 und nicht MeinPaket oder MeinPaket-etwas anderes.
Respekt Namenskonventionen. Überprüfen Sie Die Richtlinien
Bemerkenswert ist auch, dass einige tarballs nicht schaffen sich als ein übergeordnetes Verzeichnis zu installieren Pfade. I. e., meine tarball hat, der Baum:
Weil das ist, wo es will, diese Pakete installieren
Diese Arbeit zu machen, Sie können ändern Sie einfach die
setup -n
zusetup -c
zu erstellen und zu bewegen, um das Verzeichnis vor dem entpacken (möchten Sie Strg+f für "Verzeichnis anlegen (und ändern Sie)")TL;DR:
setup -n
->setup -c
helfen könnte