Le mauvais état de sortie à partir de /var/tmp/rpm-tmp.ajKra4 (%prep)
Je vais avoir un bizarre RPM problème, je suis nouveau, donc garder avec moi... j'ai le fichier spec créé et quand je le lance à faire la compilation, j'obtiens une erreur:
/var/tmp/rpm-tmp.ajKra4: ligne 36: cd: héros-01: Aucun fichier ou répertoire
erreur: Mauvais état de sortie à partir de /var/tmp/rpm-tmp.ajKra4 (%prep)
Puis-je vérifier que les fichiers temp et il essaie de CD-rom dans un répertoire qui n'existe pas.. faut-il être dans le fichier de spec? si oui, où?
Voici mon fichier spec:
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}
Peut-être que je suis absent quelque chose? Ne serait pas la première de lol, merci
Là aussi, est ce que la fichier tmp est sortie:
#!/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
OriginalL'auteur DoCnTex | 2012-02-14
Vous devez vous connecter pour publier un commentaire.
Découvrez http://www.rpm.org/max-rpm/s1-rpm-inside-macros.html, plus précisément le "-n — Nom de l'Ensemble du Répertoire de construction".
L' %de l'installation de la macro s'attend à ce que après la untaring tar.gz il y aura un héros-01 annuaire disponible, mais votre hero-01.tar.gz probablement crée un autre répertoire du nom, probablement l'un sans la version incluse dans le nom.
Ainsi, par exemple, s'il y a un "héros" du répertoire au lieu d'un "héros-01' - répertoire dans le répertoire /root/rpmbuild/CONSTRUIRE après le décompacter, puis mettre à jour le fichier de spec à utiliser '%setup-n héros " au lieu de simplement '%setup".
désolé, je ne comprends totalement ce que je Peux faire pour le réparer?
Prenez votre hero-01.tar.gz fichier et le décompresser dans certains temp répertoire avec la commande "tar-zxvf hero-01.tar.gz'. Ça va faire un nouveau répertoire qui contient tous les fichiers. Utiliser ce nom de répertoire que l'argument de l'option '-n' drapeau pour l' %de l'installation de la macro.
OriginalL'auteur pwan
Dans votre rpmbuild dossier, allez à la
SOURCES
et renommer votre dossier source de cette façon:alors créer l'archive:
Et cela devrait fonctionner.
Ce qui se passe est que, après décompacter l'archive, rpmbuild s'attend à un dossier nommé monpaquet-1.0 et pas mypackage ou mypackage-quelque chose d'autre.
Le Respect des conventions de nommage. Vérifier Les Lignes Directrices
OriginalL'auteur Hanynowsky
Il est également à noter que certaines archives ne va pas créer eux-mêmes en tant que parent directory pour les chemins d'installation. I. e., mon archive a l'arbre:
Parce que c'est où il veut installer ces paquets
Pour faire ce travail, vous pouvez simplement changer
- n
à- c
afin de créer et de se déplacer dans ce répertoire avant de décompacter (Vous aurez envie de ctrl+f pour "créer un répertoire (et de modifier)")TL;DR:
setup -n
->setup -c
pourrait aiderOriginalL'auteur jeremysprofile