Bug 996 - Manual pages should all be compressed
Manual pages should all be compressed
Status: CLOSED CURRENTRELEASE
Product: Red Hat Linux
Classification: Retired
Component: rpm (Show other bugs)
5.2
All Linux
low Severity low
: ---
: ---
Assigned To: Jeff Johnson
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 1999-01-30 10:14 EST by Ziv, Alon
Modified: 2008-05-01 11:37 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2002-05-02 10:02:39 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Ziv, Alon 1999-01-30 10:14:21 EST
Currently, some packages install their man pages in a
compressed format (.gz), while some install them
uncompressed.
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 ;-)
Comment 1 Aleksey Nogin 1999-04-01 16:18:59 EST
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.
Comment 2 Cristian Gafton 1999-04-07 16:24:59 EDT
This will be handled later by a new verson of rpm. It is not going to
happen for 6.0, though.
Comment 3 Cristian Gafton 1999-06-17 12:45:59 EDT
Forgot to assign to jbj
Comment 4 Jeff Johnson 1999-09-02 12:49:59 EDT
Nor is it going to happen for 6.1. It will be implemented in rpm
so I'm changing the component.
Comment 5 mp 1999-12-07 12:10:59 EST
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__man_compressor		gzip
%Distribution__compress_manpages	find $RPM_BUILD_ROOT/ -type 'f'| grep -E
'.*[0-9]($|x)' | xargs file | grep roff | cut -d: -f1 | xargs
%{Distribution__man_compressor}

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
Distribution object:

%{Distribution__compress_manpages}

, 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
right job.

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.


Bye,

  Markus
Comment 6 Aleksey Nogin 2002-05-02 10:02:34 EDT
rpm have been doing this for quite a while now. Reopening to mark as really closed.

Note You need to log in before you can comment on or make changes to this bug.