LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch
User Name
Password
Linux From Scratch This Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.

Notices


Reply
  Search this Thread
Old 01-23-2018, 01:45 PM   #1
jr_bob_dobbs
Member
 
Registered: Mar 2009
Distribution: Bedrock, Devuan, Slackware, Linux From Scratch, Void
Posts: 651
Blog Entries: 135

Rep: Reputation: 188Reputation: 188
BLFS 8.1: cdrtools overwrites system man pages


So I was starting the installation of cdtrools, following the 8.1 book.

I do a destdir install so this involves me running build script(s) several times and poking around the file tree in detail. So I see things I'd otherwise not notice. Well, imagine my surprise to find the following man pages being installed into my $DESTDIR directory ...

Code:
usr/share/man/man3/sprintf.3
usr/share/man/man3/strlen.3
usr/share/man/man3/getline.3
usr/share/man/man3/fprintf.3
usr/share/man/man3/printf.3
usr/share/man/man3/fnmatch.3
usr/share/man/man3/fexecve.3
usr/share/man/man3/error.3
Very very odd. And odd that this was not mentioned in the 8.1 book.

Could someone confirm please?

Last edited by jr_bob_dobbs; 01-23-2018 at 01:47 PM.
 
Old 01-23-2018, 09:14 PM   #2
stoat
Member
 
Registered: May 2007
Distribution: LFS
Posts: 628

Rep: Reputation: 185Reputation: 185
Quote:
Originally Posted by jr_bob_dobbs

Could someone confirm please?
I can confirm that. I just now installed Cdrtools-3.02a07 from BLFS 8.1. Those in your list were originally installed by Man-Pages of the base LFS system, and all were re-installed by cdrtools-3.02a07. Here is the log of what was installed by cdrtools-3.02a07.

