Red Hat Bugzilla – Bug 996
Manual pages should all be compressed
Last modified: 2008-05-01 11:37:49 EDT
Currently, some packages install their man pages in a
compressed format (.gz), while some install them
Since the current version of man can handle compressed man
files transparently, it's just a waste of space to install
uncompressed man pages (especially since compressing them
`by hand' makes rpm -V spew tons of errors...)
I've been using a wrapper aroung rpm -V to produce a
complete `system integrity' report once a week, so I can
throw in a fix for this anomaly, but it's a mess upgrading.
What I suggest is to add a tool that will traverse a man
tree and replace soft- and hard- links with `logical' links
(i.e., files of the form `.so manX/Yada.X'), and have the
build script of each rpm invoke this tool on the new
package's man tree, and then compress the result. It's
worth it! (PS: I already have such a tool... Now all bow
down three times and bless Larry Wall for Perl ;-)
I would suggest adding a %man directive to rpm (analogous to %doc
directive) that would make sure that the man page has right format,
right permissions and put it into the right place.
This will be handled later by a new verson of rpm. It is not going to
happen for 6.0, though.
Forgot to assign to jbj
Nor is it going to happen for 6.1. It will be implemented in rpm
so I'm changing the component.
My proposal to this issue is to represent properties of hardware-platform,
operating system, distribution, and other [OO-]classes by sets of macros.
E.g. for manpage compression, I use the definitions
%Distribution__compress_manpages find $RPM_BUILD_ROOT/ -type 'f'| grep -E
'.*[0-9]($|x)' | xargs file | grep roff | cut -d: -f1 | xargs
in my macro files, where ``man_compressor'' is an attribute of the object of the
``Distribution'' class, which is instantiated in my rpm-environment and
``compress_manpages'' is a method. /*Unfortunately, I had to use the ``__'' as
delimiter between class name and feature; I had preferred to use the ``.'', but
rpm is not able to handle macro names with a ``.'' in it.*/
In later parts of my %install section, I use then the method call to my
, which does the compression job then.
The big advantage of that is, that everybody only has to instantiate the
platform, os and distribution objects of his environment with the desired
parameters and a specfile based on that standard will automatically do the
If you are at all interested to make rpm a package manager, which is also
helpful in other environments than Redhat-only, such a more global viewpoint
will certainly be advantageous.
rpm have been doing this for quite a while now. Reopening to mark as really closed.