Bug 1148195
Summary: | don't support %makeinstall | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Rahul Sundaram <metherid> |
Component: | rpm | Assignee: | Packaging Maintenance Team <packaging-team-maint> |
Status: | CLOSED UPSTREAM | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 22 | CC: | ffesti, jzeleny, novyjindrich, packaging-team-maint, pmatilai, rvokal |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-03-20 11:17:53 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Rahul Sundaram
2014-09-30 22:19:10 UTC
There are well over hundred package specs using %makeinstall in Fedora alone, never mind the larger ecosystem. Who's going to review the usage (remember there are cases where %makeinstall "works" where the more correct versions dont) and "fix" what clearly appears to work for these packages? Rpm has no way of deprecating macros so its really hard to get rid of something once its in :-/ I understand why from a upstream perspective, you might want to retain it even though it is broken but if a small patch is added to Fedora rpm (only rawhide branch) to drop the macro along with an announcement in fedora devel list long before the next rebuild, packages are bound to get updated to to use make_install or whatever is needed to stop using the macro. A few days back, I corrected yet another spec file posted in fedora forum using the older macro and this could help. Please consider. Thanks! Just in case you aren't aware. Fedora packaging guidelines clearly say %makeinstall shouldn't be used anyway. So any packages using it is a clear violation of this guideline. https://fedoraproject.org/wiki/Packaging:Guidelines#Why_the_.25makeinstall_macro_should_not_be_used Read more carefully, Fedora guidelines say: Fedora's RPM includes a %makeinstall macro but it must NOT be used when make install DESTDIR=%{buildroot} works. Its use is only prohibited when the more correct version works. So in those 100+ packages using it, some are likely violating the guidelines but it doesn't mean all of them are. In the meanwhile, missing a more sophisticated deprecation method, this would be just as likely to get the message across... --- a/macros.in +++ b/macros.in @@ -882,6 +882,7 @@ package or when debugging this package.\ # Former make install analogue, kept for compatibility and for old/broken # packages that don't support DESTDIR properly. %makeinstall \ + echo "warning: %%makeinstall is deprecated, try %%make_install instead" 1>&2\ %{__make} \\\ prefix=%{?buildroot:%{buildroot}}%{_prefix} \\\ exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \\\ Agreed. FWIW, when I come across spec files during rebuilds or whatever, I never been able to find a good reason to use it. Would you mind pushing that change in? Thanks This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle. Changing version to '22'. More information and reason for this action is here: https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22 Added upstream as 0fddb3cbd80fc763ecacfea5b82631f7693915c2 |