Support Noarch Sub Packages in Fedora
Summary
Since some months RPM supports sub packages being noarch. Right now the Fedora infrastructure does not support this feature. This feature will provide the technical abilities to use noarch sub packages and also provide help to use them within packages all over the distribution.
Owner
- Name: ffesti (Florian Festi)
Current status
- Targeted release: Fedora 11
- Last updated: --Ffesti 12:46, 8 January 2009 (UTC)
- Percentage of completion: 20%
Detailed Description
There are several steps needed:
- Support in rpm (100%)
- Support in koji (0%)
- Support in other parts of the infrastructure (unknown)
- Support in test/verification tools (unknown)
- rpmlint (?)
- ... (?)
- Get a list of possible candidates (sub packages) (80%)
- Write best practise documentation (0%)
- Get packaging policy adjusted (if needed) (0%)
- Get the packages changed
Benefit to Fedora
Noarch packages have several benefits over arch dependent packages:
- They can be shared between different architectures and thus use up less disk space and bandwidth on both the Fedora infrastructure and our mirrors
- They avoid double installation of data for multilib packages.
- They tell the user that the content of the package is arch independent.
By increasing the use of noarch packages we also increase the effect of these benefits.
Scope
A small statistic on Fedora 10 x86_64 to give an idea how many packages/files/bytes could be affected:
The files are split into 3 groups:
- binary: files rpm knows that they are arch dependent
- libdir: files that are not binaries but reside in (/usr)/lib(64)
- noarch: everything else
So libdir files should be noarch in most cases. Sizes are (uncompressed) bytes in files and though do not directly represent size in within packages.
14303 packages (41 GB in 1.9 M files) 42 k binary files (8.4 GB) 279 k libdir files (6.9 GB) 1.6 M noarch files (26 GB) 8347 x86_64 packages (24 GB in 1.0 M files) 31 k binary files (6.4 GB) 174 k libdir files (5.8 GB) 812 k noarch files (12 GB) 2956 i386 packages (5.0 GB in 263 k files) 10 k binary files (2.0 GB) 32 k libdir files (652 MB) 220 k noarch files (2.4 GB) 2998 noarch packages (12 GB in 697 k files) 86 binary files (1.2 MB) 72 k libdir files (563 MB) 625 k noarch files (11 GB) 2 i686 packages (16 MB in 428 files) 294 binary files (15 MB) 40 libdir files (95 kB) 94 noarch files (1.2 MB) 788 packages (3.7 GB in 266 k files) contain only noarch (no libdir) files but are not noarch.
Test Plan
- Build one noarch subpackge and make sure it makes it into the distribution
User Experience
- Slightly improved mirrors due to less transfer size
- Only packages containing binaries with be arch dependent
Dependencies
- None (all needed steps included in this Feature)
Contingency Plan
- Move target to Fedora 12
- As soon as the technical problems have been fixed moving more sub packages to noarch can be a continuing process.
Documentation
TODO: link to rpm docs describing noarch subpackages
Release Notes
TODO