From Fedora Project Wiki

XZ (LZMA) Payloads in RPM

Sommario

We intend to switch RPM to use XZ (the new LZMA format) as default payload compression for F12.

Progettista

Stato attuale


Detailed Description

RPM currently uses gzip payloads by default, with an option for bzip2. bzip2 adds greater compression, but with a large memory and cpu time penalty. XZ allows better compression without these penalties.

Benefit to Fedora

  • Smaller packages
  • Smaller downloads
  • More space on ISOs
  • Smaller content for mirrors

Altre informazioni

Per:

  • Obbiettivi
  • Test Plan
  • Esperienza Utente
  • Dipendenze
  • Progetto corrente
  • Documentazione
  • Note di rilascio
  • Commenti e Discussioni

Documentation

In order to turn on XZ payload compression for binary RPMS one could define following macros in /usr/lib/rpm/macros globally or in ~/.rpmmacros file locally:

%_binary_payload w7.xzdio

This enables XZ payload compression level 7 (suggested default by upstream) for binary RPMs. This macro isn't defined by default and if undefined gzip compression is used.

The %_source_payload macro can be used to change the payload compression for source RPMs. However, since source RPMs consist almost entirely of precompressed source archives, changing this has little effect, and will not be done for this feature.

Note that currently you can use this configuration only with rpm-4.7.0 or higher which is present in Fedora 11 or rawhide.

Also note that deltarpms between builds with different payload compression formats, while functional, usually save little bandwidth.

Release Notes

RPM in Fedora 12 has switched to using XZ compression (http://tukaani.org/xz/) in its packages to allow for better compression and smaller downloads for users. Users of older Fedora releases who wish to use RPMs built in Fedora 12 will need at least rpm-4.6.x from Fedora 10 or later.