J'ai un projet Java avec RPM de construction par Maven. Obligatoire Créer des paquets de noarch, mais je vois une arche de béton. J'installe RPM (4.4.9 ou 5.2.0) via Macports sur MacOSX et exécutation de la commande de Maven RPM Plugin:
rpmbuild -bb --buildroot /path/to/buildroot --target noarch-linux-pc project.spec rpmbuild -bb --define '_topdir /path/to/topdir' --target noarch-linux-pc project.spec
3 Réponses :
Je n'ai aucune expérience de bâtiment sur MacOSX, mais je pensais poster notre fichier http://pastebin.com/dhva4yz1 p>
blockQuote> La ligne de commande Maven que nous utilisons sous Centos Linux est la suivante: p> Ceci déploie notre RPM et crée également: P> pom.xml code> ici comme référence:
target/rpm/mprew-behavior/RPMS/noarch/mprew-behavior-2.12.0s-19068.noarch.rpm
Merci, mais Three n'est pas un problème de plug-in - outil binaire RPMBUILD avoir un comportement étrange à l'option '--target'
Selon le plug-in RPM, la valeur par défaut est noarch code>. Quelle version de rpmbuild utilisez-vous? Nous utilisons la version 4.4.2 RPM. mojo.codehaus.org/rpm-maven-plugin/ident- Params.html # Needarc H
Et vous ne spécifiez pas une architecture source, non? mojo.codehaus.org/rpm-maven-plugin/... < / a>
La version actuelle disponible Macport RPM est 4.4.9, et je l'utilise. Comme je le sais, la dernière version 5.3.x. Oui, je ne précise pas l'architecture, car j'ai besoin de Noarch! Chez Linux fonctionne correctement, en résultat que je vois * .noarch.rpm fichier. Mais uniquement sur Mac RPMBuild Create * .i386.RPM fichier. Je suis essayé de définir la tache targearchitecture comme Noarch, mais c'est ignoré par le constructeur.
On dirait que vous faites tout cela correctement. Désolé de ne pas être utile. Ceci est une discussion intéressante. Ils utilisent: `--Target 'noark-Apple-Mac OS X' avec * de chaque côté. Bonne chance.
J'ai trouvé l'erreur! p>
L'outil Maven-RPM-Plugin est nul. Ce paquet contient la classe RPMHelper et utilise Bash Command Builder. L'outil RPMBuild nécessite un ordre de paramètre fort et cette classe ignore toutes les règles. J'ai changé le paramètre de commande, et maintenant j'ai correctement construit le paquet RPM. D'après ce que je vois, la commande CODEHAUS n'est plus un soutien. Je pense que cela nécessite une fourchette sur GitHub. P>
J'ai des versions différentes de tout, mais sur OS X, en utilisant RPM 5.4.14 et RPM-Maven-Plugin 2.1-Alpha-3, je peux créer un RPM NOARCH pour Linux en spécifiant:
rpm -qp --qf 'Arch:%{ARCH} OS:%{OS}\n' my-rpm-0.0.1-1.noarch.rpm Arch:noarch OS:linux