Feature changed by: Andreas Jaeger (a_jaeger) Feature #309167, revision 2 Title: lzma compression for primary.xml - Buildservice: New + Buildservice: Evaluation Priority Requester: Mandatory - openSUSE-11.3: New + openSUSE-11.3: Evaluation Priority Requester: Mandatory Requested by: Michal Marek (michal-m) Description: Providing all exported kernel symbols as individual dependencies (fate 305945) resulted in a DoS against download.o.o, because the primary.xml. gz file in the update repository grows with each kernel update (bnc 582907 and 586960). The least intrusive fix to this seems to be: Sort the entries in primary.xml and provide a lzma compressed version in addition to primary.xml.gz. Testing shows that this brings the metadata growth back to the 11.1 symset approach (about 100k for each subsequent kernel update) and also reduces the size, so it would be beneficial also for normal repositories. The repomd.xml format extension could look like: <data type="primary"> <location href="repodata/primary.xml.gz"/> <checksum type="sha">1233456...</checksum> <timestamp>1268305225</timestamp> <open-checksum type="sha">abcdef...</open-checksum> </data> <data type="primary-lzma"> <location href="repodata/primary.xml.lzma"/> <checksum type="sha">56789a...</checksum> <timestamp>1268305245</timestamp> <open-checksum type="sha">abcdef...</open-checksum> </data> With the meaning that if there is a primary.xml.lzma with the same open- checksum, download this one instead of primary.xml.gz, decompress it with lzma (in default install since 11.1) and then continue as usual. Old clients would continue working with the primary.xml.gz file. The feature primarily targets libzypp, but also extending yum should not be hard. Relations: - Get rid of "symsets" in kernel package dependencies (feature/id: 305945) - zsync support for update channel refresh (feature/id: 309088) - fate #305945 causes extreme update channel metadata overhead (novell/bugzilla/id: 586960) https://bugzilla.novell.com/show_bug.cgi?id=586960 -- openSUSE Feature: https://features.opensuse.org/309167