From 1a823d576a34f4e297297181c9af0a5abe273b6b Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 19 Jun 2023 18:52:11 +0800 Subject: [PATCH 1/3] dependencies: Add dependencies to pkgconf or systemd There are many packages using pkg-config (pkgconf actually) or systemd (systemd revision only) in the configure stage but we've not documented them yet. - D-Bus uses pkgconf to detect systemd. - E2fsprogs uses pkgconf to detect libblkid (in util-linux). eudev (in sysv revision) and systemd (in systemd revision). - IProute2 uses pkgconf to detect libcap and libelf. - Man-DB uses pkgconf to detect libpipeline and systemd. - Procps-ng uses pkgconf to detect ncurses and systemd (or elogind, but it's an external dependency). - Python uses pkgconf to detect libuuid (in util-linux from Ch 07), zlib, bzip2, xz, and openssl (and some external dependencies). - Systemd uses pkgconf to detect Zlib, Xz, etc. - Util-linux uses ncurses and systemd (and some external dependencies) Add all of them. There are also several packages finding for pkg-config but only uses it for external dependencies, for eg grep and vim. I've not added them here. --- appendices/dependencies.xml | 57 ++++++++++++++++++++++++------------- 1 file changed, 38 insertions(+), 19 deletions(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index f7d0606d1..775f90824 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -432,7 +432,9 @@ &external; - None + + libsubunit + @@ -489,7 +491,7 @@ &dependencies; Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, - Make, Sed, Systemd, and Util-linux + Make, Pkgconf, Sed, Systemd, and Util-linux @@ -606,7 +608,9 @@ &dependencies; Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, - Gzip, Make, Sed, Texinfo, and Util-linux + Gzip, Make, Pkgconf, Sed, + Systemd, Texinfo, and + Util-linux @@ -1485,7 +1489,7 @@ &dependencies; Bash, Bison, Coreutils, Flex, GCC, Glibc, Make, Libcap, Libelf, - Linux API Headers, and Zlib + Linux API Headers, Pkgconf, and Zlib @@ -1516,7 +1520,7 @@ Berkeley DB, iptables, - libbpf, + libbpf, libmnl, and libtirpc @@ -1822,7 +1826,7 @@ &testsuites; - Check + Check and Pkgconf @@ -2051,7 +2055,8 @@ &dependencies; Bash, Binutils, Bzip2, Coreutils, Flex, GCC, GDBM, Gettext, - Glibc, Grep, Groff, Gzip, Less, Libpipeline, Make, Sed, and Xz + Glibc, Grep, Groff, Gzip, Less, Libpipeline, Make, Pkgconf, Sed, + Systemd, and Xz @@ -2511,7 +2516,9 @@ &before; - Kmod + D-Bus, E2fsprogs, + IProute2, Kmod, Man-DB, Procps-ng, Python, + Systemd, and Util-linux @@ -2528,7 +2535,9 @@ &dependencies; - Bash, Binutils, Coreutils, GCC, Glibc, Make, and Ncurses + Bash, Binutils, Coreutils, GCC, Glibc, Make, Ncurses, + and Pkgconf, and Systemd @@ -2556,7 +2565,12 @@ &external; - None + + None + + elogind + + @@ -2606,7 +2620,8 @@ &dependencies; Bash, Binutils, Coreutils, Expat, GCC, Gdbm, Gettext, Glibc, - Grep, Libffi, Make, Ncurses, OpenSSL, Sed, and Util-linux + Grep, Libffi, Make, Ncurses, OpenSSL, Pkgconf, Sed, and + Util-linux @@ -2810,8 +2825,8 @@ &dependencies; Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Expat, Gawk, - GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Meson, Sed, Util-linux, - and Zstd + GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Meson, Pkgconf, Sed, + Util-linux, and Zstd @@ -2832,7 +2847,7 @@ &before; - None + D-Bus, E2fsprogs, Man-DB, Procps-ng, and Util-linux @@ -3054,8 +3069,8 @@ &dependencies; Bash, Binutils, Coreutils, Diffutils, - Eudev, Findutils, Gawk, - GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, + Eudev, File, Findutils, Gawk, + GCC, Gettext, Glibc, Grep, Make, Ncurses, Pkgconf, Sed, Systemd, and Zlib @@ -3087,10 +3102,14 @@ Libcap-NG, + libeconf, + libuser, + libutempter, Linux-PAM - and smartmontools + url="&blfs-book;postlfs/linux-pam.html">Linux-PAM, + smartmontools, and + slang From 8b0e00434682375f5d3cee41edf8b5351673f586 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 19 Jun 2023 19:08:51 +0800 Subject: [PATCH 2/3] dependencies: list GDC along with GNAT as a GCC external dependency It does not make too much sense to list GNAT but not GDC. They are for same purpose (building optional languages with bootstrap from binary requirement). --- appendices/dependencies.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 775f90824..1d4a0abac 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -1000,7 +1000,8 @@ &external; - GNAT + GDC, + GNAT, and ISL From 89375e276b044c87c02ea8b244def909cde11a01 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 19 Jun 2023 19:46:27 +0800 Subject: [PATCH 3/3] prologue/why: Tell why pkgconf is used instead of pkg-config --- prologue/why.xml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/prologue/why.xml b/prologue/why.xml index ea22b04df..7cfa14b7a 100644 --- a/prologue/why.xml +++ b/prologue/why.xml @@ -487,10 +487,14 @@ - Pkg-config + Pkgconf - This package provides a program that returns meta-data about an - installed library or package. + This package contains a program which helps to configure + compiler and linker flags for development libraries. The program + can be used as a drop-in replacement of + pkg-config, which is needed by the building + system of many packages. It's maintained more actively and slightly + faster than the original Pkg-config package.