/[gentoo]/xml/htdocs/proj/en/glep/glep-0061.txt
Gentoo

Contents of /xml/htdocs/proj/en/glep/glep-0061.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Tue Oct 21 23:30:47 2008 UTC (5 years, 10 months ago) by cardoe
Branch: MAIN
File MIME type: text/plain
add Robin's tree signing gleps. They still need lots of editing love (some won't glep-ify) but at least they're here and have glep #s reserved

1 cardoe 1.1 GLEP: 61
2     Title: Manifest2 compression
3     Version: $Revision: 1.1 $
4     Last-Modified: $Date: 2008/07/13 02:21:58 $
5     Author: Robin Hugh Johnson <robbat2@gentoo.org>
6     Status: Draft
7     Type: Standards Track
8     Content-Type: text/x-rst
9     Requires: 44
10     Created: July 2008
11     Updates: 44
12    
13     Abstract
14     ========
15     Deals with compression of large Manifest2 files.
16    
17     Motivation
18     ==========
19     With the introduction of MetaManifest, and full-tree Manifest coverage,
20     we are faced with the possibility of having very large Manifests.
21    
22     Preliminary experiments with MetaManifest, show that with just the
23     existing per-package Manifests, the full MetaManifest, for a tree
24     including metadata/, exceeds 8MiB in size. Applying common compression
25     can achieve a 50-60% reduction in this size.
26    
27     Specification
28     =============
29     When searching for a Manifest2 file, if the basename form does not
30     exist, the package manager should search in the same location using
31     common compressed suffixes, and use the compressed file in place of the
32     Manifest2.
33    
34     gzip, bzip2, lzma should all be supported if available on the given
35     platform. In the case that multiple versions exist, the package manager
36     should simply pick one - they should be identical, differing only in
37     compression.
38    
39     The Manifest generation process is required to ensure that inconsistent
40     compressed versions do not exist.
41    
42     Backwards Compatibility
43     =======================
44     The package Manifests should also be maintained as ONLY uncompressed in
45     CVS.
46    
47     For processing of all existing per-package Manifests, if compression is
48     used, it should be done in parallel to the existing Manifests, to
49     provide for a changeover period. Newer versions of Portage may later
50     choose to exclude all non-compressed Manifests during emerge --sync if
51     compressed versions are guaranteed to exist on the servers.
52    
53     MetaManifests may come into existence as compressed from the start, as
54     do not have an backwards compatibility issues.
55    
56     As a side note, this breaks all manual interaction with Manifests
57     such as grep, and so should only be applied to large Manifest2 files,
58     such as the MetaManifest. 384KiB is suggested as a arbitary cut-off
59     point to start generating compressed Manifest2 files.
60    
61     References
62     ==========
63     .. [#GLEP44] Mauch, M. (2005) GLEP44 - Manifest2 format.
64     http://www.gentoo.org/proj/en/glep/glep-0044.html
65    
66     Copyright
67     =========
68     Copyright (c) 2007 by Robin Hugh Johnson. This material may be
69     distributed only subject to the terms and conditions set forth in the
70     Open Publication License, v1.0.
71    
72     vim: tw=72 ts=2 expandtab:

  ViewVC Help
Powered by ViewVC 1.1.20