Code:
/usr/lib/libfind.a
/usr/lib/librscg.a
/usr/lib/libschily.a
/usr/lib/libedc_ecc.a
/usr/lib/libcdrdeflt.a
/usr/lib/libparanoia.a
/usr/lib/libmdigest.a
/usr/lib/libedc_ecc_dec.a
/usr/lib/libdeflt.a
/usr/lib/libscg.a
/usr/lib/profiled/libfind.a
/usr/lib/profiled/librscg.a
/usr/lib/profiled/libschily.a
/usr/lib/profiled/libedc_ecc.a
/usr/lib/profiled/libcdrdeflt.a
/usr/lib/profiled/libparanoia.a
/usr/lib/profiled/libmdigest.a
/usr/lib/profiled/libedc_ecc_dec.a
/usr/lib/profiled/libdeflt.a
/usr/lib/profiled/libscg.a
/usr/lib/profiled/libscgcmd.a
/usr/lib/profiled/libsiconv.a
/usr/lib/profiled/libfile.a
/usr/lib/profiled/libhfs.a
/usr/lib/libscgcmd.a
/usr/lib/libsiconv.a
/usr/lib/libfile.a
/usr/lib/libhfs.a
/usr/include/schily/x86_64-linux-cc/align.h
/usr/include/schily/x86_64-linux-cc/avoffset.h
/usr/include/schily/x86_64-linux-cc/xconfig.h
/usr/include/schily/shedit.h
/usr/include/schily/err_type.h
/usr/include/schily/sha3.h
/usr/bin/isovfy
/usr/bin/scgcheck
/usr/bin/mkisofs
/usr/bin/isodump
/usr/bin/scgskeleton
/usr/bin/isoinfo
/usr/bin/cdda2mp3
/usr/bin/cdda2ogg
/usr/bin/devdump
/usr/bin/cdrecord
/usr/bin/btcflash
/usr/bin/cdda2wav
/usr/bin/readcd
/usr/bin/isodebug
/usr/sbin/rscsi
/usr/share/doc/cdrtools-3.02a07/btcflash.ps
/usr/share/doc/cdrtools-3.02a07/mkisofs.ps
/usr/share/doc/cdrtools-3.02a07/README.QNX
/usr/share/doc/cdrtools-3.02a07/README.next
/usr/share/doc/cdrtools-3.02a07/README
/usr/share/doc/cdrtools-3.02a07/README.sgi
/usr/share/doc/cdrtools-3.02a07/scgskeleton.ps
/usr/share/doc/cdrtools-3.02a07/README.os2
/usr/share/doc/cdrtools-3.02a07/README.SSPM
/usr/share/doc/cdrtools-3.02a07/README.xxxBSD
/usr/share/doc/cdrtools-3.02a07/README.linux-shm
/usr/share/doc/cdrtools-3.02a07/readcd.ps
/usr/share/doc/cdrtools-3.02a07/ABOUT
/usr/share/doc/cdrtools-3.02a07/README.apple
/usr/share/doc/cdrtools-3.02a07/cdda2ogg.ps
/usr/share/doc/cdrtools-3.02a07/README.vms
/usr/share/doc/cdrtools-3.02a07/scgcheck.ps
/usr/share/doc/cdrtools-3.02a07/cdrecord.ps
/usr/share/doc/cdrtools-3.02a07/README.unixware
/usr/share/doc/cdrtools-3.02a07/isoinfo.ps
/usr/share/doc/cdrtools-3.02a07/README.BSDi
/usr/share/doc/cdrtools-3.02a07/cdda2wav.ps
/usr/share/doc/cdrtools-3.02a07/README.openserver
/usr/share/doc/cdrtools-3.02a07/README.NetBSD
/usr/share/doc/cdrtools-3.02a07/README.OpenBSD
/usr/share/doc/cdrtools-3.02a07/README.compile
/usr/share/doc/cdrtools-3.02a07/README.mkisofs
/usr/share/doc/cdrtools-3.02a07/README.FreeBSD
/usr/share/man/man8/isodump.8
/usr/share/man/man8/isoinfo.8
/usr/share/man/man8/isovfy.8
/usr/share/man/man8/mkhybrid.8
/usr/share/man/man8/mkisofs.8
/usr/share/man/man8/devdump.8
/usr/share/man/man8/isodebug.8
/usr/share/man/man1/cdrecord.1
/usr/share/man/man1/btcflash.1
/usr/share/man/man1/cdda2ogg.1
/usr/share/man/man1/readcd.1
/usr/share/man/man1/scgcheck.1
/usr/share/man/man1/rscsi.1
/usr/share/man/man1/cdda2wav.1
/usr/share/man/man1/cdda2mp3.1
/usr/share/man/man1/scgskeleton.1
/usr/share/man/man3/raisecond.3
/usr/share/man/man3/getallargs.3
/usr/share/man/man3/fgetline.3
/usr/share/man/man3/fdown.3
/usr/share/man/man3/format.3
/usr/share/man/man3/handlecond.3
/usr/share/man/man3/strcatl.3
/usr/share/man/man3/absfpath.3
/usr/share/man/man3/absnpath.3
/usr/share/man/man3/abspath.3
/usr/share/man/man3/astoi.3
/usr/share/man/man3/astol.3
/usr/share/man/man3/breakline.3
/usr/share/man/man3/comerr.3
/usr/share/man/man3/comerrno.3
/usr/share/man/man3/errmsg.3
/usr/share/man/man3/errmsgno.3
/usr/share/man/man3/error.3
/usr/share/man/man3/fdup.3
/usr/share/man/man3/fexecl.3
/usr/share/man/man3/fexecle.3
/usr/share/man/man3/fexecv.3
/usr/share/man/man3/fexecve.3
/usr/share/man/man3/file_raise.3
/usr/share/man/man3/fileclose.3
/usr/share/man/man3/fileluopen.3
/usr/share/man/man3/fileopen.3
/usr/share/man/man3/filepos.3
/usr/share/man/man3/fileread.3
/usr/share/man/man3/filereopen.3
/usr/share/man/man3/fileseek.3
/usr/share/man/man3/filesize.3
/usr/share/man/man3/filestat.3
/usr/share/man/man3/filewrite.3
/usr/share/man/man3/findline.3
/usr/share/man/man3/flush.3
/usr/share/man/man3/fnmatch.3
/usr/share/man/man3/fpipe.3
/usr/share/man/man3/fprintf.3
/usr/share/man/man3/getargs.3
/usr/share/man/man3/geterrno.3
/usr/share/man/man3/getfiles.3
/usr/share/man/man3/getline.3
/usr/share/man/man3/movebytes.3
/usr/share/man/man3/ofindline.3
/usr/share/man/man3/patcompile.3
/usr/share/man/man3/patmatch.3
/usr/share/man/man3/peekc.3
/usr/share/man/man3/printf.3
/usr/share/man/man3/resolvefpath.3
/usr/share/man/man3/resolvepath.3
/usr/share/man/man3/resolvenpath.3
/usr/share/man/man3/spawnl.3
/usr/share/man/man3/spawnv.3
/usr/share/man/man3/sprintf.3
/usr/share/man/man3/streql.3
/usr/share/man/man3/strlen.3
/usr/share/man/man5/makefiles.5
/usr/share/man/man5/makerules.5
The change log for BLFS 8.1 states that Cdrtools was re-introduced. I didn't know it was back in the book. Cdrtools was dropped by the BLFS book several years ago and replaced for a while by Xorriso. Later, that was replaced by Libisoburn which provides xorriso. I never liked any of those replacements and have been installing Cdrtools all that time as an external package (mostly just for mkisofs).

