Linux From ScratchThis 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
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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 ...
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.
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).
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
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.