[Bug 237779] New: %makeinstall definition differs from upstream rpm
https://bugzilla.novell.com/show_bug.cgi?id=237779 Summary: %makeinstall definition differs from upstream rpm Product: openSUSE 10.3 Version: unspecified Platform: All OS/Version: All Status: NEW Severity: Normal Priority: P5 - None Component: Basesystem AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: andreas.hanke@gmx-topmail.de QAContact: qa@suse.de The definition of the %makeinstall macro in SUSE rpm differs from upstream rpm. Upstream rpm does: make install \ prefix=%{_prefix} \ exec_prefix=%{_exec_prefix} \ [...] SUSE rpm does: make install DESTDIR="$RPM_BUILD_ROOT" The meaning of these two things is not even close to each other. This is an interoperability problem in two ways: - Spec files from other distributions which use %makeinstall correctly (i.e., only for Makefiles without native DESTDIR support) won't build on SUSE Linux. - SUSE spec files which use %makeinstall incorrectly (i.e., just for fun for Makefiles which have native DESTDIR support) will be broken on other distributions because they will have the value of DESTDIR encoded in file contents. It seems to be very popular these days to convert all spec files to %makeinstall (while the rest of the world does the opposite), I'd therefore like to have the original %makeinstall definition back before it's too late. If you really need "make install DESTDIR=$RPM_BUILD_ROOT" as a macro, you should create a new one for it instead of changing an existing one incompatibly. E.g. Mandriva has created %makeinstall_std for this purpose. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=237779 ------- Comment #1 from andreas.hanke@gmx-topmail.de 2007-01-23 08:37 MST ------- Correcting myself: Upstream rpm does make install \ prefix="$RPM_BUILD_ROOT"%{_prefix} \ exec_prefix="$RPM_BUILD_ROOT"%{_exec_prefix} \ [...] -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=237779 ------- Comment #2 from andreas.hanke@gmx-topmail.de 2007-01-23 08:44 MST ------- http://user.cs.tu-berlin.de/~ccorn/software/rpm/index.de.html -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=237779 chrubis@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|bnc-team- |mls@novell.com |screening@forge.provo.novell| |.com | -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=237779 mmarek@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mmarek@novell.com ------- Comment #3 from mmarek@novell.com 2007-01-23 09:05 MST ------- Note that using prefix="$RPM_BUILD_ROOT"%{_prefix} etc. could lead to problems with makefiles that compile binaries in the install target. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=237779 ------- Comment #4 from andreas.hanke@gmx-topmail.de 2007-01-23 09:17 MST ------- It already does that (leading to problems with makefiles that compile binaries in the install target) when trying to use the same spec file across different distributions. Using prefix="$RPM_BUILD_ROOT"%{_prefix} etc. makes clear to anyone that this macro is almost always used incorrectly. I actually want it to fail in such cases. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=237779 ------- Comment #5 from mls@novell.com 2007-01-23 09:31 MST ------- Using prefix=buildroot... in make install is broken. I'd rather redefine makeinstall to just exit with an error message instead of changing it to something that does not work. Regarding DESTDIR, this is pretty much the standard, most packages understand this. I hope %makeinstalls dies in the near future. It doesn't make much sense if DESTDIR is supported. Who converts to %makeinstall? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=237779 ------- Comment #6 from andreas.hanke@gmx-topmail.de 2007-01-23 09:54 MST ------- (In reply to comment #5)
Using prefix=buildroot... in make install is broken.
But that's what it does in upstream rpm (where the idea is that this should be used for Makefiles which don't support DESTDIR only, or better, not at all).
I'd rather redefine makeinstall to just exit with an error message instead of changing it to something that does not work.
That's also possible, but it doesn't solve the problem that spec files that have been written for the upstream behaviour of %makeinstall won't work.
Regarding DESTDIR, this is pretty much the standard, most packages understand this.
Yes, of course DESTDIR should be used (it's clear that prefix=%buildroot... is wrong). But packagers can write it out (this is what Fedora and, until recently, most SUSE packages do) or use a different macro (e.g. steal %makeinstall_std from Mandriva).
I hope %makeinstalls dies in the near future. It doesn't make much sense if DESTDIR is supported. Who converts to %makeinstall?
Several xfce4 packages use it (it seems to originate from changes in the build service that have been put back into the distribution) and recently some (so far, very few) gnome packages started using it as well. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=237779 mls@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ro@novell.com, mrueckert@novell.com ------- Comment #7 from mls@novell.com 2007-01-23 10:22 MST ------- So upstream rpm is broken (not a new fact). I'll make sure that none of our packages uses %makeinstall... But I agree that it was a bad idea to touch the macro definition in the first place. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=237779 ------- Comment #8 from mrueckert@novell.com 2007-01-23 10:33 MST ------- i can understand that rpm used the old definition back when DESTDIR was not widely supported. but I rarely see packages without DESTDIR support nowadays. so i would suggest asking upstream to change their setting. it doesnt make sense to keep their broken macro. and i like %makeinstall. for rpms which should work on FC and suse i redefine the macro to the suse version at the top of the spec file. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=237779 ------- Comment #10 from mls@novell.com 2007-01-23 10:39 MST ------- Asking "upstream" is pretty hopeless, I fear... (Btw, seems like we did the makeinstall change with SL7.2, i.e. 2001) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=237779 prusnak@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |prusnak@novell.com ------- Comment #11 from prusnak@novell.com 2007-02-27 10:52 MST ------- (In reply to comment #6)
Several xfce4 packages use it (it seems to originate from changes in the build service that have been put back into the distribution) and recently some (so far, very few) gnome packages started using it as well.
I have removed %makeinstall macros in all XFCE4 packages in BuildService. Sync into AutoBuild will occur when needed (eg. on update). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
participants (1)
-
bugzilla_noreply@novell.com