Last edited by stoat; 01-23-2018 at 11:41 PM.
 
Old 01-24-2018, 04:33 PM   #3
stoat
Member
 
Registered: May 2007
Distribution: LFS
Posts: 628

Rep: Reputation: 185Reputation: 185
I installed this thing again, this time in /usr/local. Those eight man page files are the only ones involved in this (at least of the Man-pages group). The ones installed by Cdrtools are different. If retaining the original Man-pages copies is desired, then maybe installing Cdrtools in /usr/local or /opt is not a bad idea. Anyway, here is what they look like...
Code:
PRINTF(3)                 Schily�s LIBRARY FUNCTIONS                 PRINTF(3)

NAME
       printf() - formats and prints to standard output

SYNOPSIS
       printf(format, arg1, ..., argn)
       char *format;

DESCRIPTION
       printf()  formats  its  arguments using the routine format().  See for-
       mat() for information about the options for formatting.

RETURNS
       none

SEE ALSO
       format(3), fprintf(3)

NOTES
       printf() buffers its output internally until it is  finished  then  the
       buffer is flushed.

Joerg Schilling                  15. Juli 1988                       PRINTF(3)
Code:
SPRINTF(3)                Schily�s LIBRARY FUNCTIONS                SPRINTF(3)

NAME
       sprintf() - formats and places output in buffer

SYNOPSIS
       sprintf(buf,form,arg1...argn)
       char *buf;
       char *form;

DESCRIPTION
       sprintf() is similar to fprintf() except the formatted output is placed
       into buf.

RETURNS
       none

SEE ALSO
       format(3), printf(3)

NOTES
       A NULL ('\0') is appended to the end of the formatted output.  There is
       no check for overflowing the buffer.

Joerg Schilling                  15. Juli 1988                      SPRINTF(3)
Code:
FPRINTF(3)                Schily�s LIBRARY FUNCTIONS                FPRINTF(3)

NAME
       fprintf() - formats and prints to a file

SYNOPSIS
       fprintf(file, format, arg1, ..., argn)
       FILE *file;
       char *format;

DESCRIPTION
       fprintf  formats  its  arguments using the format() routine, and writes
       the result on the given file.

       See format() for information about the available formatting options.

RETURNS
       none

SEE ALSO
       format(3), printf(3)

