2009-07-03 6 views
4

J'essaie d'utiliser rpmbuild pour construire des paquets x86-64 et un paquetage libs-32bit.
Le même src rpm est uesd pour construire les deux paquets de sortie.
Quels sont les arguments de rpmbuild pour créer package-lib-32bit-X.x.x68_64.rpm?rpmbuild 32bit lib paquets pour x86-64

Je le faire actuellement pour obtenir un paquet 32 ​​bits:
CC = 'gcc -m32' CXX = 'g ++ -m32' linux32 rpmbuild -bb -target = i586 package.spec

Cela me donne paquet-lib-Xxi586.rpm quand j'ai besoin de paquet-lib-32bit-Xxx86_ 64.rpm.
Quels sont les arguments qui ajoutent '32bit' au nom du paquet et qui s'appellent x86_64?

+0

Solution naïve: renommez-le vous-même ;-) – Zifre

+0

Renommer le fichier rpm ne fait rien pour le nom du paquet à l'intérieur du fichier, et comment Il apparaît dans la base de données RPM. – codeDr

+0

Je ne sais pas exactement pourquoi vous avez besoin de faire cela - sur la plupart des distributions Linux (x86-64) le paquet 32 ​​bits est nommé quelque chose comme paquet-xy-z.i686.rpm - ie l'architecture est i686, pas x86_64 . – DaveR

Répondre

6

pour openSUSE
install 'build' rpm

CC = 'gcc -m32' CXX = 'g ++ -m32' linux32 rpmbuild -bb --target = i586 package.spec
{
package echo
écho package-devel
}> baselib.conf
/usr/lib/build/mkbaselibs -c/usr/lib/build/baselibs_ global.conf -c baselib.conf/PATH_ TO_ RPMS /.../ i586/package * .rpm

[édité pour ajouter le deuxième tiret manquant '-' sur le paramètre cible à rpmbuild]

+0

Sur RHEL 5 au moins, l'argument cible doit être '--target' (notez le trait d'union supplémentaire). – bstpierre