Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: Jan Stary <hans@×××××.cz>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] bzipped manpages
Date: Tue, 10 Jan 2017 14:07:50
Message-Id: 20170110150647.370e63dc.mgorny@gentoo.org
In Reply to: Re: [gentoo-dev] bzipped manpages by Jan Stary
1 On Tue, 10 Jan 2017 12:54:21 +0100
2 Jan Stary <hans@×××××.cz> wrote:
3
4 > On Jan 09 09:30:11, ikelos@g.o wrote:
5 > > Hiya Jan,
6 > >
7 > > The following snippet from Ingo is correct:
8 > >
9 > > > So, you want to hear something constructive? Your best option is to
10 > > > just decompress that stuff on your system. (Gentoo is famous for
11 > > > its excessive configurability - maybe there is even an option?)
12 > >
13 > > We are both famous for our excessive configurability and there is even
14 > > an option already! 5:) If you look in the manpage (once you've
15 > > decompress it somewhere, or online at [1]) for make.conf, you'll see the
16 > > entry for PORTAGE_COMPRESS, which you can set as follows:
17 > >
18 > > PORTAGE_COMPRESS=""
19 >
20 > I am only a user on this system,
21 > and have no control over which packages are installed
22 > and have no write permissions in /usr/share/man/ or make.conf
23
24 If you are only a user, then why don't you contact your sysadmin
25 instead of trying to work around his choice at the distribution level?
26 After all, as you already know, he will need to rebuild everything
27 anyway.
28
29 > > As mentioned in [2,3,others]. You'll then need to reinstall all
30 > > packages. If you manually decompress the files, then the uncompressed
31 > > manpages won't be registered with portage and won't get removed if the
32 > > owning package is uninstalled.
33 >
34 > Also, the uncompressed manpage will not get updated
35 > when the packages gets updated. I will have two copies,
36 > a stale *.1 and an up-to-date *.1.bz2.
37 >
38 > These are workarounds. Let me get back to the original question:
39 > would you please consider having _uncompressed_ manpages as the default?
40 >
41 > On this particular system, the bzipped /usr/share/man/ is 67M.
42 > The uncompressed man/ is 108M. That's 40M saved. Seriously?
43
44 ~40% is a pretty good gain. However, if you really insist on comparing
45 this, few points to consider:
46
47 1. Since there are many small files involved, the results highly differ
48 depending on the filesystem used. On some filesystems (btrfs), it will
49 be very hard to even get any conclusive numbers.
50
51 2. The compression feature extends to all documentation,
52 including /usr/share/doc and /usr/share/info. So you should really
53 consider it all rather than limiting your view to manpages.
54
55 3. In some cases, the compression can also improve performance by
56 reducing I/O overhead. While it's debatable whether it will happen on
57 manpages (see filesystem problem above too), there is no real
58 performance loss to be considered either. After all, manpages are read
59 rather rarely in the lifetime of production system, so any effort in
60 decompressing them is a minor problem.
61
62 > There is an option to support; the packages need to be reinstalled
63 > or there are untracked files;
64
65 Are you arguing for removing the option altogether? Because as far as I
66 can see, the problems involved in changing the value are rather
67 an argument not to change it...
68
69 > the manpage formatter needs to call
70 > external unpackers. All this to save 40M. I honestly don't think
71 > it's worth it.
72
73 Calling external tools in a pipeline is a pretty normal solution
74 in the *nix world. It could be even considered safer than implementing
75 multiple disjoint features in a single tool where an issue in one
76 module could damage other parts of the program.
77
78 If you really do mind it, pretty much every compression format
79 supported by Gentoo provides a simple library you could use. There are
80 also a few libraries that provide support for multiple compression
81 formats.
82
83 To summarize, I'm afraid you don't have any arguments besides using
84 non-standard tool whose upstream refuses to support normal Gentoo
85 installations (is Gentoo really the only distribution using manpage
86 compression other than gzip?). You have multiple solutions available
87 that do not require Gentoo to suddenly change the defaults that work
88 for most of our users (and some of them appreciate them). Those
89 include:
90
91 1. using another man page tool,
92
93 2. writing a wrapper that would decompress manpages for your tool,
94
95 3. patching your tool to support bzip2 (I see that Fabian provided you
96 with a patch already),
97
98 4. talking to your sysadmin to update the system to meet your needs.
99
100 --
101 Best regards,
102 Michał Górny
103 <http://dev.gentoo.org/~mgorny/>

Replies

Subject Author
Re: [gentoo-dev] bzipped manpages Kent Fredric <kentnl@g.o>