Heads up: Noarch Subpackages

Florian Festi ffesti at redhat.com
Thu Feb 12 09:54:01 UTC 2009


With version 4.6.0 RPM supports subpackages being noarch by just
adding "BuildArch: noarch" to their subpackage section in the spec
file. There now is a Feature [1] that tries to bring noarch
subpackages to Fedora. There are still some koji fixes that need to
hit the Fedora build system. So noarch subpackages DO NOT WORK within
Fedora YET. We hope that this can be solved soon. Watch out for koji
outages.

There already is a list of (sub) packages of which most should be able
to be turned to noarch without any further changes [2]. It contains
918 subpackages from 579 source packages. This list contains all
x86_64 packages that contain no binaries/libs (as known to rpm) and no
files in /lib64 or /usr/lib64. There are a few false positives -
mostly development packages that put files in different locations and
some binary packages. See [3] for more details.

The noarch subpackages build on the different arches are going to be
compared with rpmdiff [4] ignoring time stamps, size and md5 sum of
files. Even with those automatic checks in place it is the
responsibility of the packager to make sure that the package is really
arch independent - as for regular noarch packages, too. Adding
"BuildArch: noarch" does just set the arch tag to noarch. There is no
other magic involved. (Next version of RPM is going to do at least a
very basic check for ELF binaries.)

Several other packages could also make use of this feature. When
considering to split up your package please avoid too complicated spec
files. We still have to develop packaging strategies to be applied
throughout the distribution and it doesn't look like this is going to
happen in the F11 time frame.


So what can you do right now?

If you are interested you can already play with noarch subpackages by
building with mock and comparing the results on different arches with
rpmdiff [4] (ignoring differences in S, 5 and T). There is going to be
little time between support in koji and the feature freeze. So being
prepared for this short time slot is a good thing.

What if you don't want to change your packages?

That's perfectly fine. There is no plan to force packager to use
noarch subpackages. I hope we can develop a more detailed plan on how
to make use of this feature in future Fedora releases. You might be
interested in taking part in this discussion.

Florian Festi

[1] https://fedoraproject.org/wiki/Features/NoarchSubpackages
[2] https://fedoraproject.org/w/uploads/b/ba/NoarchCandidates.txt
[3] 
https://fedoraproject.org/wiki/Features/NoarchSubpackages#Candidates_for_being_switched_to_noarch
[4] http://git.fedoraproject.org/git/?p=koji;a=blob_plain;f=hub/rpmdiff;hb=HEAD




More information about the fedora-devel-list mailing list