Detailed below are concrete examples for
getting the prerequisites for particular systems.
-- linux - fedora
+- GNU/Linux - fedora
This shows the steps for getting the required tools to build coreutils 7.0
on a Fedora 8 system. We try to use official packages where possible.
The 3 methods described for making these required packages available, should
- help clarify build requirements on any linux system at least.
+ help clarify build requirements on any GNU/Linux system at least.
1. Make sure offical distro git package is installed
# yum install git
# find tests -name Makefile.am|xargs grep -wl PATH|xargs perl -pi -e 's,src/vg,src,'
#
# Create this symlink for suppressions (this is no longer necessary,
-# with linux-2.6.9 and valgrind-2.2.0):
+# with Linux kernel 2.6.9 and valgrind-2.2.0):
# ln -s $PWD/.vg-suppressions /tmp/cu-vg
# Create src/vg:
}
}
- /* On some systems (e.g., Linux-2.4.x),
+ /* On some systems (e.g., GNU/Linux 2.4.x),
the chown function resets the `special' permission bits.
Do *not* restore those bits; doing so would open a window in
which a malicious user, M, could subvert a chown command run
else if (nwritten == 0)
{
/* Some buggy drivers return 0 when one tries to write beyond
- a device's end. (Example: Linux 1.2.13 on /dev/fd0.)
+ a device's end. (Example: Linux kernel 1.2.13 on /dev/fd0.)
Set errno to ENOSPC so they get a sensible diagnostic. */
errno = ENOSPC;
break;
to indicate that lseek failed.
The offending behavior has been confirmed with an Exabyte SCSI tape
- drive accessed via /dev/nst0 on both Linux-2.2.17 and Linux-2.4.16. */
+ drive accessed via /dev/nst0 on both Linux 2.2.17 and 2.4.16 kernels. */
#ifdef __linux__
the input buffer; thus we allocate 2 pages of slop in the
real buffer. 8k above the blocksize shouldn't bother anyone.
- The page alignment is necessary on any linux system that supports
+ The page alignment is necessary on any Linux kernel that supports
either the SGI raw I/O patch or Steven Tweedies raw I/O patch.
It is necessary when accessing raw (i.e. character special) disk
devices on Unixware or other SVR4-derived system. */
/* Complain only when ftruncate fails on a regular file, a
directory, or a shared memory object, as POSIX 1003.1-2004
specifies ftruncate's behavior only for these file types.
- For example, do not complain when Linux 2.4 ftruncate
+ For example, do not complain when Linux kernel 2.4 ftruncate
fails on /dev/fd0. */
int ftruncate_errno = errno;
struct stat stdout_stat;
/* If true, invoke the `sync' system call before getting any usage data.
Using this option can make df very slow, especially with many or very
busy disks. Note that this may make a difference on some systems --
- SunOS 4.1.3, for one. It is *not* necessary on Linux. */
+ SunOS 4.1.3, for one. It is *not* necessary on GNU/Linux. */
static bool require_sync;
/* Desired exit status. */
}
/* Replace the first %b with precomputed aligned month names.
- Note on glibc-2.7 on linux at least this speeds up the whole `ls -lU`
+ Note on glibc-2.7 at least, this speeds up the whole `ls -lU`
process by around 17%, compared to letting strftime() handle the %b. */
static size_t
/* This code was introduced to handle the ambiguity in the semantics
of mv that is induced by the varying semantics of the rename function.
- Some systems (e.g., Linux) have a rename function that honors a
+ Some systems (e.g., GNU/Linux) have a rename function that honors a
trailing slash, while others (like Solaris 5,6,7) have a rename
- function that ignores a trailing slash. I believe the Linux
+ function that ignores a trailing slash. I believe the GNU/Linux
rename semantics are POSIX and susv2 compliant. */
if (remove_trailing_slashes)
The getcwd function performs nearly the same task, but is typically
unable to handle names longer than PATH_MAX. This function has
no such limitation. However, this function *can* fail due to
- permission problems or a lack of memory, while Linux's getcwd
+ permission problems or a lack of memory, while GNU/Linux's getcwd
function works regardless of restricted permissions on parent
directories. Upon failure, give a diagnostic and exit nonzero.
DO_UNLINK (fd_cwd, filename, x);
- /* Upon a failed attempt to unlink a directory, most non-Linux systems
- set errno to the POSIX-required value EPERM. In that case, change
- errno to EISDIR so that we emit a better diagnostic. */
+ /* Upon a failed attempt to unlink a directory, most non GNU/Linux
+ systems set errno to the POSIX-required value EPERM. In that case,
+ change errno to EISDIR so that we emit a better diagnostic. */
if (! x->recursive && errno == EPERM && is_dir_lstat (fd_cwd,
filename, st))
errno = EISDIR;
/* If the first write of the first pass for a given file
has just failed with EINVAL, turn off direct mode I/O
- and try again. This works around a bug in linux-2.4
- whereby opening with O_DIRECT would succeed for some
+ and try again. This works around a bug in Linux kernel
+ 2.4 whereby opening with O_DIRECT would succeed for some
file system types (e.g., ext3), but any attempt to
access a file through the resulting descriptor would
fail with EINVAL. */
Some systems have statfvs.f_basetype[FSTYPSZ] (AIX, HP-UX, and Solaris).
Others have statvfs.f_fstypename[_VFS_NAMELEN] (NetBSD 3.0).
Others have statfs.f_fstypename[MFSNAMELEN] (NetBSD 1.5.2).
- Still others have neither and have to get by with f_type (Linux).
+ Still others have neither and have to get by with f_type (GNU/Linux).
But f_type may only exist in statfs (Cygwin). */
static char const *
human_fstype (STRUCT_STATVFS const *statfsbuf)
error (EXIT_FAILURE, 0, _("user %s does not exist"), new_user);
/* Make a copy of the password information and point pw at the local
- copy instead. Otherwise, some systems (e.g. Linux) would clobber
+ copy instead. Otherwise, some systems (e.g. GNU/Linux) would clobber
the static data through the getlogin call from log_su.
Also, make sure pw->pw_shell is a nonempty string.
It may be NULL when NEW_USER is a username that is retrieved via NIS (YP),
Note that this is to minimize system call overhead.
Other values may be appropriate to minimize file system
- or disk overhead. For example on my current linux system
+ or disk overhead. For example on my current GNU/Linux system
the readahead setting is 128KiB which was read using:
file="."
#define AUTHORS proper_name_utf8 ("Padraig Brady", "P\303\241draig Brady")
-/* Note ETIMEDOUT is 110 on linux but this is non standard */
+/* Note ETIMEDOUT is 110 on GNU/Linux systems but this is non standard */
#define EXIT_TIMEDOUT 124
/* Internal failure. */
alarm (timeout);
/* We're just waiting for a single process here, so wait() suffices.
- Note the signal() calls above on linux and BSD at least, essentially
- call the lower level sigaction() with the SA_RESTART flag set, which
- ensures the following wait call will only return if the child exits,
- not on this process receiving a signal. Also we're not passing
- WUNTRACED | WCONTINUED to a waitpid() call and so will not get
+ Note the signal() calls above on GNU/Linux and BSD at least,
+ essentially call the lower level sigaction() with the SA_RESTART flag
+ set, which ensures the following wait call will only return if the
+ child exits, not on this process receiving a signal. Also we're not
+ passing WUNTRACED | WCONTINUED to a waitpid() call and so will not get
indication that the child has stopped or continued. */
wait (&status);
/* Complain only when ftruncate fails on a regular file, a
directory, or a shared memory object, as POSIX 1003.1-2004
specifies ftruncate's behavior only for these file types.
- For example, do not complain when Linux 2.4 ftruncate
+ For example, do not complain when Linux kernel 2.4 ftruncate
fails on /dev/fd0. */
int const ftruncate_errno = errno;
if (fstat (fd, &sb) != 0)
# so just check for the skip warning.
compare skip_err err || fail=1
else
- # On Linux at least lseek(>max file size) fails.
+ # On Linux kernels at least, lseek(>max file size) fails.
# error message should be "... cannot skip: strerror(EINVAL)"
grep "cannot skip:" err >/dev/null || fail=1
fi