[Rpm-maint] rpm %makeinstall macro brokenness
Ville Skyttä
ville.skytta at iki.fi
Mon Dec 24 21:53:36 UTC 2007
On Monday 24 December 2007, Lennert Buytenhek wrote:
> Hi all,
>
> I noticed this (rpm 4.4.2.2):
[...]
> Apart from the funny way of writing %{?buildroot}, trying to coax
> 'make install' into installing files into %{buildroot} by redefining
> prefix= is very much the wrong thing to do.
With recent autotools, that's right, and that's one reason why eg. the Fedora
packaging guidelines advice against using it.
http://fedoraproject.org/wiki/Packaging/Guidelines#head-fcaf3e6fcbd51194a5d0dbcfbdd2fcb7791dd002
But %makeinstall in its current form AFAIK predates the DESTDIR standard for
doing staged installs and is still useful for old software that use old
autotools versions without DESTDIR support.
Changing it to expand to eg. "make DESTDIR=... install" would be a backwards
incompatible change, break some package builds, and cause the need to take
the rpmbuild version into account in specfiles which is a problem when
multiple distros or distro versions are supposed to be built from the same
specfile, effectively (I guess) resulting in fewer and fewer people
continuing to use it any more at all. Just writing "make
DESTDIR=$RPM_BUILD_ROOT install" is less obfuscated, more portable, and not
really that much more/harder to write than "%makeinstall".
More information about the Rpm-maint
mailing list