Opened 13 years ago

Closed 13 years ago

#82 closed defect (fixed)

Man-pages package overwrites pages earlier package(s) have installed.

Reported by: ken Owned by: clfs-commits@…
Priority: major Milestone: CLFS Standard 1.0.0
Component: BOOK Version: CLFS Standard 1.0.0
Keywords: Cc:

Description

Long, long ago, LFS used to explicitly install man-pages very early in the final system, so that pages from the installed packages would not be overwritten. My understanding is that the kernel and library pages from man-pages should be up-to-date, but others are for things that used to only have info pages, or are posix pages (0p etc) which no package overwrites.

Looking to see what man-pages had installed, I recognised a few commands, and checked against my log from coreutils. Grep and diff tell me that the following pages were overwritten:

@@ -1,86 +1,199 @@
 /usr/share/man/man1/chgrp.1
 /usr/share/man/man1/chmod.1
 /usr/share/man/man1/chown.1
 /usr/share/man/man1/cp.1
 /usr/share/man/man1/dd.1
 /usr/share/man/man1/df.1
 /usr/share/man/man1/dir.1
 /usr/share/man/man1/dircolors.1
 /usr/share/man/man1/du.1
 /usr/share/man/man1/install.1
 /usr/share/man/man1/ln.1
 /usr/share/man/man1/ls.1
 /usr/share/man/man1/mkdir.1
 /usr/share/man/man1/mkfifo.1
 /usr/share/man/man1/mknod.1
 /usr/share/man/man1/mv.1
 /usr/share/man/man1/rm.1
 /usr/share/man/man1/rmdir.1
 /usr/share/man/man1/touch.1
 /usr/share/man/man1/vdir.1

Looking at only the first of these, I see that coreutils supplies an accurate page dated May 2006, but it has been overwritten by an old page derived from fileutils-4.0 and dated 2000-08.

Possibly, other packages are also affected.

The only dependency in the 'install' target for man-pages is 'install'.

There are no manual pages in glibc and the pages installed by gcc and binutils are not supplied in man-pages.

I propose that either we install man-pages at the beginning of the final system, or failing that as soon as the final toolchain is in place (after linux-headers, or after binutils). I guess that installing after binutils will not detract from the importance of the method used to build the toolchain, so it may be preferable.

Change History (4)

comment:1 Changed 13 years ago by chris@…

In many cases however, it may be better to use manpages installed by the man-pages packages. For example, many of the coreutils manpages are little more than the output of "[command] --help" plus "To see the whole manual use the info page", but the ones installed by the man-pages package are more descriptive. Then again, it probably wouldn't be worth it to go through each package's manpages and compare them with what's in the man-pages package, but I just wanted to mention the issue...

comment:2 Changed 13 years ago by ken

The pages I've listed are all from coreutils, and certainly that seems to be the main package where there are pages in man-pages as well as in the package. I've checked each page on the list above, and every one from coreutils is usable (i.e. lists all the options). Yes, some of them tell you that the full version is in the info page. The pages from man-pages for chgrp, chmod and chown are so old that they miss the --preserve-root option and the -H, -L, -P modifiers for -R.

Looking at LFS, as of 6.2 man-pages is installed after the headers, before glibc, so all packages can install any pages they supply over what is in man-pages.

comment:3 Changed 13 years ago by Jim Gifford

Let's move Man-Pages back to beginning. Any objections.

comment:4 Changed 13 years ago by Jim Gifford

Resolution: fixed
Status: newclosed

Fixed in r2317

Note: See TracTickets for help on using tickets.