| Other languages English ; Español |
Contents
- 1 Summary
- 2 Owner
- 3 Resources
- 4 Current status
- 5 Detailed Description
- 6 Why it would be good for Mageia to do it
- 7 Test case
- 8 Tasks
- 9 Software / Packages Dependencies
- 10 What could disrupt development of this new feature
- 11 Planning
- 12 Contingency
- 13 Release Notes
- 14 Documentation
- 15 Associated Bugs
- 16 Packager comments
Summary
Eliminate the usage of legacy RPM macros in Mageia 7.
Owner
- Name: Neal Gompa
- Email: ngompa13@gmail.com
Resources
This will require efforts by rpm-mageia-setup developers to merge the %configure macros, and require efforts by someone (packager, sysadmin) to mass change all specs to the new schemes for various macros.
Current status
- Targeted release: Mageia 7
- Last updated: 2019/05/28
- Percentage of completion: 0%
Detailed Description
In Mageia, there are several macros that have been deprecated for variants provided by upstream RPM or for new macros that enable better cross-distribution compatibility.
For example, for running the configure script for autotoolized codebases, we have two macros: %configure and %configure2_5x. The former is intended for codebases using older versions of autotools, while the latter is intended for modern autotools codebases. However, maintaining two macros for this makes no sense, and it's better to just unify them and have a switch for changing the behavior based on the autotools variant.
With Mageia 7, we want to drop the legacy macros and move our specs to use newer ones across the board. This also includes unifying the %configure and %configure2_5x macros.
Why it would be good for Mageia to do it
By doing this, packaging for Mageia becomes closer in line to how packaging on other RPM-based Linux distributions works for common software packages, which makes sharing specs easier and makes it more attractive for third-party software developers to offer a Mageia RPM alongside Fedora and openSUSE ones.
Test case
To be determined...
Tasks
- Unify the
%configureand%configure2_5xmacros in rpm-mageia-setup- This is mostly done. The macros have been unified into a
%main_configuremacro, which is wrapped by%configureand%configure2_5x. Once packages are adjusted, then we can drop the wrappers and rename%main_configureto%configure.
- This is mostly done. The macros have been unified into a
- Adjust every package that has uses
%configureto also include%define _legacy_autotools 1at the top of the spec and every package that uses%configure2_5xto use%configure. - Convert all usage of
%maketo%make_buildso we can drop%makefrom rpm-mageia-setup - Convert all usage of
%makeinstall_stdto%make_installso we can drop%makeinstall_stdfrom rpm-mageia-setup - Convert all usage of
%apply_patchesto%autopatch -p1so we can drop%apply_patchespatches from rpm - Convert all usage of legacy Python macros and dependency names to the modern ones provided by
python-rpm-macrosso we can drop the legacy ones from rpm-mageia-setup
Software / Packages Dependencies
- rpm-mageia-setup
- rpm
What could disrupt development of this new feature
If we can't get everything changed, this feature will not be able to be completed.
Planning
This should happen before the mass rebuild, so that we don't have to cycle through the whole distribution multiple times.
Contingency
If this fails to be ready for Mageia 7, then we continue with what we have and try again for Mageia 8.
Release Notes
Not applicable.