Comment puis-je get un file de spécifications de base pour travailler avec rpmbuild?

J'ai installé rpmlint et rpmdevtools. J'ai utilisé rpmdevtools pour créer un model d'un file .spec. J'ai modifié le file spec afin qu'il installe cfengine. J'ai couru rpmlint sur le file spec, et je n'ai vu aucun avertissement ni erreur. J'ai alors essayé d'exécuter le specfile pour de vrai, mais il a échoué. Voici la command que j'ai exécuté:

$ rpmbuild -ba newpackage.spec 

Voici ce que j'ai vu:

 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.wNGgcV + umask 022 + cd /home/ec2-user//BUILD + cd /home/ec2-user/BUILD + rm -rf Propulsion-1 + /usr/bin/tar -xf - + /usr/bin/gzip -dc /home/ec2-user/SOURCES/cfengine-3.6.5.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd Propulsion-1 /var/tmp/rpm-tmp.wNGgcV: line 35: cd: Propulsion-1: No such file or directory error: Bad exit status from /var/tmp/rpm-tmp.wNGgcV (%prep) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.wNGgcV (%prep) 

Le file ci-dessus à la ligne 35 est le suivant:

cd 'Propulsion-1'

Le nom "Propulsion" provient du file .spec. Évidemment, les guillemets simples, le trait d'union et le 1 proviennent du traitement de la command rpm-build.

Que dois-je faire pour ne pas avoir une erreur de construction RPM? Je souhaite que mon file de spécifications fonctionne pour l'installation de cfengine.

Voici le file de spécifications:

 Name: Propulsion Version: 1 Release: 1%{?dist} Summary: First time License: GNU #URL: Source0: http://s3.amazonaws.com/cfengine.package-repos/tarballs/cfengine-3.6.5.tar.gz BuildRequires: gettext # Requires: %description This is a test. %prep %setup -q %build %configure make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT %make_install %files %doc %changelog 

One Solution collect form web for “Comment puis-je get un file de spécifications de base pour travailler avec rpmbuild?”

Cette erreur se produit car %setup est en fait une macro qui, lorsqu'elle est développée, tentera de supprimer votre source et votre cd dans le directory source.

Si le directory source dans le tarball diffère du nom du package, vous devez configurer -n comme ceci:

%setup -n cfengine-3.6.5

Dans votre cas, cela devrait fonctionner, car lorsque vous extrayez cfengine-3.6.5.tar.gz vous obtenez un directory nommé cfengine-3.6.5 – et rpmbuild s'attend à Propulsion-1 fonction du nom et de la version de votre package.

Vous pouvez en savoir plus sur la macro d'installation ici et ici .

Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de réseau.