]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
doc: detail dependencies for users and distributions
authorBruno Haible <bruno@clisp.org>
Thu, 23 Jul 2026 19:54:35 +0000 (21:54 +0200)
committerPádraig Brady <P@draigBrady.com>
Sat, 25 Jul 2026 11:24:51 +0000 (12:24 +0100)
* DEPENDENCIES: New file, based on gnulib/DEPENDENCIES.
* Makefile.am (EXTRA_DIST): Add it.
* README-install: Reference it.
* README-prereq: Likewise.

DEPENDENCIES [new file with mode: 0644]
Makefile.am
README-install
README-prereq

diff --git a/DEPENDENCIES b/DEPENDENCIES
new file mode 100644 (file)
index 0000000..375b08d
--- /dev/null
@@ -0,0 +1,215 @@
+# build and runtime dependencies
+
+* systemd libraries
+  * Mandatory on Linux systems that use systemd (version 254 or newer).
+    Needed for the multi-user programs ('who', 'users', 'pinky', and
+    - if built - 'uptime'), so that they can access the database of
+    user logins from systemd-logind.
+    Related 'configure' option: --enable-systemd.
+  * Homepage:
+    https://systemd.io/
+  + Download:
+    https://github.com/systemd/systemd
+  + Pre-built package name:
+    - On Debian and Debian-based systems: libsystemd-dev,
+    - On Red Hat distributions: systemd-devel.
+    - Other: https://repology.org/project/systemd/versions
+
+* libselinux
+  + Mandatory on Linux systems that support SELinux.
+    Needed so that the file utilities respect the security contexts,
+    and for the 'runcon' and 'chcon' programs.
+  + Homepage:
+    https://github.com/SELinuxProject
+  + Download:
+    https://github.com/SELinuxProject/selinux
+  + Pre-built package name:
+    - On Debian and Debian-based systems: libselinux1-dev,
+    - On Red Hat distributions: libselinux-devel.
+    - Other: https://repology.org/project/libselinux/versions
+
+* libacl
+  + Recommended on Linux systems.
+    Needed so that the file utilities respect the access control lists (ACLs)
+    set on the original files.
+  + Homepage:
+    https://savannah.nongnu.org/projects/acl/
+  + Download:
+    https://download.savannah.nongnu.org/releases/acl/
+  + Pre-built package name:
+    - On Debian and Debian-based systems: libacl1-dev,
+    - On Red Hat distributions: libacl-devel.
+    - Other: https://repology.org/project/acl/versions
+
+* libattr
+  + Recommended on Linux systems.
+    Needed so that the file utilities respect the access control lists (ACLs)
+    set on the original files, with fewer system calls.
+  + Homepage:
+    https://savannah.nongnu.org/projects/attr/
+  + Download:
+    https://download.savannah.nongnu.org/releases/attr/
+  + Pre-built package name:
+    - On Debian and Debian-based systems: libattr1-dev,
+    - On Red Hat distributions: libattr-devel.
+    - Other: https://repology.org/project/attr/versions
+
+* libcap
+  + Recommended on Linux systems.
+    Needed so that 'ls' can display capabilities.
+  + Homepage:
+    https://sites.google.com/site/fullycapable/
+  + Download:
+    https://git.kernel.org/pub/scm/libs/libcap/libcap.git/
+  + Pre-built package name:
+    - On Debian and Debian-based systems: libcap-dev,
+    - On Red Hat distributions: libcap-devel.
+    - Other: https://repology.org/project/libcap/versions
+
+* GNU libiconv
+  + Not needed on systems with glibc and on NetBSD.
+    But highly recommended on all other systems.
+    Needed for character set conversion from/to Unicode.
+  + Homepage:
+    https://www.gnu.org/software/libiconv/
+  + Download:
+    https://ftp.gnu.org/gnu/libiconv/
+  + Pre-built package name:
+    - On Debian and Debian-based systems: --,
+    - On Red Hat distributions: --.
+    - Other: https://repology.org/project/libiconv/versions
+  + If it is installed in a nonstandard directory, pass the option
+    --with-libiconv-prefix=DIR to 'configure'.
+  + On mingw, a slim alternative is the 'win-iconv' package version 0.0.8
+    from https://github.com/win-iconv/win-iconv .
+
+* libintl, part of GNU gettext
+  + Not needed on systems with glibc.
+    But highly recommended on all other systems.
+    Needed for localization (translation) of messages to the user's
+    native language.
+  + Homepage:
+    https://www.gnu.org/software/gettext/
+  + Download:
+    https://ftp.gnu.org/gnu/gettext/
+  + Pre-built package name:
+    - On Debian and Debian-based systems: --,
+    - On Red Hat distributions: --.
+    - Other: https://repology.org/project/gettext/versions
+  + If it is installed in a nonstandard directory, pass the option
+    --with-libintl-prefix=DIR to 'configure'.
+
+* OpenSSL.
+  + Optional.
+    Needed for optimized crypto hash sums.
+    Related 'configure' option: --with-openssl.
+  + Homepage:
+    https://www.openssl.org/
+  + Download:
+    https://www.openssl.org/source/
+  + Pre-built package name:
+    - On Debian and Debian-based systems: libssl-dev,
+    - On Red Hat distributions: openssl-devel.
+    - Other: https://repology.org/project/openssl/versions
+
+* GNU gmp.
+  + Optional.
+    Needed for optimized multiprecision computations in the programs
+    'expr', 'basenc', 'factor'.
+  + Homepage:
+    https://www.gnu.org/software/gmp/
+  + Download:
+    https://ftp.gnu.org/gnu/gmp/
+  + Pre-built package name:
+    - On Debian and Debian-based systems: libgmp-dev,
+    - On Red Hat distributions: gmp-devel.
+    - Other: https://repology.org/project/gmp/versions
+  + If it is installed in a nonstandard directory, pass the option
+    --with-libgmp-prefix to 'configure'.
+
+* libsmack
+  + Optional on Linux systems.
+    Needed for supporting the "Simplified Mandatory Access Control Kernel"
+    Linux security module.
+  + Homepage:
+    https://schaufler-ca.com/
+  + Download:
+    https://github.com/smack-team/smack
+  + Pre-built package name:
+    - On Debian and Debian-based systems: --,
+    - On Red Hat distributions: --.
+    - Other: https://repology.org/project/smack-utils/versions
+
+
+# runtime only dependencies
+
+None.
+
+
+# build only dependencies
+
+* A C runtime, compiler, linker, etc.
+  + Mandatory.
+    Either the platform's native 'cc', or GCC 4.4 or newer.
+  + GCC Homepage:
+    https://gcc.gnu.org/
+  + Download:
+    https://ftp.gnu.org/gnu/gcc/
+  + Pre-built package name:
+    - On Debian and Debian-based systems: gcc,
+    - On Red Hat distributions: gcc,
+    - On Alpine Linux: gcc, linux-headers.
+    - Other: https://repology.org/project/gcc/versions
+
+* A 'make' utility.
+  + Mandatory.
+    Either the platform's native 'make' (on *BSD systems, and for in-tree
+    builds only), or GNU Make 4.0 or newer.
+  + GNU Make Homepage:
+    https://www.gnu.org/software/make/
+  + Download:
+    https://ftp.gnu.org/gnu/make/
+
+* A shell
+  + Mandatory.
+    Either the platform's native 'sh', or Bash.
+  + Homepage:
+    https://www.gnu.org/software/bash/
+  + Download:
+    https://ftp.gnu.org/gnu/bash/
+
+* Core POSIX utilities, including:
+    [ basename cat chgrp chmod chown cp dd echo expand expr
+    false hostname install kill ln ls md5sum mkdir mkfifo
+    mknod mv printenv pwd rm rmdir sleep sort tee test touch
+    true uname
+  + Mandatory.
+    Either the platform's native utilities, or GNU coreutils.
+  + Homepage:
+    https://www.gnu.org/software/coreutils/
+  + Download:
+    https://ftp.gnu.org/gnu/coreutils/
+
+* The comparison utilities 'cmp' and 'diff'.
+  + Mandatory.
+    Either the platform's native utilities, or GNU diffutils.
+  + Homepage:
+    https://www.gnu.org/software/diffutils/
+  + Download:
+    https://ftp.gnu.org/gnu/diffutils/
+
+* Grep.
+  + Mandatory.
+    Either the platform's native grep, or GNU grep.
+  + Homepage:
+    https://www.gnu.org/software/grep/
+  + Download:
+    https://ftp.gnu.org/gnu/grep/
+
+* Awk.
+  + Mandatory.
+    Either the platform's native awk, mawk, or nawk, or GNU awk.
+  + Homepage:
+    https://www.gnu.org/software/gawk/
+  + Download:
+    https://ftp.gnu.org/gnu/gawk/
index 2e9c4ed55278885efd17bed27d23970c0ba88f4e..2ea7ab936badeb7537e9e615072d3c52d12dd6b6 100644 (file)
@@ -24,6 +24,7 @@ EXTRA_DIST =                          \
   .prev-version                                \
   .version                             \
   .vg-suppressions                     \
+  DEPENDENCIES                         \
   README-install                       \
   THANKS.in                            \
   THANKS-to-translators                        \
index bbc03495194b6e2c043ec44ca00779c3dc0f3c7b..2482fd7b8371454268249322b2211ef20aef2719 100644 (file)
@@ -1,4 +1,5 @@
 Please see the file INSTALL for generic build and installation instructions.
+Please see the file DEPENDENCIES for coreutils specific prerequisites.
 This file details coreutils and system specific build instructions.
 
 
index 9ae4b12af907e40063aff73ab683e6926f4aec13..ed7584de117942ebf2e11269648c1be60c2a0071 100644 (file)
@@ -1,4 +1,5 @@
 This gives some notes on obtaining the tools required for development.
+Also note the build prerequisites in the DEPENDENCIES file.
 These tools can be used by the 'bootstrap' and 'configure' scripts,
 as well as by 'make'.  They include: