/[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 - (show annotations) (download)
Tue Oct 21 23:30:47 2008 UTC (6 years, 1 month 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 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