NOTES
       none

Joerg Schilling                  15. Juli 1988                      FPRINTF(3)
Code:
STRLEN(3)                 Schily�s LIBRARY FUNCTIONS                 STRLEN(3)

NAME
       strlen() - returns string length

SYNOPSIS
       int strlen(string)
       char *string;

DESCRIPTION
       strlen()  returns the length of string in characters. The trailing '\0'
       byte is NOT counted.

RETURNS
       Returns length of string.

NOTES
       For allocating space, remember to add one for the NULL.

Joerg Schilling                  15. Juli 1988                       STRLEN(3)
Code:
ERROR(3)                  Schily�s LIBRARY FUNCTIONS                  ERROR(3)

NAME
       error() - formats and prints on the standard error stream

SYNOPSIS
       error(format,arg1...argn);
       char *format

DESCRIPTION
       error is the equivalent of: fprintf(stderr, format, arg1...argn).

RETURNS
       none

SEE ALSO
       comerr(3),  comerrno(3),  error(3),  errmsg(3),  error(3)  geterrno(3),
       printf(3), format(3)

NOTES
       Normally stderr is unbuffered. Using error() allows a simple message to
       be  immediately  written  to  the  user  via  the standard error stream
       (stderr).

Joerg Schilling                  15. Juli 1988                        ERROR(3)
Code:
GETLINE(3)                Schily�s LIBRARY FUNCTIONS                GETLINE(3)

NAME
       getline() - reads a line from standard input

SYNOPSIS
       int getline(buffer,length)
       char *buffer;
       int length;

DESCRIPTION
       getline()  reads  up to length characters from the standard input using
       getc() (q.v.). The transfer is also terminated by  a  newline,  end  of
       file,  or read error. The buffer is NULL ('\0') terminated with the new
       line removed.

RETURNS
       Returns either the number of bytes in the buffer or a  standard  system
       error code (including EOF).

NOTES
       getline()  always  reads to the end of the input line, even if the line
       is longer than the buffer.

Joerg Schilling                  15. Juli 1988                      GETLINE(3)
Code:
FEXECVE(3)                Schily�s LIBRARY FUNCTIONS                FEXECVE(3)

NAME
       fexecve() - executes a program

SYNOPSIS
       fexecve (name, in, out, err, argptr, envptr)
       char *name;
       FILE *in, *out, *err;
       char **argptr, **envptr;

DESCRIPTION
       fexecve()  causes  the  current  process to execute a new program.  The
       text, data, and  stack  segments  of  the  process  are  discarded  and
       replaced  with  the text and data sections of the new object file and a
       new stack. The argument list and environment list are copied  into  the
       new address space where they become the arguments to the entry point of
       the new program.

       name is a string containing the name of the object file to be executed.
       If the name contains a slash (/), it is assumed to be a pathname to the
       file. If there is no slash, fexecve() searches for the file in  a  list
       of  directories contained in the environment variable PATH, or if there
       is no such variable, it searches  the  working  directory  first,  then
       /bin.  The  PATH variable (which is taken from the new environment list
       envptr ) has a value which is a series of directory names separated  by
       colons. The working directory is represented in this list by omitting a
       name (before the first colon, between two colons,  or  after  the  last
       colon). Thus the default search rules may be expressed as

       PATH=:/bin

       in,  out, and err are files which are to be substituted for stdin, std-
       out, and stderr, respectively, when the new program is executed.

       argptr and envptr are pointers to arrays of pointers to strings, with a
       NULL pointer as the last element of the array. By convention, argptr[0]
       is the name of the program.

RETURNS
       Returns a standard system error code; fexecve() does not return  if  it
       succeeds,  as  the program that calls it is no longer in this process's
       memory.

NOTES
       If a program needs to run another program without destroying itself, it
       can  use  fork(), some variation of fexecve(), and cwait(). These three
       functions are combined in spawnl() and spawnv().

