Packaging help needed: Prevent noarch package from requiring 32bit RPMs on a 64bit system
Miro Hrončok
miro at hroncok.cz
Wed Oct 31 15:26:46 UTC 2012
Hi,
I am trying to package slic3r -> it is a perl noarch package, but it
requires a lot of arch specific perl modules.
The Requires section form spec file:
Requires: perl(XML::SAX)
Requires: perl(Growl::GNTP)
Requires: perl(Net::DBus)
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`";
echo $version))
https://github.com/hroncok/SPECS/blob/master/slic3r.spec
The rest of Requires are automatically added.
When I built the package and add it to the repository together with
required packages I made, it requires arch mishmash on a 64bit system:
Install:
slic3r noarch myrepo
Install requires:
perl-Boost-Geometry-Utils i686 myrepo
perl-Class-Accessor noarch
perl-Class-Method-Modifiers noarch
perl-Crypt-CBC noarch
perl-Devel-Symdump noarch
perl-Digest-SHA x86_64
perl-Digest-SHA1 x86_64
perl-File-HomeDir noarch
perl-File-Which noarch
perl-Growl-GNTP noarch myrepo
perl-JSON noarch
perl-Language-Expr noarch myrepo
perl-Math-Clipper i686 myrepo
perl-Math-ConvexHull noarch myrepo
perl-Math-Expression-Evaluator noarch myrepo
perl-Math-Factor-XS i686 myrepo
perl-Math-Geometry-Voronoi i686 myrepo
perl-Math-Libm x86_64 myrepo
perl-Math-NumSeq noarch myrepo
perl-Math-PlanePath noarch myrepo
perl-Math-Prime-XS i686 myrepo
perl-Math-Symbolic noarch
perl-Module-Load noarch
perl-Module-Util noarch
perl-Moo noarch
perl-Net-DBus x86_64
perl-Params-Validate x86_64
perl-Parse-RecDescent noarch
perl-Pod-Coverage noarch
perl-Regexp-Grammars noarch
perl-Role-Tiny noarch
perl-SVG noarch
perl-Test-Pod noarch
perl-Test-Pod-Coverage noarch
perl-Test-Simple noarch
perl-UUID-Tiny noarch myrepo
perl-Wx x86_64
perl-XML-Twig noarch
perl-boolean noarch
perl-constant-defer noarch myrepo
perl-libintl x86_64
perl-parent noarch
perl-strictures noarch
Lines with myrepo are made by me, you can see specs here:
https://github.com/hroncok/SPECS/
As you can see, it installs 64bit required packages from officail
repositories, but it installs 32bit packages from mine (64bit packages
also exists, that's not the problem).
It installs slic3r, but it won't work, as it looks up its't arch
specific modules in 64bit directories.
If I manually run
yum install perl-Boost-Geometry-Utils perl-Math-Clipper
perl-Math-Factor-XS perl-Math-Geometry-Voronoi perl-Math-Prime-XS
slic3r
It works as expected (install 64bit packages).
What should I as a packager do, to avoid this situation?
Thank you very much.
Miro Hrončok
Jabber: miro at hroncok.cz
Telefon: +420777974800
More information about the devel
mailing list