* [Buildroot] [git commit branch/next] Revert "package/util-linux: build programs and libraries in separate packages"
@ 2019-08-22 22:29 Arnout Vandecappelle
0 siblings, 0 replies; only message in thread
From: Arnout Vandecappelle @ 2019-08-22 22:29 UTC (permalink / raw)
To: buildroot
commit: https://git.buildroot.net/buildroot/commit/?id=1fa9b0d26717db17518e07932fc16da93279175b
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/next
This commit was pushed accidentally, it was not yet ready for prime
time. A better way to implement it was proposed.
In addition, it still introduces a circular dependency: systemd ->
polkit -> libglib2 -> util-linux -> systemd
This reverts commit 335c77b667c68975b65edd0ac0d6ec214a9cb1c6.
---
package/eudev/Config.in | 1 -
package/eudev/eudev.mk | 3 +-
package/systemd/Config.in | 1 -
package/systemd/systemd.mk | 4 +-
package/util-linux/Config.in | 59 -----
.../util-linux/{util-linux-programs => }/su.pam | 0
.../util-linux-libs/util-linux-libs.hash | 1 -
.../util-linux/util-linux-libs/util-linux-libs.mk | 91 -------
.../util-linux-programs/util-linux-programs.hash | 1 -
.../util-linux-programs/util-linux-programs.mk | 265 --------------------
package/util-linux/util-linux.mk | 269 +++++++++++++++++++--
11 files changed, 251 insertions(+), 444 deletions(-)
diff --git a/package/eudev/Config.in b/package/eudev/Config.in
index 2df94fb68c..2220265a55 100644
--- a/package/eudev/Config.in
+++ b/package/eudev/Config.in
@@ -6,7 +6,6 @@ config BR2_PACKAGE_EUDEV
depends on !BR2_STATIC_LIBS # kmod
select BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_UTIL_LINUX
- select BR2_PACKAGE_UTIL_LINUX_LIBS
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_KMOD
help
diff --git a/package/eudev/eudev.mk b/package/eudev/eudev.mk
index 21860643ae..78d0ea670e 100644
--- a/package/eudev/eudev.mk
+++ b/package/eudev/eudev.mk
@@ -18,8 +18,7 @@ EUDEV_CONF_OPTS = \
--enable-kmod \
--enable-blkid
-# eudev requires only the util-linux libraries at build time
-EUDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux-libs kmod
+EUDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux kmod
EUDEV_PROVIDES = udev
ifeq ($(BR2_ROOTFS_MERGED_USR),)
diff --git a/package/systemd/Config.in b/package/systemd/Config.in
index e8444e4e0b..ad72a269ef 100644
--- a/package/systemd/Config.in
+++ b/package/systemd/Config.in
@@ -23,7 +23,6 @@ menuconfig BR2_PACKAGE_SYSTEMD
select BR2_PACKAGE_DBUS # runtime dependency only
select BR2_PACKAGE_LIBCAP
select BR2_PACKAGE_UTIL_LINUX
- select BR2_PACKAGE_UTIL_LINUX_LIBS
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_BINARIES
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index 20a6c1b714..b6aac6dc53 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -9,14 +9,12 @@ SYSTEMD_SITE = $(call github,systemd,systemd,v$(SYSTEMD_VERSION))
SYSTEMD_LICENSE = LGPL-2.1+, GPL-2.0+ (udev), Public Domain (few source files, see README)
SYSTEMD_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 README
SYSTEMD_INSTALL_STAGING = YES
-
-# systemd requires only the util-linux libraries at build time
SYSTEMD_DEPENDENCIES = \
$(if $(BR2_PACKAGE_BASH_COMPLETION),bash-completion) \
host-gperf \
kmod \
libcap \
- util-linux-libs \
+ util-linux \
$(TARGET_NLS_DEPENDENCIES)
SYSTEMD_PROVIDES = udev
diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in
index a76ffeb518..39eb2c03a0 100644
--- a/package/util-linux/Config.in
+++ b/package/util-linux/Config.in
@@ -9,9 +9,6 @@ menuconfig BR2_PACKAGE_UTIL_LINUX
if BR2_PACKAGE_UTIL_LINUX
-config BR2_PACKAGE_UTIL_LINUX_LIBS
- bool
-
config BR2_PACKAGE_UTIL_LINUX_LIBBLKID
bool "libblkid"
depends on BR2_USE_MMU # fork()
@@ -44,9 +41,6 @@ config BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
Install libuuid.
-config BR2_PACKAGE_UTIL_LINUX_PROGRAMS
- bool
-
config BR2_PACKAGE_UTIL_LINUX_BINARIES
bool "basic set"
depends on BR2_USE_MMU # fork()
@@ -55,7 +49,6 @@ config BR2_PACKAGE_UTIL_LINUX_BINARIES
select BR2_PACKAGE_UTIL_LINUX_LIBFDISK
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Install the basic set of util-linux binaries.
@@ -74,19 +67,16 @@ config BR2_PACKAGE_UTIL_LINUX_BINARIES
config BR2_PACKAGE_UTIL_LINUX_AGETTY
bool "agetty"
depends on BR2_USE_MMU # fork()
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Alternative linux getty
config BR2_PACKAGE_UTIL_LINUX_BFS
bool "bfs"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
SCO bfs filesystem support
config BR2_PACKAGE_UTIL_LINUX_CAL
bool "cal"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Display a calendar, or some part of it
@@ -97,7 +87,6 @@ config BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH
depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam
depends on BR2_USE_MMU # linux-pam
select BR2_PACKAGE_LINUX_PAM
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Change login shell, real user name and information
@@ -107,13 +96,11 @@ comment "chfn/chsh needs a uClibc or glibc toolchain w/ wchar, locale, dynamic l
config BR2_PACKAGE_UTIL_LINUX_CHMEM
bool "chmem"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Sets a particular size or range of memory online or offline
config BR2_PACKAGE_UTIL_LINUX_CRAMFS
bool "cramfs utilities"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
select BR2_PACKAGE_ZLIB
help
Utilities for compressed ROM file system (fsck.cramfs,
@@ -125,19 +112,16 @@ config BR2_PACKAGE_UTIL_LINUX_EJECT
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Eject removable media
config BR2_PACKAGE_UTIL_LINUX_FALLOCATE
bool "fallocate"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Preallocate space to a file
config BR2_PACKAGE_UTIL_LINUX_FDFORMAT
bool "fdformat"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Low-level format a floppy disk
@@ -147,7 +131,6 @@ config BR2_PACKAGE_UTIL_LINUX_FSCK
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Check and repair a linux filesystem
@@ -158,43 +141,36 @@ config BR2_PACKAGE_UTIL_LINUX_HARDLINK
config BR2_PACKAGE_UTIL_LINUX_HWCLOCK
bool "hwclock"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Query or set the hardware clock (RTC)
config BR2_PACKAGE_UTIL_LINUX_IPCRM
bool "ipcrm"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Remove certain IPC resources
config BR2_PACKAGE_UTIL_LINUX_IPCS
bool "ipcs"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Show information on IPC facilities
config BR2_PACKAGE_UTIL_LINUX_KILL
bool "kill"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Send a signal to a process
config BR2_PACKAGE_UTIL_LINUX_LAST
bool "last"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Show a listing of last logged in users
config BR2_PACKAGE_UTIL_LINUX_LINE
bool "line"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Read one line
config BR2_PACKAGE_UTIL_LINUX_LOGGER
bool "logger"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Enter messages into the system log
@@ -206,7 +182,6 @@ config BR2_PACKAGE_UTIL_LINUX_LOGIN
depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam
depends on BR2_USE_MMU # fork(), linux-pam
select BR2_PACKAGE_LINUX_PAM
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Begin a session on the system
@@ -218,7 +193,6 @@ config BR2_PACKAGE_UTIL_LINUX_LOSETUP
bool "losetup"
depends on BR2_USE_MMU # libsmartcols
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Set up and control loop devices
@@ -226,7 +200,6 @@ config BR2_PACKAGE_UTIL_LINUX_LSLOGINS
bool "lslogins"
depends on BR2_USE_MMU # libsmartcols
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Display information about known users in the system
@@ -234,20 +207,17 @@ config BR2_PACKAGE_UTIL_LINUX_LSMEM
bool "lsmem"
depends on BR2_USE_MMU # libsmartcols
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
List the ranges of available memory with their online status
config BR2_PACKAGE_UTIL_LINUX_MESG
bool "mesg"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Control write access to your terminal
config BR2_PACKAGE_UTIL_LINUX_MINIX
bool "minix"
depends on BR2_USE_MMU # fork()
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Minix filesystem support
@@ -255,7 +225,6 @@ config BR2_PACKAGE_UTIL_LINUX_MORE
bool "more"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_NCURSES
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
File perusal filter for crt viewing
@@ -265,7 +234,6 @@ config BR2_PACKAGE_UTIL_LINUX_MOUNT
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Mount/unmount filesystems
@@ -275,19 +243,16 @@ config BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
See if a directory is a mountpoint
config BR2_PACKAGE_UTIL_LINUX_NEWGRP
bool "newgrp"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Log in to a new group
config BR2_PACKAGE_UTIL_LINUX_NOLOGIN
bool "nologin"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Politely refuse a login
@@ -295,7 +260,6 @@ config BR2_PACKAGE_UTIL_LINUX_NSENTER
bool "nsenter"
depends on BR2_USE_MMU # fork()
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Enter the namespaces of another process
@@ -306,7 +270,6 @@ config BR2_PACKAGE_UTIL_LINUX_PG
bool "pg"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_NCURSES
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Browse pagewise through text files
@@ -316,25 +279,21 @@ config BR2_PACKAGE_UTIL_LINUX_PARTX
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Partition utilities (addpart, delpart, partx)
config BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT
bool "pivot_root"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Change the root filesystem
config BR2_PACKAGE_UTIL_LINUX_RAW
bool "raw"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Build a linux raw character device
config BR2_PACKAGE_UTIL_LINUX_RENAME
bool "rename"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Rename files
@@ -342,7 +301,6 @@ config BR2_PACKAGE_UTIL_LINUX_RFKILL
bool "rfkill"
depends on BR2_USE_MMU # libsmartcols
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Tool for enabling and disabling wireless devices. This new
implementation is based upon, and backward compatible with,
@@ -355,7 +313,6 @@ config BR2_PACKAGE_UTIL_LINUX_RUNUSER
depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam
depends on BR2_USE_MMU # fork(), linux-pam
select BR2_PACKAGE_LINUX_PAM
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Run a command with substitute user and group ID (does not need
to ask for a password, because it may be executed by the root
@@ -367,21 +324,18 @@ comment "runuser needs a uClibc or glibc toolchain w/ wchar, locale, dynamic lib
config BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS
bool "scheduling utilities"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Scheduling utilities (chrt, ionice, taskset)
config BR2_PACKAGE_UTIL_LINUX_SETPRIV
bool "setpriv"
select BR2_PACKAGE_LIBCAP_NG
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Run a program with different Linux privilege settings
config BR2_PACKAGE_UTIL_LINUX_SETTERM
bool "setterm"
select BR2_PACKAGE_NCURSES
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Set terminal attributes
@@ -392,7 +346,6 @@ config BR2_PACKAGE_UTIL_LINUX_SU
depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam
depends on BR2_USE_MMU # fork(), linux-pam
select BR2_PACKAGE_LINUX_PAM
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Run a command with substitute user and group ID
@@ -403,41 +356,35 @@ comment "su needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library"
config BR2_PACKAGE_UTIL_LINUX_SULOGIN
bool "sulogin"
depends on BR2_USE_MMU # fork()
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Single-user login
config BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT
bool "switch_root"
depends on BR2_USE_MMU # fork()
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Switch to another filesystem as the root of the mount tree
config BR2_PACKAGE_UTIL_LINUX_TUNELP
bool "tunelp"
select BR2_PACKAGE_NCURSES
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Set various parameters for the lp device
config BR2_PACKAGE_UTIL_LINUX_UL
bool "ul"
select BR2_PACKAGE_NCURSES
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Do underlining
config BR2_PACKAGE_UTIL_LINUX_UNSHARE
bool "unshare"
depends on BR2_USE_MMU # fork()
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Run program with some namespaces unshared from parent
config BR2_PACKAGE_UTIL_LINUX_UTMPDUMP
bool "utmpdump"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Dump UTMP and WTMP files in raw format
@@ -445,21 +392,18 @@ config BR2_PACKAGE_UTIL_LINUX_UUIDD
bool "uuidd"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
UUID generation daemon
config BR2_PACKAGE_UTIL_LINUX_VIPW
bool "vipw"
depends on BR2_USE_MMU # fork()
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Edit the password, group, shadow-password or shadow-group file
config BR2_PACKAGE_UTIL_LINUX_WALL
bool "wall"
depends on BR2_USE_MMU # fork()
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Send a message to everybody's terminal
@@ -467,13 +411,11 @@ config BR2_PACKAGE_UTIL_LINUX_WDCTL
bool "wdctl"
depends on BR2_USE_MMU # libsmartcols
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Shows hardware watchdog status
config BR2_PACKAGE_UTIL_LINUX_WRITE
bool "write"
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Send a message to another user
@@ -481,7 +423,6 @@ config BR2_PACKAGE_UTIL_LINUX_ZRAMCTL
bool "zramctl"
depends on BR2_USE_MMU # libsmartcols
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
- select BR2_PACKAGE_UTIL_LINUX_PROGRAMS
help
Set up and control zram devices
diff --git a/package/util-linux/util-linux-programs/su.pam b/package/util-linux/su.pam
similarity index 100%
rename from package/util-linux/util-linux-programs/su.pam
rename to package/util-linux/su.pam
diff --git a/package/util-linux/util-linux-libs/util-linux-libs.hash b/package/util-linux/util-linux-libs/util-linux-libs.hash
deleted file mode 120000
index dc1b2f866a..0000000000
--- a/package/util-linux/util-linux-libs/util-linux-libs.hash
+++ /dev/null
@@ -1 +0,0 @@
-../util-linux.hash
\ No newline at end of file
diff --git a/package/util-linux/util-linux-libs/util-linux-libs.mk b/package/util-linux/util-linux-libs/util-linux-libs.mk
deleted file mode 100644
index 48d3373bb4..0000000000
--- a/package/util-linux/util-linux-libs/util-linux-libs.mk
+++ /dev/null
@@ -1,91 +0,0 @@
-################################################################################
-#
-# util-linux-libs
-#
-################################################################################
-
-UTIL_LINUX_LIBS_VERSION = $(UTIL_LINUX_VERSION)
-UTIL_LINUX_LIBS_SOURCE = $(UTIL_LINUX_SOURCE)
-UTIL_LINUX_LIBS_SITE = $(UTIL_LINUX_SITE)
-UTIL_LINUX_LIBS_DL_SUBDIR = $(UTIL_LINUX_DL_SUBDIR)
-
-# README.licensing claims that some files are GPL-2.0 only, but this is not true.
-# Some files are GPL-3.0+ but only in tests. rfkill uses an ISC-style license.
-UTIL_LINUX_LIBS_LICENSE = LGPL-2.1+ (libblkid, libfdisk, libmount, libsmartcols), BSD-3-Clause (libuuid)
-UTIL_LINUX_LIBS_LICENSE_FILES = README.licensing \
- Documentation/licenses/COPYING.BSD-3-Clause \
- Documentation/licenses/COPYING.LGPL-2.1-or-later
-UTIL_LINUX_LIBS_INSTALL_STAGING = YES
-# Prevent installing the libraries twice on TARGET_DIR
-UTIL_LINUX_LIBS_INSTALL_TARGET = $(if $(BR2_PACKAGE_UTIL_LINUX_PROGRAMS),NO,YES)
-UTIL_LINUX_LIBS_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES)
-UTIL_LINUX_LIBS_CONF_OPTS += \
- --disable-rpath \
- --disable-makeinstall-chown
-UTIL_LINUX_LIBS_LINK_LIBS = $(TARGET_NLS_LIBS)
-
-# systemd depends on util-linux so we enable systemd support
-# (which needs systemd to be installed)
-UTIL_LINUX_LIBS_CONF_OPTS += \
- --without-systemd \
- --with-systemdsystemunitdir=no
-
-HOST_UTIL_LINUX_LIBS_DEPENDENCIES = host-pkgconf
-HOST_UTIL_LINUX_LIBS_CONF_OPTS = --disable-makeinstall-chown
-
-# We also don't want the host-python dependency
-HOST_UTIL_LINUX_LIBS_CONF_OPTS += --without-python
-
-# Prevent the installation from attempting to move shared libraries from
-# ${usrlib_execdir} (/usr/lib) to ${libdir} (/lib), since both paths are
-# the same when merged usr is in use.
-ifeq ($(BR2_ROOTFS_MERGED_USR),y)
-UTIL_LINUX_LIBS_CONF_OPTS += --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib
-endif
-
-# Unfortunately, the util-linux does LIBS="" at the end of its
-# configure script. So we have to pass the proper LIBS value when
-# calling the configure script to make configure tests pass properly,
-# and then pass it again at build time.
-UTIL_LINUX_LIBS_CONF_ENV += LIBS="$(UTIL_LINUX_LIBS_LINK_LIBS)"
-UTIL_LINUX_LIBS_MAKE_OPTS += LIBS="$(UTIL_LINUX_LIBS_LINK_LIBS)"
-
-# libmount optionally uses selinux
-ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT)$(BR2_PACKAGE_LIBSELINUX),yy)
-UTIL_LINUX_LIBS_DEPENDENCIES += libselinux
-UTIL_LINUX_LIBS_CONF_OPTS += --with-selinux
-else
-UTIL_LINUX_LIBS_CONF_OPTS += --without-selinux
-endif
-
-# Disable utilities
-UTIL_LINUX_LIBS_CONF_OPTS += \
- --disable-all-programs \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),--enable-libblkid,--disable-libblkid) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LIBFDISK),--enable-libfdisk,--disable-libfdisk) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),--enable-libmount,--disable-libmount) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS),--enable-libsmartcols,--disable-libsmartcols) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LIBUUID),--enable-libuuid,--disable-libuuid)
-
-# In the host version of util-linux-libs, we only require libuuid and libmount
-# (plus libblkid as an indirect dependency of libmount). So disable libfdisk
-# and libsmartcols, unless BR2_PACKAGE_HOST_UTIL_LINUX is set.
-HOST_UTIL_LINUX_LIBS_CONF_OPTS += \
- --enable-libblkid \
- $(if $(BR2_PACKAGE_HOST_UTIL_LINUX),--enable-libfdisk,--disable-libfdisk) \
- --enable-libmount \
- $(if $(BR2_PACKAGE_HOST_UTIL_LINUX),--enable-libsmartcols,--disable-libsmartcols) \
- --enable-libuuid \
- --without-ncurses \
- --without-ncursesw \
- --without-tinfo
-
-# Install libmount Python bindings
-ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT)$(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),yy)
-UTIL_LINUX_LIBS_CONF_OPTS += --with-python --enable-pylibmount
-UTIL_LINUX_LIBS_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3)
-UTIL_LINUX_LIBS_CONF_OPTS += --without-python --disable-pylibmount
-endif
-
-$(eval $(autotools-package))
-$(eval $(host-autotools-package))
diff --git a/package/util-linux/util-linux-programs/util-linux-programs.hash b/package/util-linux/util-linux-programs/util-linux-programs.hash
deleted file mode 120000
index dc1b2f866a..0000000000
--- a/package/util-linux/util-linux-programs/util-linux-programs.hash
+++ /dev/null
@@ -1 +0,0 @@
-../util-linux.hash
\ No newline at end of file
diff --git a/package/util-linux/util-linux-programs/util-linux-programs.mk b/package/util-linux/util-linux-programs/util-linux-programs.mk
deleted file mode 100644
index 20335e9eb6..0000000000
--- a/package/util-linux/util-linux-programs/util-linux-programs.mk
+++ /dev/null
@@ -1,265 +0,0 @@
-################################################################################
-#
-# util-linux-programs
-#
-################################################################################
-
-UTIL_LINUX_PROGRAMS_VERSION = $(UTIL_LINUX_VERSION)
-UTIL_LINUX_PROGRAMS_SOURCE = $(UTIL_LINUX_SOURCE)
-UTIL_LINUX_PROGRAMS_SITE = $(UTIL_LINUX_SITE)
-UTIL_LINUX_PROGRAMS_DL_SUBDIR = $(UTIL_LINUX_DL_SUBDIR)
-
-# README.licensing claims that some files are GPL-2.0 only, but this is not true.
-# Some files are GPL-3.0+ but only in tests. rfkill uses an ISC-style license.
-UTIL_LINUX_PROGRAMS_LICENSE = GPL-2.0+, BSD-4-Clause, LGPL-2.1+ (libblkid, libfdisk, libmount, libsmartcols), BSD-3-Clause (libuuid) ISC (rfkill)
-UTIL_LINUX_PROGRAMS_LICENSE_FILES = README.licensing \
- Documentation/licenses/COPYING.BSD-3-Clause \
- Documentation/licenses/COPYING.BSD-4-Clause-UC \
- Documentation/licenses/COPYING.GPL-2.0-or-later \
- Documentation/licenses/COPYING.ISC \
- Documentation/licenses/COPYING.LGPL-2.1-or-later
-# Prevent installing the libraries twice on STAGING_DIR
-UTIL_LINUX_PROGRAMS_INSTALL_STAGING = $(if $(BR2_PACKAGE_UTIL_LINUX_LIBS),NO,YES)
-UTIL_LINUX_PROGRAMS_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES)
-UTIL_LINUX_PROGRAMS_CONF_OPTS += \
- --disable-rpath \
- --disable-makeinstall-chown
-UTIL_LINUX_PROGRAMS_LINK_LIBS = $(TARGET_NLS_LIBS)
-
-# udev support, provided by either eudev or systemd
-ifeq ($(BR2_PACKAGE_EUDEV),y)
-UTIL_LINUX_PROGRAMS_DEPENDENCIES += eudev
-endif
-ifeq ($(BR2_PACKAGE_SYSTEMD),y)
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --with-systemd --with-systemdsystemunitdir=/usr/lib/systemd/system
-UTIL_LINUX_PROGRAMS_DEPENDENCIES += systemd
-else
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --without-systemd --with-systemdsystemunitdir=no
-endif
-ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --with-udev
-else
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --without-udev
-endif
-
-HOST_UTIL_LINUX_PROGRAMS_DEPENDENCIES = host-pkgconf
-
-# We also don't want the host-python dependency
-HOST_UTIL_LINUX_PROGRAMS_CONF_OPTS = --without-python
-
-# Prevent the installation from attempting to move shared libraries from
-# ${usrlib_execdir} (/usr/lib) to ${libdir} (/lib), since both paths are
-# the same when merged usr is in use.
-ifeq ($(BR2_ROOTFS_MERGED_USR),y)
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib
-endif
-
-ifeq ($(BR2_PACKAGE_NCURSES),y)
-UTIL_LINUX_PROGRAMS_DEPENDENCIES += ncurses
-ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --with-ncursesw
-UTIL_LINUX_PROGRAMS_CONF_ENV += NCURSESW6_CONFIG=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS)
-else
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --without-ncursesw --with-ncurses --disable-widechar
-UTIL_LINUX_PROGRAMS_CONF_ENV += NCURSES6_CONFIG=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS)
-endif
-else
-ifeq ($(BR2_USE_WCHAR),y)
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --enable-widechar
-else
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --disable-widechar
-endif
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --without-ncursesw --without-ncurses
-endif
-
-ifeq ($(BR2_PACKAGE_LIBCAP_NG),y)
-UTIL_LINUX_PROGRAMS_DEPENDENCIES += libcap-ng
-endif
-
-# Unfortunately, the util-linux does LIBS="" at the end of its
-# configure script. So we have to pass the proper LIBS value when
-# calling the configure script to make configure tests pass properly,
-# and then pass it again at build time.
-UTIL_LINUX_PROGRAMS_CONF_ENV += LIBS="$(UTIL_LINUX_PROGRAMS_LINK_LIBS)"
-UTIL_LINUX_PROGRAMS_MAKE_OPTS += LIBS="$(UTIL_LINUX_PROGRAMS_LINK_LIBS)"
-
-ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
-UTIL_LINUX_PROGRAMS_DEPENDENCIES += libselinux
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --with-selinux
-define UTIL_LINUX_PROGRAMS_SELINUX_PAMFILES_TWEAK
- $(foreach f,su su-l,
- $(SED) 's/^# \(.*pam_selinux.so.*\)$$/\1/' \
- $(TARGET_DIR)/etc/pam.d/$(f)
- )
-endef
-else
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --without-selinux
-endif
-
-# Used by cramfs utils
-UTIL_LINUX_PROGRAMS_DEPENDENCIES += $(if $(BR2_PACKAGE_ZLIB),zlib)
-
-# Used by login-utils
-UTIL_LINUX_PROGRAMS_DEPENDENCIES += $(if $(BR2_PACKAGE_LINUX_PAM),linux-pam)
-
-# Used by hardlink
-UTIL_LINUX_PROGRAMS_DEPENDENCIES += $(if $(BR2_PACKAGE_PCRE2),pcre2)
-
-# Disable/Enable utilities
-UTIL_LINUX_PROGRAMS_CONF_OPTS += \
- $(if $(BR2_PACKAGE_UTIL_LINUX_BINARIES),--enable-all-programs,--disable-all-programs) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_AGETTY),--enable-agetty,--disable-agetty) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_BFS),--enable-bfs,--disable-bfs) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_CAL),--enable-cal,--disable-cal) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH),--enable-chfn-chsh,--disable-chfn-chsh) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_CHMEM),--enable-chmem,--disable-chmem) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_CRAMFS),--enable-cramfs,--disable-cramfs) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_EJECT),--enable-eject,--disable-eject) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_FALLOCATE),--enable-fallocate,--disable-fallocate) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_FDFORMAT),--enable-fdformat,--disable-fdformat) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_FSCK),--enable-fsck,--disable-fsck) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_HARDLINK),--enable-hardlink,--disable-hardlink) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_HWCLOCK),--enable-hwclock,--disable-hwclock) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_IPCRM),--enable-ipcrm,--disable-ipcrm) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_IPCS),--enable-ipcs,--disable-ipcs) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_KILL),--enable-kill,--disable-kill) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LAST),--enable-last,--disable-last) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),--enable-libblkid,--disable-libblkid) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LIBFDISK),--enable-libfdisk,--disable-libfdisk) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),--enable-libmount,--disable-libmount) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS),--enable-libsmartcols,--disable-libsmartcols) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LIBUUID),--enable-libuuid,--disable-libuuid) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LINE),--enable-line,--disable-line) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LOGGER),--enable-logger,--disable-logger) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LOGIN),--enable-login,--disable-login) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LOSETUP),--enable-losetup,--disable-losetup) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LSLOGINS),--enable-lslogins,--disable-lslogins) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LSMEM),--enable-lsmem,--disable-lsmem) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_MESG),--enable-mesg,--disable-mesg) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_MINIX),--enable-minix,--disable-minix) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_MORE),--enable-more,--disable-more) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_MOUNT),--enable-mount,--disable-mount) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT),--enable-mountpoint,--disable-mountpoint) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_NEWGRP),--enable-newgrp,--disable-newgrp) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_NOLOGIN),--enable-nologin,--disable-nologin) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_NSENTER),--enable-nsenter,--disable-nsenter) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_PARTX),--enable-partx,--disable-partx) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_PG),--enable-pg,--disable-pg) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT),--enable-pivot_root,--disable-pivot_root) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_RAW),--enable-raw,--disable-raw) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_RENAME),--enable-rename,--disable-rename) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_RFKILL),--enable-rfkill,--disable-rfkill) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_RUNUSER),--enable-runuser,--disable-runuser) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS),--enable-schedutils,--disable-schedutils) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_SETPRIV),--enable-setpriv,--disable-setpriv) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_SETTERM),--enable-setterm,--disable-setterm) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_SU),--enable-su,--disable-su) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_SULOGIN),--enable-sulogin,--disable-sulogin) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT),--enable-switch_root,--disable-switch_root) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_TUNELP),--enable-tunelp,--disable-tunelp) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_UL),--enable-ul,--disable-ul) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_UNSHARE),--enable-unshare,--disable-unshare) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_UTMPDUMP),--enable-utmpdump,--disable-utmpdump) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_UUIDD),--enable-uuidd,--disable-uuidd) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_VIPW),--enable-vipw,--disable-vipw) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_WALL),--enable-wall,--disable-wall) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_WDCTL),--enable-wdctl,--disable-wdctl) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_WRITE),--enable-write,--disable-write) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_ZRAMCTL),--enable-zramctl,--disable-zramctl)
-
-# In the host version of util-linux, we only require libuuid and
-# libmount (plus libblkid as an indirect dependency of libmount).
-# So disable all of the programs, unless BR2_PACKAGE_HOST_UTIL_LINUX is set
-
-HOST_UTIL_LINUX_PROGRAMS_CONF_OPTS += \
- --enable-libblkid \
- --enable-libmount \
- --enable-libuuid \
- --without-ncurses \
- --without-ncursesw \
- --without-tinfo
-
-ifeq ($(BR2_PACKAGE_HOST_UTIL_LINUX),y)
-HOST_UTIL_LINUX_PROGRAMS_CONF_OPTS += --disable-makeinstall-chown
-# disable commands that have ncurses dependency, as well as
-# other ones that are useless on the host
-HOST_UTIL_LINUX_PROGRAMS_CONF_OPTS += \
- --disable-agetty \
- --disable-chfn-chsh \
- --disable-chmem \
- --disable-login \
- --disable-lslogins \
- --disable-mesg \
- --disable-more \
- --disable-newgrp \
- --disable-nologin \
- --disable-nsenter \
- --disable-pg \
- --disable-rfkill \
- --disable-schedutils \
- --disable-setpriv \
- --disable-setterm \
- --disable-su \
- --disable-sulogin \
- --disable-tunelp \
- --disable-ul \
- --disable-unshare \
- --disable-uuidd \
- --disable-vipw \
- --disable-wall \
- --disable-wdctl \
- --disable-write \
- --disable-zramctl
-# Used by cramfs utils
-HOST_UTIL_LINUX_PROGRAMS_PROGRAMS_DEPENDENCIES += host-zlib
-else
-HOST_UTIL_LINUX_PROGRAMS_CONF_OPTS += --disable-all-programs
-endif
-
-# Install libmount Python bindings
-ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT)$(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),yy)
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --with-python --enable-pylibmount
-UTIL_LINUX_PROGRAMS_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3)
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --without-python --disable-pylibmount
-endif
-
-ifeq ($(BR2_PACKAGE_READLINE),y)
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --with-readline
-UTIL_LINUX_PROGRAMS_LINK_LIBS += $(if $(BR2_STATIC_LIBS),-lcurses)
-UTIL_LINUX_PROGRAMS_DEPENDENCIES += readline
-else
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --without-readline
-endif
-
-ifeq ($(BR2_PACKAGE_AUDIT),y)
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --with-audit
-UTIL_LINUX_PROGRAMS_DEPENDENCIES += audit
-else
-UTIL_LINUX_PROGRAMS_CONF_OPTS += --without-audit
-endif
-
-# Install PAM configuration files
-ifeq ($(BR2_PACKAGE_UTIL_LINUX_SU)$(BR2_PACKAGE_LINUX_PAM),yy)
-define UTIL_LINUX_PROGRAMS_INSTALL_PAMFILES
- $(INSTALL) -D -m 0644 $(UTIL_LINUX_PROGRAMS_PKGDIR)su.pam \
- $(TARGET_DIR)/etc/pam.d/su
- $(INSTALL) -m 0644 $(UTIL_LINUX_PROGRAMS_PKGDIR)su.pam \
- $(TARGET_DIR)/etc/pam.d/su-l
- $(UTIL_LINUX_PROGRAMS_SELINUX_PAMFILES_TWEAK)
-endef
-UTIL_LINUX_PROGRAMS_POST_INSTALL_TARGET_HOOKS += UTIL_LINUX_PROGRAMS_INSTALL_PAMFILES
-endif
-
-# Install agetty->getty symlink to avoid breakage when there's no busybox
-ifeq ($(BR2_PACKAGE_UTIL_LINUX_AGETTY),y)
-ifeq ($(BR2_PACKAGE_BUSYBOX),)
-define UTIL_LINUX_PROGRAMS_GETTY_SYMLINK
- ln -sf agetty $(TARGET_DIR)/sbin/getty
-endef
-endif
-endif
-
-UTIL_LINUX_PROGRAMS_POST_INSTALL_TARGET_HOOKS += UTIL_LINUX_PROGRAMS_GETTY_SYMLINK
-
-$(eval $(autotools-package))
-$(eval $(host-autotools-package))
diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk
index bf22219878..99ec39467f 100644
--- a/package/util-linux/util-linux.mk
+++ b/package/util-linux/util-linux.mk
@@ -9,23 +9,252 @@ UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR)
UTIL_LINUX_SOURCE = util-linux-$(UTIL_LINUX_VERSION).tar.xz
UTIL_LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/util-linux/v$(UTIL_LINUX_VERSION_MAJOR)
-UTIL_LINUX_EXTRACT_CMDS =
-HOST_UTIL_LINUX_EXTRACT_CMDS =
-
-# util-linux-libs installs on STAGING_DIR only, for build time,
-# util-linux-programs installs on TARGET_DIR only, for run time.
-# We may need both.
-UTIL_LINUX_DEPENDENCIES = \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LIBS),util-linux-libs) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_PROGRAMS),util-linux-programs)
-
-# In the host version we need either host-util-linux-programs or
-# host-util-linux-libs, only.
-HOST_UTIL_LINUX_DEPENDENCIES = \
- host-util-linux-$(if $(BR2_PACKAGE_HOST_UTIL_LINUX),programs,libs)
-
-$(eval $(generic-package))
-$(eval $(host-generic-package))
-
-include package/util-linux/util-linux-libs/util-linux-libs.mk
-include package/util-linux/util-linux-programs/util-linux-programs.mk
+# README.licensing claims that some files are GPL-2.0 only, but this is not true.
+# Some files are GPL-3.0+ but only in tests. rfkill uses an ISC-style license.
+UTIL_LINUX_LICENSE = GPL-2.0+, BSD-4-Clause, LGPL-2.1+ (libblkid, libfdisk, libmount), BSD-3-Clause (libuuid) ISC (rfkill)
+UTIL_LINUX_LICENSE_FILES = README.licensing \
+ Documentation/licenses/COPYING.BSD-3-Clause \
+ Documentation/licenses/COPYING.BSD-4-Clause-UC \
+ Documentation/licenses/COPYING.GPL-2.0-or-later \
+ Documentation/licenses/COPYING.ISC \
+ Documentation/licenses/COPYING.LGPL-2.1-or-later
+UTIL_LINUX_INSTALL_STAGING = YES
+UTIL_LINUX_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES)
+UTIL_LINUX_CONF_OPTS += \
+ --disable-rpath \
+ --disable-makeinstall-chown
+UTIL_LINUX_LIBS = $(TARGET_NLS_LIBS)
+
+# system depends on util-linux so we enable systemd support
+# (which needs systemd to be installed)
+UTIL_LINUX_CONF_OPTS += \
+ --without-systemd \
+ --with-systemdsystemunitdir=no
+
+HOST_UTIL_LINUX_DEPENDENCIES = host-pkgconf
+
+# We also don't want the host-python dependency
+HOST_UTIL_LINUX_CONF_OPTS = --without-python
+
+# Prevent the installation from attempting to move shared libraries from
+# ${usrlib_execdir} (/usr/lib) to ${libdir} (/lib), since both paths are
+# the same when merged usr is in use.
+ifeq ($(BR2_ROOTFS_MERGED_USR),y)
+UTIL_LINUX_CONF_OPTS += --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib
+endif
+
+ifeq ($(BR2_PACKAGE_NCURSES),y)
+UTIL_LINUX_DEPENDENCIES += ncurses
+ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
+UTIL_LINUX_CONF_OPTS += --with-ncursesw
+UTIL_LINUX_CONF_ENV += NCURSESW6_CONFIG=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS)
+else
+UTIL_LINUX_CONF_OPTS += --without-ncursesw --with-ncurses --disable-widechar
+UTIL_LINUX_CONF_ENV += NCURSES6_CONFIG=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS)
+endif
+else
+ifeq ($(BR2_USE_WCHAR),y)
+UTIL_LINUX_CONF_OPTS += --enable-widechar
+else
+UTIL_LINUX_CONF_OPTS += --disable-widechar
+endif
+UTIL_LINUX_CONF_OPTS += --without-ncursesw --without-ncurses
+endif
+
+ifeq ($(BR2_PACKAGE_LIBCAP_NG),y)
+UTIL_LINUX_DEPENDENCIES += libcap-ng
+endif
+
+# Unfortunately, the util-linux does LIBS="" at the end of its
+# configure script. So we have to pass the proper LIBS value when
+# calling the configure script to make configure tests pass properly,
+# and then pass it again at build time.
+UTIL_LINUX_CONF_ENV += LIBS="$(UTIL_LINUX_LIBS)"
+UTIL_LINUX_MAKE_OPTS += LIBS="$(UTIL_LINUX_LIBS)"
+
+ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
+UTIL_LINUX_DEPENDENCIES += libselinux
+UTIL_LINUX_CONF_OPTS += --with-selinux
+define UTIL_LINUX_SELINUX_PAMFILES_TWEAK
+ $(foreach f,su su-l,
+ $(SED) 's/^# \(.*pam_selinux.so.*\)$$/\1/' \
+ $(TARGET_DIR)/etc/pam.d/$(f)
+ )
+endef
+else
+UTIL_LINUX_CONF_OPTS += --without-selinux
+endif
+
+# Used by cramfs utils
+UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_ZLIB),zlib)
+
+# Used by login-utils
+UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_LINUX_PAM),linux-pam)
+
+# Used by hardlink
+UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_PCRE2),pcre2)
+
+# Disable/Enable utilities
+UTIL_LINUX_CONF_OPTS += \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_BINARIES),--enable-all-programs,--disable-all-programs) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_AGETTY),--enable-agetty,--disable-agetty) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_BFS),--enable-bfs,--disable-bfs) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_CAL),--enable-cal,--disable-cal) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH),--enable-chfn-chsh,--disable-chfn-chsh) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_CHMEM),--enable-chmem,--disable-chmem) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_CRAMFS),--enable-cramfs,--disable-cramfs) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_EJECT),--enable-eject,--disable-eject) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_FALLOCATE),--enable-fallocate,--disable-fallocate) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_FDFORMAT),--enable-fdformat,--disable-fdformat) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_FSCK),--enable-fsck,--disable-fsck) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_HARDLINK),--enable-hardlink,--disable-hardlink) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_HWCLOCK),--enable-hwclock,--disable-hwclock) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_IPCRM),--enable-ipcrm,--disable-ipcrm) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_IPCS),--enable-ipcs,--disable-ipcs) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_KILL),--enable-kill,--disable-kill) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LAST),--enable-last,--disable-last) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),--enable-libblkid,--disable-libblkid) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LIBFDISK),--enable-libfdisk,--disable-libfdisk) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),--enable-libmount,--disable-libmount) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS),--enable-libsmartcols,--disable-libsmartcols) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LIBUUID),--enable-libuuid,--disable-libuuid) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LINE),--enable-line,--disable-line) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LOGGER),--enable-logger,--disable-logger) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LOGIN),--enable-login,--disable-login) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LOSETUP),--enable-losetup,--disable-losetup) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LSLOGINS),--enable-lslogins,--disable-lslogins) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LSMEM),--enable-lsmem,--disable-lsmem) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_MESG),--enable-mesg,--disable-mesg) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_MINIX),--enable-minix,--disable-minix) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_MORE),--enable-more,--disable-more) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_MOUNT),--enable-mount,--disable-mount) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT),--enable-mountpoint,--disable-mountpoint) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_NEWGRP),--enable-newgrp,--disable-newgrp) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_NOLOGIN),--enable-nologin,--disable-nologin) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_NSENTER),--enable-nsenter,--disable-nsenter) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_PARTX),--enable-partx,--disable-partx) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_PG),--enable-pg,--disable-pg) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT),--enable-pivot_root,--disable-pivot_root) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_RAW),--enable-raw,--disable-raw) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_RENAME),--enable-rename,--disable-rename) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_RFKILL),--enable-rfkill,--disable-rfkill) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_RUNUSER),--enable-runuser,--disable-runuser) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS),--enable-schedutils,--disable-schedutils) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_SETPRIV),--enable-setpriv,--disable-setpriv) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_SETTERM),--enable-setterm,--disable-setterm) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_SU),--enable-su,--disable-su) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_SULOGIN),--enable-sulogin,--disable-sulogin) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT),--enable-switch_root,--disable-switch_root) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_TUNELP),--enable-tunelp,--disable-tunelp) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_UL),--enable-ul,--disable-ul) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_UNSHARE),--enable-unshare,--disable-unshare) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_UTMPDUMP),--enable-utmpdump,--disable-utmpdump) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_UUIDD),--enable-uuidd,--disable-uuidd) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_VIPW),--enable-vipw,--disable-vipw) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_WALL),--enable-wall,--disable-wall) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_WDCTL),--enable-wdctl,--disable-wdctl) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_WRITE),--enable-write,--disable-write) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_ZRAMCTL),--enable-zramctl,--disable-zramctl)
+
+# In the host version of util-linux, we only require libuuid and
+# libmount (plus libblkid as an indirect dependency of libmount).
+# So disable all of the programs, unless BR2_PACKAGE_HOST_UTIL_LINUX is set
+
+HOST_UTIL_LINUX_CONF_OPTS += \
+ --enable-libblkid \
+ --enable-libmount \
+ --enable-libuuid \
+ --without-ncurses \
+ --without-ncursesw \
+ --without-tinfo
+
+ifeq ($(BR2_PACKAGE_HOST_UTIL_LINUX),y)
+HOST_UTIL_LINUX_CONF_OPTS += --disable-makeinstall-chown
+# disable commands that have ncurses dependency, as well as
+# other ones that are useless on the host
+HOST_UTIL_LINUX_CONF_OPTS += \
+ --disable-agetty \
+ --disable-chfn-chsh \
+ --disable-chmem \
+ --disable-login \
+ --disable-lslogins \
+ --disable-mesg \
+ --disable-more \
+ --disable-newgrp \
+ --disable-nologin \
+ --disable-nsenter \
+ --disable-pg \
+ --disable-rfkill \
+ --disable-schedutils \
+ --disable-setpriv \
+ --disable-setterm \
+ --disable-su \
+ --disable-sulogin \
+ --disable-tunelp \
+ --disable-ul \
+ --disable-unshare \
+ --disable-uuidd \
+ --disable-vipw \
+ --disable-wall \
+ --disable-wdctl \
+ --disable-write \
+ --disable-zramctl
+# Used by cramfs utils
+HOST_UTIL_LINUX_DEPENDENCIES += host-zlib
+else
+HOST_UTIL_LINUX_CONF_OPTS += --disable-all-programs
+endif
+
+# Install libmount Python bindings
+ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y)
+UTIL_LINUX_CONF_OPTS += --with-python
+UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3)
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),y)
+UTIL_LINUX_CONF_OPTS += --enable-pylibmount
+else
+UTIL_LINUX_CONF_OPTS += --disable-pylibmount
+endif
+else
+UTIL_LINUX_CONF_OPTS += --without-python
+endif
+
+ifeq ($(BR2_PACKAGE_READLINE),y)
+UTIL_LINUX_CONF_OPTS += --with-readline
+UTIL_LINUX_LIBS += $(if $(BR2_STATIC_LIBS),-lcurses)
+UTIL_LINUX_DEPENDENCIES += readline
+else
+UTIL_LINUX_CONF_OPTS += --without-readline
+endif
+
+ifeq ($(BR2_PACKAGE_AUDIT),y)
+UTIL_LINUX_CONF_OPTS += --with-audit
+UTIL_LINUX_DEPENDENCIES += audit
+else
+UTIL_LINUX_CONF_OPTS += --without-audit
+endif
+
+# Install PAM configuration files
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_SU)$(BR2_PACKAGE_LINUX_PAM),yy)
+define UTIL_LINUX_INSTALL_PAMFILES
+ $(INSTALL) -m 0644 package/util-linux/su.pam \
+ $(TARGET_DIR)/etc/pam.d/su
+ $(INSTALL) -m 0644 package/util-linux/su.pam \
+ $(TARGET_DIR)/etc/pam.d/su-l
+ $(UTIL_LINUX_SELINUX_PAMFILES_TWEAK)
+endef
+UTIL_LINUX_POST_INSTALL_TARGET_HOOKS += UTIL_LINUX_INSTALL_PAMFILES
+endif
+
+# Install agetty->getty symlink to avoid breakage when there's no busybox
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_AGETTY),y)
+ifeq ($(BR2_PACKAGE_BUSYBOX),)
+define UTIL_LINUX_GETTY_SYMLINK
+ ln -sf agetty $(TARGET_DIR)/sbin/getty
+endef
+endif
+endif
+
+UTIL_LINUX_POST_INSTALL_TARGET_HOOKS += UTIL_LINUX_GETTY_SYMLINK
+
+$(eval $(autotools-package))
+$(eval $(host-autotools-package))
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2019-08-22 22:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-22 22:29 [Buildroot] [git commit branch/next] Revert "package/util-linux: build programs and libraries in separate packages" Arnout Vandecappelle
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.