Joerg Schilling                  15. Juli 1988                      FEXECVE(3)
Code:
FNMATCH(3)               BSD Library Functions Manual               FNMATCH(3)

NAME
     fnmatch -- match filename or pathname

SYNOPSIS
     #include <fnmatch.h>

     int
     fnmatch(const char *pattern, const char *string, int flags);

DESCRIPTION
     The fnmatch() function matches patterns according to the rules used by
     the shell.  It checks the string specified by the string argument to see
     if it matches the pattern specified by the pattern argument.

     The flags argument modifies the interpretation of pattern and string.
     The value of flags is the bitwise inclusive OR of any of the following
     constants, which are defined in the include file fnmatch.h.

     FNM_NOESCAPE  Normally, every occurrence of a backslash ('\') followed by
                   a character in pattern is replaced by that character.  This
                   is done to negate any special meaning for the character.
                   If the FNM_NOESCAPE flag is set, a backslash character is
                   treated as an ordinary character.

     FNM_PATHNAME  Slash characters in string must be explicitly matched by
                   slashes in pattern.  If this flag is not set, then slashes
                   are treated as regular characters.

     FNM_PERIOD    Leading periods in strings match periods in patterns.  The
                   definition of ``leading'' is related to the specification
                   of FNM_PATHNAME. A period is always ``leading'' if it is
                   the first character in string.  Additionally, if
                   FNM_PATHNAME is set, a period is ``leading'' if it immedi-
                   ately follows a slash.

RETURN VALUES
     The fnmatch() function returns zero if string matches the pattern speci-
     fied by pattern, otherwise, it returns the value FNM_NOMATCH.

SEE ALSO
     sh(1), glob(3), regex(3)

STANDARDS
     The fnmatch() function conforms to IEEE Std 1003.2 ("POSIX.2").

HISTORY
     The fnmatch() function first appeared in 4.4BSD.

BUGS
     The pattern '*' matches the empty string, even if FNM_PATHNAME is speci-
     fied.

BSD                             April 28, 1995                             BSD
 
Old 01-26-2018, 05:40 PM   #4
jr_bob_dobbs
Member
 
Registered: Mar 2009
Distribution: Bedrock, Devuan, Slackware, Linux From Scratch, Void
Posts: 651

Original Poster
Blog Entries: 135

Rep: Reputation: 188Reputation: 188
Thank you very much for the confirmation.

I ended up making my build script so that it omitted all man3 and man5 pages prior to packing it all up.
Code:
chmod 644 $PACKHERE/usr/share/man/man3/*
chmod 644 $PACKHERE/usr/share/man/man5/*
rm $PACKHERE/usr/share/man/man3/*
rm $PACKHERE/usr/share/man/man5/*
rmdir $PACKHERE/usr/share/man/man3
rmdir $PACKHERE/usr/share/man/man5
 
Old 01-26-2018, 08:10 PM   #5
stoat
Member
 
Registered: May 2007
Distribution: LFS
Posts: 628

Rep: Reputation: 185Reputation: 185
FWIW, maybe nothing, it also replaces /usr/bin/btcflash from dvd+rw-tools (or vice versa depending on the installation order I guess). This may be even less important than the man pages though because it appears to be a sort of old utility for flashing the firmware of a particular model of optical drive that would be 12+ years old today. As with the man pages, the versions are different with modifications by Schilling. I admit that I don't know the significance of any of this.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] man pages - man command phillyfilly Linux - Newbie 4 02-10-2014 05:41 AM
Using cdrtools in BLFS stoat Linux From Scratch 1 10-19-2012 09:13 AM
Does LQ still have man pages? blackhole54 LQ Suggestions & Feedback 3 01-28-2009 04:33 PM
Looking up System calls (man pages???) qikink Programming 5 08-14-2008 12:50 AM
How do I know where the man pages are? narik Linux - General 1 06-15-2004 01:22 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch

All times are GMT -5. The time now is 07:37 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration