initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
@@ -0,0 +1,30 @@
From 5f9b88f43ba7f98f81bde3538d5f4e5cd1a6c01c Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Thu, 5 Aug 2021 09:46:21 +0200
Subject: libuuid: include c.h to cover restrict keyword
References: https://github.com/karelzak/util-linux/issues/1405
Signed-off-by: Karel Zak <kzak@redhat.com>
[Retrieved from:
https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/commit/?id=5f9b88f43ba7f98f81bde3538d5f4e5cd1a6c01c]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
libuuid/src/unparse.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libuuid/src/unparse.c b/libuuid/src/unparse.c
index f9a5e4315..ffeed2ed6 100644
--- a/libuuid/src/unparse.c
+++ b/libuuid/src/unparse.c
@@ -33,6 +33,7 @@
*/
#include <stdio.h>
+#include "c.h"
#include "uuidP.h"
--
cgit 1.2.3-1.el7
@@ -0,0 +1,141 @@
From 84d38ae3eca523ef990cb848563cc63de25266e6 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Fri, 19 Nov 2021 14:19:03 +0100
Subject: [PATCH] libblkid: don't mark cache as "probed" if /sys not available
For "mount --all" we need to read the cache more than once in a short
time. The library checks the delay between probes, and if the delay is
too short, it does not read devices. This is a problem on boot when there
are no /sys, and the cache is empty. In this case, we need to check
for /sys until it's available constantly.
https://github.com/util-linux/util-linux/issues/1492
Signed-off-by: Karel Zak <kzak@redhat.com>
[Retrieved from:
https://github.com/util-linux/util-linux/commit/84d38ae3eca523ef990cb848563cc63de25266e6]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
libblkid/src/devname.c | 26 +++++++++++++++++---------
libblkid/src/resolve.c | 2 +-
libblkid/src/tag.c | 8 +++++---
3 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/libblkid/src/devname.c b/libblkid/src/devname.c
index 90a8245fc9..9a173e3489 100644
--- a/libblkid/src/devname.c
+++ b/libblkid/src/devname.c
@@ -429,6 +429,8 @@ sysfs_probe_all(blkid_cache cache, int only_if_new, int only_removable)
if (!sysfs)
return -BLKID_ERR_SYSFS;
+ DBG(DEVNAME, ul_debug(" probe /sys/block"));
+
/* scan /sys/block */
while ((dev = xreaddir(sysfs))) {
DIR *dir = NULL;
@@ -533,14 +535,18 @@ sysfs_probe_all(blkid_cache cache, int only_if_new, int only_removable)
/*
* Read the device data for all available block devices in the system.
*/
-static int probe_all(blkid_cache cache, int only_if_new)
+static int probe_all(blkid_cache cache, int only_if_new, int update_interval)
{
+ int rc;
+
if (!cache)
return -BLKID_ERR_PARAM;
if (cache->bic_flags & BLKID_BIC_FL_PROBED &&
- time(NULL) - cache->bic_time < BLKID_PROBE_INTERVAL)
+ time(NULL) - cache->bic_time < BLKID_PROBE_INTERVAL) {
+ DBG(PROBE, ul_debug("don't re-probe [delay < %d]", BLKID_PROBE_INTERVAL));
return 0;
+ }
blkid_read_cache(cache);
#ifdef VG_DIR
@@ -548,7 +554,13 @@ static int probe_all(blkid_cache cache, int only_if_new)
#endif
ubi_probe_all(cache, only_if_new);
- sysfs_probe_all(cache, only_if_new, 0);
+ rc = sysfs_probe_all(cache, only_if_new, 0);
+
+ /* Don't mark the change as "probed" if /sys not avalable */
+ if (update_interval && rc == 0) {
+ cache->bic_time = time(NULL);
+ cache->bic_flags |= BLKID_BIC_FL_PROBED;
+ }
blkid_flush_cache(cache);
return 0;
@@ -567,11 +579,7 @@ int blkid_probe_all(blkid_cache cache)
int ret;
DBG(PROBE, ul_debug("Begin blkid_probe_all()"));
- ret = probe_all(cache, 0);
- if (ret == 0) {
- cache->bic_time = time(NULL);
- cache->bic_flags |= BLKID_BIC_FL_PROBED;
- }
+ ret = probe_all(cache, 0, 1);
DBG(PROBE, ul_debug("End blkid_probe_all() [rc=%d]", ret));
return ret;
}
@@ -589,7 +597,7 @@ int blkid_probe_all_new(blkid_cache cache)
int ret;
DBG(PROBE, ul_debug("Begin blkid_probe_all_new()"));
- ret = probe_all(cache, 1);
+ ret = probe_all(cache, 1, 0);
DBG(PROBE, ul_debug("End blkid_probe_all_new() [rc=%d]", ret));
return ret;
}
diff --git a/libblkid/src/resolve.c b/libblkid/src/resolve.c
index 641b022860..16653fa8e1 100644
--- a/libblkid/src/resolve.c
+++ b/libblkid/src/resolve.c
@@ -32,7 +32,7 @@ char *blkid_get_tag_value(blkid_cache cache, const char *tagname,
blkid_cache c = cache;
char *ret = NULL;
- DBG(TAG, ul_debug("looking for %s on %s", tagname, devname));
+ DBG(TAG, ul_debug("looking for tag %s on %s device", tagname, devname));
if (!devname)
return NULL;
diff --git a/libblkid/src/tag.c b/libblkid/src/tag.c
index 390a648648..178336505f 100644
--- a/libblkid/src/tag.c
+++ b/libblkid/src/tag.c
@@ -326,14 +326,14 @@ blkid_dev blkid_find_dev_with_tag(blkid_cache cache,
blkid_dev dev;
int pri;
struct list_head *p;
- int probe_new = 0;
+ int probe_new = 0, probe_all = 0;
if (!cache || !type || !value)
return NULL;
blkid_read_cache(cache);
- DBG(TAG, ul_debug("looking for %s=%s in cache", type, value));
+ DBG(TAG, ul_debug("looking for tag %s=%s in cache", type, value));
try_again:
pri = -1;
@@ -366,9 +366,11 @@ blkid_dev blkid_find_dev_with_tag(blkid_cache cache,
goto try_again;
}
- if (!dev && !(cache->bic_flags & BLKID_BIC_FL_PROBED)) {
+ if (!dev && !probe_all
+ && !(cache->bic_flags & BLKID_BIC_FL_PROBED)) {
if (blkid_probe_all(cache) < 0)
return NULL;
+ probe_all++;
goto try_again;
}
return dev;
+451
View File
@@ -0,0 +1,451 @@
menuconfig BR2_PACKAGE_UTIL_LINUX
bool "util-linux"
help
Various useful/essential linux libraries and utilities.
Things like mkfs, mkswap, swapon, fdisk, mount, dmesg, etc...
http://www.kernel.org/pub/linux/utils/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()
help
Install libblkid.
config BR2_PACKAGE_UTIL_LINUX_LIBFDISK
bool "libfdisk"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
Install libfdisk.
config BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
bool "libmount"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
help
Install libmount.
config BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
bool "libsmartcols"
depends on BR2_USE_MMU # fork()
help
Install libsmartcols.
config BR2_PACKAGE_UTIL_LINUX_LIBUUID
bool "libuuid"
help
Install libuuid.
config BR2_PACKAGE_UTIL_LINUX_BINARIES
bool "basic set"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_LIBFDISK
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
Install the basic set of util-linux binaries.
blkdiscard, blkid, blockdev, chcpu, choom, col, colcrt, colrm,
column, ctrlaltdel, dmesg, fdisk, fincore, findfs, findmnt,
flock, fsfreeze, fstrim, getopt, hexdump, ipcmk, isosize,
ldattach, look, lsblk, lscpu, lsipc, lslocks, lsns, mcookie,
mkfs, mkswap, namei, prlimit, readprofile, renice, rev,
rtcwake, script, scriptlive, scriptreplay, setarch, setsid,
sfdisk, swaplabel, swapoff, swapon, uuidgen, uuidparse,
whereis, wipefs
The setarch utility also installs architecture-specific
symlinks like linux32, linux64, uname26, i386 and x86_64.
config BR2_PACKAGE_UTIL_LINUX_AGETTY
bool "agetty"
depends on BR2_USE_MMU # fork()
help
Alternative linux getty
config BR2_PACKAGE_UTIL_LINUX_BFS
bool "bfs"
help
SCO bfs filesystem support
config BR2_PACKAGE_UTIL_LINUX_CAL
bool "cal"
help
Display a calendar, or some part of it
config BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH
bool "chfn/chsh"
depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) # linux-pam
depends on !BR2_STATIC_LIBS
depends on BR2_USE_MMU # linux-pam
select BR2_PACKAGE_LINUX_PAM
help
Change login shell, real user name and information
comment "chfn/chsh needs a toolchain w/ wchar, locale, dynamic library"
depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \
|| BR2_STATIC_LIBS
config BR2_PACKAGE_UTIL_LINUX_CHMEM
bool "chmem"
help
Sets a particular size or range of memory online or offline
config BR2_PACKAGE_UTIL_LINUX_CRAMFS
bool "cramfs utilities"
select BR2_PACKAGE_ZLIB
help
Utilities for compressed ROM file system (fsck.cramfs,
mkfs.cramfs)
config BR2_PACKAGE_UTIL_LINUX_EJECT
bool "eject"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
Eject removable media
config BR2_PACKAGE_UTIL_LINUX_FALLOCATE
bool "fallocate"
help
Preallocate space to a file
config BR2_PACKAGE_UTIL_LINUX_FDFORMAT
bool "fdformat"
help
Low-level format a floppy disk
config BR2_PACKAGE_UTIL_LINUX_FSCK
bool "fsck"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
Check and repair a linux filesystem
config BR2_PACKAGE_UTIL_LINUX_HARDLINK
bool "hardlink"
help
Consolidate duplicate files via hardlinks
config BR2_PACKAGE_UTIL_LINUX_HWCLOCK
bool "hwclock"
help
Query or set the hardware clock (RTC)
config BR2_PACKAGE_UTIL_LINUX_IPCRM
bool "ipcrm"
help
Remove certain IPC resources
config BR2_PACKAGE_UTIL_LINUX_IPCS
bool "ipcs"
help
Show information on IPC facilities
config BR2_PACKAGE_UTIL_LINUX_KILL
bool "kill"
help
Send a signal to a process
config BR2_PACKAGE_UTIL_LINUX_LAST
bool "last"
help
Show a listing of last logged in users
config BR2_PACKAGE_UTIL_LINUX_LINE
bool "line"
help
Read one line
config BR2_PACKAGE_UTIL_LINUX_LOGGER
bool "logger"
help
Enter messages into the system log
config BR2_PACKAGE_UTIL_LINUX_LOGIN
bool "login"
depends on BR2_ENABLE_LOCALE # linux-pam
depends on BR2_USE_WCHAR # linux-pam
depends on !BR2_STATIC_LIBS # linux-pam
depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam
depends on BR2_USE_MMU # fork(), linux-pam
select BR2_PACKAGE_LINUX_PAM
help
Begin a session on the system
comment "login needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library"
depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \
|| BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL
config BR2_PACKAGE_UTIL_LINUX_LOSETUP
bool "losetup"
depends on BR2_USE_MMU # libsmartcols
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
help
Set up and control loop devices
config BR2_PACKAGE_UTIL_LINUX_LSLOGINS
bool "lslogins"
depends on BR2_USE_MMU # libsmartcols
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
help
Display information about known users in the system
config BR2_PACKAGE_UTIL_LINUX_LSMEM
bool "lsmem"
depends on BR2_USE_MMU # libsmartcols
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
help
List the ranges of available memory with their online status
config BR2_PACKAGE_UTIL_LINUX_MESG
bool "mesg"
help
Control write access to your terminal
config BR2_PACKAGE_UTIL_LINUX_MINIX
bool "minix"
depends on BR2_USE_MMU # fork()
help
Minix filesystem support
config BR2_PACKAGE_UTIL_LINUX_MORE
bool "more"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_NCURSES
help
File perusal filter for crt viewing
config BR2_PACKAGE_UTIL_LINUX_MOUNT
bool "mount/umount"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
Mount/unmount filesystems
config BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT
bool "mountpoint"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
See if a directory is a mountpoint
config BR2_PACKAGE_UTIL_LINUX_NEWGRP
bool "newgrp"
help
Log in to a new group
config BR2_PACKAGE_UTIL_LINUX_NOLOGIN
bool "nologin"
help
Politely refuse a login
config BR2_PACKAGE_UTIL_LINUX_NSENTER
bool "nsenter"
depends on BR2_USE_MMU # fork()
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
help
Enter the namespaces of another process
comment "nsenter needs a toolchain w/ headers >= 3.0"
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
config BR2_PACKAGE_UTIL_LINUX_PG
bool "pg"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_NCURSES
help
Browse pagewise through text files
config BR2_PACKAGE_UTIL_LINUX_PARTX
bool "partition utilities"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
Partition utilities (addpart, delpart, partx)
config BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT
bool "pivot_root"
help
Change the root filesystem
config BR2_PACKAGE_UTIL_LINUX_RAW
bool "raw"
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14
help
Build a linux raw character device
comment "raw needs a toolchain w/ headers < 5.14"
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14
config BR2_PACKAGE_UTIL_LINUX_RENAME
bool "rename"
help
Rename files
config BR2_PACKAGE_UTIL_LINUX_RFKILL
bool "rfkill"
depends on BR2_USE_MMU # libsmartcols
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
help
Tool for enabling and disabling wireless devices. This new
implementation is based upon, and backward compatible with,
the original rfkill from Johannes Berg and Marcel Holtmann.
config BR2_PACKAGE_UTIL_LINUX_RUNUSER
bool "runuser"
depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) # linux-pam
depends on !BR2_STATIC_LIBS
depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam
depends on BR2_USE_MMU # fork(), linux-pam
select BR2_PACKAGE_LINUX_PAM
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
user only)
comment "runuser needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library"
depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \
|| BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL
config BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS
bool "scheduling utilities"
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
help
Scheduling utilities (chrt, ionice, taskset, uclampset)
comment "scheduling utilities need a toolchain w/ headers >= 3.14"
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
config BR2_PACKAGE_UTIL_LINUX_SETPRIV
bool "setpriv"
select BR2_PACKAGE_LIBCAP_NG
help
Run a program with different Linux privilege settings
config BR2_PACKAGE_UTIL_LINUX_SETTERM
bool "setterm"
select BR2_PACKAGE_NCURSES
help
Set terminal attributes
config BR2_PACKAGE_UTIL_LINUX_SU
bool "su"
depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) # linux-pam
depends on !BR2_STATIC_LIBS
depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam
depends on BR2_USE_MMU # fork(), linux-pam
select BR2_PACKAGE_LINUX_PAM
help
Run a command with substitute user and group ID
comment "su needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library"
depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \
|| BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL
config BR2_PACKAGE_UTIL_LINUX_SULOGIN
bool "sulogin"
depends on BR2_USE_MMU # fork()
help
Single-user login
config BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT
bool "switch_root"
depends on BR2_USE_MMU # fork()
help
Switch to another filesystem as the root of the mount tree
config BR2_PACKAGE_UTIL_LINUX_TUNELP
bool "tunelp"
select BR2_PACKAGE_NCURSES
help
Set various parameters for the lp device
config BR2_PACKAGE_UTIL_LINUX_UL
bool "ul"
select BR2_PACKAGE_NCURSES
help
Do underlining
config BR2_PACKAGE_UTIL_LINUX_UNSHARE
bool "unshare"
depends on BR2_USE_MMU # fork()
help
Run program with some namespaces unshared from parent
config BR2_PACKAGE_UTIL_LINUX_UTMPDUMP
bool "utmpdump"
help
Dump UTMP and WTMP files in raw format
config BR2_PACKAGE_UTIL_LINUX_UUIDD
bool "uuidd"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
UUID generation daemon
config BR2_PACKAGE_UTIL_LINUX_VIPW
bool "vipw"
depends on BR2_USE_MMU # fork()
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()
help
Send a message to everybody's terminal
config BR2_PACKAGE_UTIL_LINUX_WIPEFS
bool "wipefs"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
help
wipefs can erase filesystem, raid or partition-table
signatures (magic strings) from the specified device
to make the signatures invisible for libblkid. wipefs
does not erase the filesystem itself nor any other data
from the device.
config BR2_PACKAGE_UTIL_LINUX_WDCTL
bool "wdctl"
depends on BR2_USE_MMU # libsmartcols
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
help
Shows hardware watchdog status
config BR2_PACKAGE_UTIL_LINUX_WRITE
bool "write"
help
Send a message to another user
config BR2_PACKAGE_UTIL_LINUX_ZRAMCTL
bool "zramctl"
depends on BR2_USE_MMU # libsmartcols
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
help
Set up and control zram devices
endif
+8
View File
@@ -0,0 +1,8 @@
config BR2_PACKAGE_HOST_UTIL_LINUX
bool "host util-linux"
help
Various useful/essential linux libraries and utilities.
Things like mkfs, mkswap, swapon, fdisk, mount, dmesg, etc...
http://www.kernel.org/pub/linux/utils/util-linux/
+15
View File
@@ -0,0 +1,15 @@
auth sufficient pam_rootok.so
auth required pam_wheel.so use_uid
auth required pam_env.so
auth required pam_unix.so nullok
account required pam_unix.so
password required pam_unix.so nullok
session required pam_selinux.so close
session required pam_limits.so
session required pam_env.so
session required pam_unix.so
session optional pam_lastlog.so
session required pam_selinux.so open
@@ -0,0 +1 @@
../0001-libuuid-include-c-h-to-cover-restrict-keyword.patch
@@ -0,0 +1 @@
../util-linux.hash
@@ -0,0 +1,91 @@
################################################################################
#
# util-linux-libs
#
################################################################################
# Please keep this file as similar as possible to util-linux.mk
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)
UTIL_LINUX_LIBS_CPE_ID_VENDOR = $(UTIL_LINUX_CPE_ID_VENDOR)
UTIL_LINUX_LIBS_CPE_ID_PRODUCT = $(UTIL_LINUX_CPE_ID_PRODUCT)
# 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 and optionally in hwclock
# (but we disable that option). rfkill uses an ISC-style license.
UTIL_LINUX_LIBS_LICENSE = LGPL-2.1+ (libblkid, libfdisk, libmount), 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
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)
# 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
# systemd depends on util-linux-libs so we disable systemd support
UTIL_LINUX_LIBS_CONF_OPTS += \
--without-systemd \
--with-systemdsystemunitdir=no
# systemd/eudev depend on util-linux-libs so we disable udev support
UTIL_LINUX_LIBS_CONF_OPTS += --without-udev
# No libs use wchar
UTIL_LINUX_LIBS_CONF_OPTS += --disable-widechar
# No libs use ncurses
UTIL_LINUX_LIBS_CONF_OPTS += --without-ncursesw --without-ncurses
# 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)
# libmount python bindings are separate, will be installed by full util-linux
UTIL_LINUX_LIBS_CONF_OPTS += --without-python --disable-pylibmount
# No libs use readline
UTIL_LINUX_LIBS_CONF_OPTS += --without-readline
# No libs use audit
UTIL_LINUX_LIBS_CONF_OPTS += --without-audit
# No libs use libmagic
UTIL_LINUX_LIBS_CONF_OPTS += --without-libmagic
$(eval $(autotools-package))
+9
View File
@@ -0,0 +1,9 @@
# From https://www.kernel.org/pub/linux/utils/util-linux/v2.37/sha256sums.asc
sha256 6a0764c1aae7fb607ef8a6dd2c0f6c47d5e5fd27aa08820abaad9ec14e28e9d9 util-linux-2.37.2.tar.xz
# License files, locally calculated
sha256 869660b5269f4f40a8a679da7f403ea3a6e71d46087aab5e14871b09bcb55955 README.licensing
sha256 9b718a9460fed5952466421235bc79eb49d4e9eacc920d7a9dd6285ab8fd6c6d Documentation/licenses/COPYING.BSD-3-Clause
sha256 ba7640f00d93e72e92b94b9d71f25ec53bac2f1682f5c4adcccb0018359f60f8 Documentation/licenses/COPYING.BSD-4-Clause-UC
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Documentation/licenses/COPYING.GPL-2.0-or-later
sha256 e53348ce276358e9997014071c5294b36a18c4b34f32f00ee57b9acce0aafd63 Documentation/licenses/COPYING.ISC
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 Documentation/licenses/COPYING.LGPL-2.1-or-later
+298
View File
@@ -0,0 +1,298 @@
################################################################################
#
# util-linux
#
################################################################################
# When making changes to this file, please check if
# util-linux-libs/util-linux-libs.mk needs to be updated accordingly as well.
UTIL_LINUX_VERSION_MAJOR = 2.37
UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).2
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)
# 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 and optionally in hwclock
# (but we disable that option). 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_CPE_ID_VENDOR = kernel
UTIL_LINUX_INSTALL_STAGING = YES
UTIL_LINUX_DEPENDENCIES = \
host-pkgconf \
$(if $(BR2_PACKAGE_UTIL_LINUX_LIBS),util-linux-libs) \
$(TARGET_NLS_DEPENDENCIES)
UTIL_LINUX_CONF_OPTS += \
--disable-rpath \
--disable-makeinstall-chown
UTIL_LINUX_LINK_LIBS = $(TARGET_NLS_LIBS)
HOST_UTIL_LINUX_DEPENDENCIES = host-pkgconf
# We also don't want the host-python dependency
HOST_UTIL_LINUX_CONF_OPTS = \
--without-systemd \
--with-systemdsystemunitdir=no \
--without-python
ifneq ($(BR2_PACKAGE_UTIL_LINUX_BINARIES)$(BR2_PACKAGE_UTIL_LINUX_CRAMFS)$(BR2_PACKAGE_UTIL_LINUX_FSCK)$(BR2_PACKAGE_UTIL_LINUX_LOSETUP),)
UTIL_LINUX_SELINUX_MODULES = fstools
endif
# 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_SYSTEMD),y)
UTIL_LINUX_CONF_OPTS += --with-systemd --with-systemdsystemunitdir=/usr/lib/systemd/system
UTIL_LINUX_DEPENDENCIES += systemd
else
UTIL_LINUX_CONF_OPTS += --without-systemd --with-systemdsystemunitdir=no
endif
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
UTIL_LINUX_CONF_OPTS += --with-udev
UTIL_LINUX_DEPENDENCIES += udev
else
UTIL_LINUX_CONF_OPTS += --without-udev
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
# 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_LINK_LIBS)"
UTIL_LINUX_MAKE_OPTS += LIBS="$(UTIL_LINUX_LINK_LIBS)"
ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
UTIL_LINUX_DEPENDENCIES += libselinux
UTIL_LINUX_CONF_OPTS += --with-selinux
else
UTIL_LINUX_CONF_OPTS += --without-selinux
define UTIL_LINUX_SELINUX_PAMFILES_TWEAK
$(foreach f,su su-l,
$(SED) '/^.*pam_selinux.so.*$$/d' \
$(TARGET_DIR)/etc/pam.d/$(f)
)
endef
endif
# Used by setpriv
UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBCAP_NG),libcap-ng)
# 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-gplv3,--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_WIPEFS),--enable-wipefs,--disable-wipefs) \
$(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-libmagic \
--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-runuser \
--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_LINK_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
ifeq ($(BR2_PACKAGE_FILE),y)
UTIL_LINUX_CONF_OPTS += --with-libmagic
UTIL_LINUX_DEPENDENCIES += file
else
UTIL_LINUX_CONF_OPTS += --without-libmagic
endif
# Install PAM configuration files
ifeq ($(BR2_PACKAGE_UTIL_LINUX_SU)$(BR2_PACKAGE_LINUX_PAM),yy)
define UTIL_LINUX_INSTALL_PAMFILES
$(INSTALL) -D -m 0644 package/util-linux/su.pam \
$(TARGET_DIR)/etc/pam.d/su
$(INSTALL) -D -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))
# Must be included after the autotools-package call, to make sure all variables
# are available
include package/util-linux/util-linux-libs/util-linux-libs.mk