10
votes

Etat de la mauvaise sortie de /var/tmp/rpm-tmp.ajkra4 (% Prep)

J'ai un problème de RPM étrange, je suis nouveau à elle, alors supporte-moi ... J'ai le fichier de spécifications créé et quand je cours pour faire la construction, je reçois une erreur:

/ var / tmp / RPM-TMP.AJKRA4: LINE 36: CD: HERO-01: Aucun fichier ou répertoire de ce type ERREUR: Statut de la mauvaise sortie de /var/tmp/rpm-tmp.ajkra4 (% Prep)

Puis je vérifie ce fichier temporel et tente de CD à un répertoire qui n'existe pas .. Créez-le dans le fichier de spécifications? Si oui, où?

voici mon fichier de spécifications: xxx

Peut-être que je manque quelque chose? Ne serait pas le premier lol, merci

Voici aussi ce que ce fichier TMP émet: xxx


0 commentaires

3 Réponses :


8
votes

Découvrez http://www.rpm.org/max-rpm/s1 -rpm-insiaturé-macros.html , spécifiquement le "-N - Nom du répertoire de construction".

La macro de% de configuration s'attend à ce que, après avoir déféré le tar.gz, un répertoire héros-01 sera disponible, mais votre héros-01.tar.gz crée probablement un autre nom de répertoire, probablement un sans la version incluse dans le nom.

Donc, par exemple, s'il y a un répertoire "héros" au lieu d'un répertoire "héros-01" dans / root / rpmbuild / build après l'endommager, puis mettez à jour le fichier de spécifications pour utiliser "% setup -n héros" à la place. de juste "ensemble de configuration".


3 commentaires

Impressionnant, merci Pwan .. cela a réparé en ajoutant un préfixe (répertoire pour les fichiers). Grandement l'apprécier


désolé je ne peux pas totalement comprendre ce que je peux faire pour le réparer?


Prenez votre fichier hero-01.tar.gz et décompressez-le dans un répertoire temporaire avec une commande comme 'ta -zexvf hero-01.tar.gz'. Il s'agira d'un nouveau répertoire qui inclut tous les fichiers. Utilisez ce nom de répertoire comme argument sur le drapeau «-N» pour la macro de% de configuration.



2
votes

Dans votre dossier RPMBuild, accédez à Sources CODE> et renommez votre dossier source de cette façon:

mypackage-1.0.tar.gz


0 commentaires

3
votes

Il convient également de noter que certaines des tagles ne se créeront pas en tant que répertoire parent aux chemins d'installation. C'est-à-dire que ma tarbale a l'arbre: xxx

Parce que C'est là qu'il souhaite installer ces packages

pour faire ce travail, Vous pouvez simplement modifier setup -n vers setup -c pour créer et passer dans ce répertoire avant d'endarrage (vous voulez ctrl + f pour "Créer un répertoire (et le changer)")

TL; DR: SETUP -N -> setup -c pourrait aider


0 commentaires