[Mageia-discuss] Trying to learn a little about packaging

Michael Scherer misc at zarb.org
Fri Jan 14 12:42:09 CET 2011

Le vendredi 14 janvier 2011 à 00:18 -0500, Hoyt Duff a écrit :
> The .spec file as provided defines %define _prefix as /usr/local. Yes,
> I know that it should be /usr for a Mandriva-specific package, but I'd
> like to actually build the package first so I can understand what
> needs to be patched to build from the pristine sources on
> Madriva/Mageia, not start from scratch - that kind of defeats the
> purpose of RPM.
> In the %files section "%{_libdir}/%{name}" should pick up "%_prefix",
> but it does not. As a result, some files don't get created in two
> directories and the build fails.
> What I'm asking is if there is a difference in how Mandrake handles
> that substitution versus how Fedora handles that. I installed Fedora
> in a VM and the package builds fine on Fedora, but I get the error on
> Madriva. I've examined the .spec file and don't see where there is any
> obvious problem, so I'm seeking some guidance as to where to look
> deeper.

That's quite simple.
On fedora :
~ $ rpm --showrc | grep -i ' _libdir'
-14: _libdir	%{_prefix}/lib

On mandriva :
$ rpm --showrc | grep -i ' _libdir'  
-14: _libdir	/usr/lib

Mandriva hardcode the use of /usr/ in the rpm macros file, while Fedora
doesn't, letting people override %_prefix.

Michael Scherer

More information about the Mageia-discuss mailing list