2016-11-25 1 views
1

J'essaye un exemple de paquet rpm avec un seul fichier.construire rpm sans compiler le fichier source

Dans mon dossier source, j'ai python_test_rpm.tar.gz qui contient un seul fichier script python. Mais, le fichier n'est pas un script Python valide.

Tout ce que je veux faire est de l'empaqueter et de le déployer dans un dossier spécifique. Lors de l'exécution de la commande rpm build, l'erreur de compilation/syntaxe apparaît dans le script python. Comment passer cette validation et faire la construction.

rpmbuild command rpmbuild -v -bb

Spec File:

Name: python_test_rpm

Version: 1

Release: 1

Summary: Sample RPM for Linux Installer

Group: Development/Tools

License: GPL

URL: None

Source: python_test_rpm.tar.gz

BuildRoot: /home/rpmdev/rpmbuild

%description

POC package for Linux RPM installer

%prep

%setup -n "python_test_rpm"

%install

rm -rf "$RPM_BUILD_ROOT"

mkdir -p "$RPM_BUILD_ROOT/python_test_rpm"

cp -R _mock_backport.py "$RPM_BUILD_ROOT/python_test_rpm"

%files

/python_test_rpm/_mock_backport.py

Error Message: Compiling /home/rpmdev/rpmbuild/BUILDROOT/python_test_rpm-1-1.x86_64/python_test_rpm/_mock_backport.py ... SyntaxError: unqualified exec is not allowed in function '_set_signature' it contains a nested function with free variables (_mock_backport.py, line 191)

error: Bad exit status from /var/tmp/rpm-tmp.4gSvIa (%install)

RPM build errors: Bad exit status from /var/tmp/rpm-tmp.4gSvIa (%install)

Répondre

3

La solution facile:.. Ajout « exit 0' à la fin de% install désactivera build scripts politiques profondes qui tentent de générer% .pyo /% des fichiers pyc

meilleurs correctifs incluent primordial le script de stratégie racine de build spécifique qui compile des fichiers python, ou simplement en corrigeant/commentant le code qui ne compile pas

+0

Merci Jeff. exit 0 fonctionne pour moi – baskar