Compare commits

3 Commits
main ... 1.1

11 changed files with 165 additions and 250 deletions

View File

@@ -14,11 +14,12 @@ Signed-off-by: Martin Wilck <mwilck@suse.com>
libmount/src/context_mount.c | 41 ++++++++++++++++++++++++++++++++---- libmount/src/context_mount.c | 41 ++++++++++++++++++++++++++++++++----
1 file changed, 37 insertions(+), 4 deletions(-) 1 file changed, 37 insertions(+), 4 deletions(-)
diff -ur util-linux-2.41.orig/libmount/src/context_mount.c util-linux-2.41/libmount/src/context_mount.c diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c
--- util-linux-2.41.orig/libmount/src/context_mount.c 2025-03-04 19:14:02.587173600 +0100 index f914c9b..a48483f 100644
+++ util-linux-2.41/libmount/src/context_mount.c 2025-04-08 14:03:59.173505340 +0200 --- a/libmount/src/context_mount.c
@@ -1469,6 +1469,32 @@ +++ b/libmount/src/context_mount.c
} @@ -1423,6 +1423,32 @@ done:
return rc;
} }
+/* +/*
@@ -50,7 +51,7 @@ diff -ur util-linux-2.41.orig/libmount/src/context_mount.c util-linux-2.41/libmo
int mnt_context_get_mount_excode( int mnt_context_get_mount_excode(
struct libmnt_context *cxt, struct libmnt_context *cxt,
int rc, int rc,
@@ -1772,10 +1798,17 @@ @@ -1670,10 +1696,17 @@ int mnt_context_get_mount_excode(
case ENODEV: case ENODEV:
if (!buf) if (!buf)
break; break;
@@ -72,3 +73,6 @@ diff -ur util-linux-2.41.orig/libmount/src/context_mount.c util-linux-2.41/libmo
snprintf(buf, bufsz, _("unknown filesystem type")); snprintf(buf, bufsz, _("unknown filesystem type"));
break; break;
--
2.19.2

View File

@@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEsMZNFDAcxu+u32Dk5LcdXuw5woQFAmeFCjYACgkQ5LcdXuw5
woQOfw//e1E0K/KQutqIhO4bl+gnpmq8lTP/2Bn3eCrrpoyM5V+FTh/gxVUbsU6H
uTUw7LZVAb1Ihwp6j3XnkqjzhOQ5yBe6iv2H5pfYQS6mSemIuIBoMd9PyCvNgh90
mW4jC6WnSdaH71QW9lAPPjog45v6WXR/8UwhTGf/0tKkxurwUyyIaAktG5FtGnlW
xVQ4tOyqAgcGdTtNFrD3pgO3rydYZIo/JMwL0mTpfcgzgbKZ1aJVx1J2mdRVZ5N9
MMLU6/6qAmxEy8EUb2AmlTCFjXNC2J7eRZGvRF1WzNbFBh6cShl/825OY/9Kvmzv
IWIfuFBvyLa6VPEDDw2U0dtrHXXGeSs7ACSKE+0aMDTrznPy6WuA4XRFIm5AuOt3
Gb/95ZK4udrijg5cquMZMzs5yFCiDNGYpwMWMAwHglNfPtwSKZ6tno0k1YrE/Y0P
9+dq2rjjpREHO5itFigLAJQVHVop3rp8EfRLONgXy4Sh/j7mUjjACE4DWwzBsJEQ
fEwTbb91oHJ2WtiTj3P2nOyVUMOv9PX3p8V/V0RXQcLe7gfCa198evEcA5Swcihm
aym4FE58Trr7FBRyQcRuU5B74i7VW5a+22yLpvG0l0jL8Aer8iAaG86yJjogTUHi
uQJKHnc2ZBtBB8XKht1KsqMs/5qlo6aoalo+bR9cewuoAJZNoa8=
=gB1/
-----END PGP SIGNATURE-----

BIN
util-linux-2.40.4.tar.xz LFS Normal file

Binary file not shown.

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEsMZNFDAcxu+u32Dk5LcdXuw5woQFAmhaXXIACgkQ5LcdXuw5
woTvGg/8DVhCA5WWXbRh+fxsTwb2vIWPgBpjV+wUqxiNeijPXDK7tDcNF9bHvXy7
X7ajs4y+ULzw2hBpBmI/k/Oi/enDYNo+Q76du6POjJkasgO0bY9kGVVFhd61BFfk
86yY0uOud3n/F/ht1rR3TdFaatA2QtK7AqGmh3xpQh7ELJ8v7uNT/uyU7ZtKJXT3
uEa217G1OYxxJlmLmob0jWYYuyjtg0nB/Xw4MiXrTqQbD4K0304eDsYu10DaRPW6
ZNEjnCYEaPPkZ1xH3L29ZZlrwZ47ApN52dsTRzoymQGhak5UsKvcL7pWAa3gIlk9
m3cL6TnuFXemBF6FqdAu2+xs1gX6zzPW8+2iff+9PrvODXSZPNBamwsVY6Ae39g9
8lRQH1RpyXdIB+wg3ItgaGxTYz6aEJU9nCsE2uHQF/IRSdEHsqG5rc00ax0h4Ihk
M+3z94Wuo+8NceY7kIM/lkH5sCnVV4WcpGImA3kvaVDkjYhb8XK8Yb3KFR8RE/rH
LOCRavkKXaKT4CaS+SLvOZoFTTLciw7oNqecopSsREPk0y4HKbPdfRrfcS38m4ex
HXp9yI2Rl7vThtDuNi0Bcp6GmLo4cgWgHBYSNZcnGH88LJk2Ya7Yamg+tUeynGCI
6RvQxxfDT8mMf5deEiiLgG9RxjSVlA53dIZf1tB1RUjjh61aLdQ=
=mm3H
-----END PGP SIGNATURE-----

Binary file not shown.

View File

@@ -0,0 +1,33 @@
From aaa9e718c88d6916b003da7ebcfe38a3c88df8e6 Mon Sep 17 00:00:00 2001
From: Mohamed Maatallah <hotelsmaatallahrecemail@gmail.com>
Date: Sat, 24 May 2025 03:16:09 +0100
Subject: [PATCH] Update setpwnam.c
---
login-utils/setpwnam.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/login-utils/setpwnam.c b/login-utils/setpwnam.c
index 3e3c1abde..95e470b5a 100644
--- a/login-utils/setpwnam.c
+++ b/login-utils/setpwnam.c
@@ -126,10 +126,12 @@ int setpwnam(struct passwd *pwd, const char *prefix)
}
/* Is this the username we were sent to change? */
- if (!found && linebuf[namelen] == ':' &&
- !strncmp(linebuf, pwd->pw_name, namelen)) {
- /* Yes! So go forth in the name of the Lord and
- * change it! */
+ if (!found &&
+ strncmp(linebuf, pwd->pw_name, namelen) == 0 &&
+ strlen(linebuf) > namelen &&
+ linebuf[namelen] == ':') {
+ /* Yes! But this time lets not walk past the end of the buffer
+ * in the name of the Lord, SUID, or anything else. */
if (putpwent(pwd, fp) < 0)
goto fail;
found = 1;
--
2.51.0

View File

@@ -0,0 +1,27 @@
From 9a36d77012c4c771f8d51eba46b6e62c29bf572a Mon Sep 17 00:00:00 2001
From: Mohamed Maatallah <hotelsmaatallahrecemail@gmail.com>
Date: Mon, 26 May 2025 10:06:02 +0100
Subject: [PATCH] Update bufflen
Update buflen
---
login-utils/setpwnam.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/login-utils/setpwnam.c b/login-utils/setpwnam.c
index 95e470b5a..7778e98f7 100644
--- a/login-utils/setpwnam.c
+++ b/login-utils/setpwnam.c
@@ -99,7 +99,8 @@ int setpwnam(struct passwd *pwd, const char *prefix)
goto fail;
namelen = strlen(pwd->pw_name);
-
+ if (namelen > buflen)
+ buflen += namelen;
linebuf = malloc(buflen);
if (!linebuf)
goto fail;
--
2.51.0

View File

@@ -15,7 +15,7 @@ echo -n "Checking login.defs variables in util-linux... " >&2
sed -n 's/^.*logindefs_setenv*("[A-Z0-9_]*", "\([A-Z0-9_]*\)".*$/\1/p' sed -n 's/^.*logindefs_setenv*("[A-Z0-9_]*", "\([A-Z0-9_]*\)".*$/\1/p'
) | LC_ALL=C sort -u >util-linux-login_defs-vars.lst ) | LC_ALL=C sort -u >util-linux-login_defs-vars.lst
if test $(sha1sum util-linux-login_defs-vars.lst | sed 's/ .*$//') != 713b442bf6d16353b7f74538ece165b424f90932 ; then if test $(sha1sum util-linux-login_defs-vars.lst | sed 's/ .*$//') != 8516ca34e059b2dee1d4421a3ab07e88331b1674 ; then
echo "does not match!" >&2 echo "does not match!" >&2
echo "Checksum is: $(sha1sum util-linux-login_defs-vars.lst | sed 's/ .*$//')" >&2 echo "Checksum is: $(sha1sum util-linux-login_defs-vars.lst | sed 's/ .*$//')" >&2
@@ -32,13 +32,10 @@ If it is false positive:
- The same fix is needed in shadow package in shadow-login_defs-check.sh. - The same fix is needed in shadow package in shadow-login_defs-check.sh.
If it is true positive: If it is true positive:
- Check-out shadow package and call shadow-login_defs-check.sh.
- Check-out shadow package and call shadow-login_defs-check.sh. If it - Compare its output shadow-login_defs-check-util-linux.lst with
fails, check the output. util-linux-login_defs-vars.lst in the util-linux build directory.
- Update shadow shadow-login_defs-util-linux.patch, if needed. - Update shadow shadow-login_defs-util-linux.patch, if needed.
- Verify that the new variable is included in FOREIGNDEFS in lib/getdef.c.
If not, add it to shadow-login_defs-util-linux.patch and send the chunk
to the upstream.
- If shadow-login_defs-util-linux.patch was updated, update - If shadow-login_defs-util-linux.patch was updated, update
login_defs-support-for-util-linux symbol version in both shadow and login_defs-support-for-util-linux symbol version in both shadow and
util-linux spec files accordingly. util-linux spec files accordingly.

View File

@@ -0,0 +1,27 @@
From 908777470d403ec30c525472ba0d3701c9c5a223 Mon Sep 17 00:00:00 2001
From: "Matthew R. Ochs" <mochs@nvidia.com>
Date: Tue, 2 Sep 2025 13:28:36 -0700
Subject: [PATCH] lscpu: Add NVIDIA Olympus arm64 core
Add an entry for NVIDIA Olympus arm64 core.
Signed-off-by: Matthew R. Ochs <mochs@nvidia.com>
---
sys-utils/lscpu-arm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-utils/lscpu-arm.c b/sys-utils/lscpu-arm.c
index 8745599d4..9596691fd 100644
--- a/sys-utils/lscpu-arm.c
+++ b/sys-utils/lscpu-arm.c
@@ -171,6 +171,7 @@ static const struct id_part nvidia_part[] = {
{ 0x000, "Denver" },
{ 0x003, "Denver 2" },
{ 0x004, "Carmel" },
+ { 0x010, "Olympus" },
{ -1, "unknown" },
};
--
2.51.0

View File

@@ -1,191 +1,16 @@
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jun 24 22:41:18 UTC 2025 - Stanislav Brabec <sbrabec@suse.com> Sun Jan 11 14:32:31 UTC 2026 - Stanislav Brabec <sbrabec@suse.com>
- Update to version 2.41.1: - Fix heap buffer overread in setpwnam() when processing 256-byte
* cfdisk: fix memory leak and possible NULL dereference usernames (bsc#1254666, CVE-2025-14104,
* fdisk: fix possible memory leak util-linux-CVE-2025-14104-1.patch,
* findmnt: fix -k option parsing regression (boo#1242705, util-linux-CVE-2025-14104-2.patch).
drop util-linux-libblkid-econf-parse.patch)
* hardlink: fix performance regression
* include/cctype: fix string comparison
* libblkid:
* Fix crash while parsing config with libeconf
* befs fix underflow
* avoid strcasecmp() for ASCII-only strings
* libblkid/src/topology/dm: fix fscanf return value check to
match expected number of parsed items
* libmount:
* (subdir) restrict for real mounts only
* (subdir) remove unused code
* avoid calling memset() unnecessarily
* fix --no-canonicalize regression (boo#1244251,
drop libmount-fix-no-canonicalize-regression.patch)
* lsblk:
* use ID_PART_ENTRY_SCHEME as fallback for PTTYPE
* avoid strcasecmp() for ASCII-only strings
* lscpu:
* fix possible buffer overflow in cpuinfo parser
* Fix loongarch op-mode output with recent kernel
* lsfd:
* scan the protocol field of /proc/net/packet as a hex number
* fix the description for PACKET.PROTOCOL column
* lsns:
* enhance compilation without USE_NS_GET_API
* fix undefined reference to add_namespace_for_nsfd #3483
* more:
* fix broken ':!command' command key
* fix implicit previous shell_line execution #3508
* tests: (test_mkfds::mapped-packet-socket) add a new parameter,
protocol
* treewide:
* add ul_ to parse_timestamp() function name
(drop util-linux-rename-common-symbols-4.patch)
* add ul_ to parse_switch() function name
(drop util-linux-rename-common-symbols-3.patch)
* add ul_ to parse_size() function name
(drop util-linux-rename-common-symbols-2.patch)
* add ul_ to parse_range() function name
(drop util-linux-rename-common-symbols-1.patch)
* fix optional arguments usage
* avoid strcasecmp() for ASCII-only strings
* Wipefs: improve --all descriptions for whole-disks
* Misc: Do not call exit() on code ending in shared libraries
* Other fixes. For complete list see
https://kernel.org/pub/linux/utils/util-linux/v2.41/v2.41.1-ReleaseNotes
- Fix problem with uname26 listed twice.
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jun 10 11:16:10 UTC 2025 - Nicolas Belouin <nicolas@belouin.fr> Sun Oct 19 02:43:15 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>
- Fix libmount --no-canonicalize regression (boo#1244251, - lscpu: Add support for NVIDIA Olympus arm64 core (jsc#PED-13682,
gh#util-linux/util-linux#3479, util-linux-lscpu-add-arm64-NVIDIA-Olympus.patch).
libmount-fix-no-canonicalize-regression.patch).
-------------------------------------------------------------------
Thu May 29 15:21:59 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>
- Add ul_ prefix to functions with common names. Fixes btrfsprogs
build failure (gh#util-linux/util-linux#3603,
util-linux-rename-common-symbols-1.patch,
util-linux-rename-common-symbols-2.patch,
util-linux-rename-common-symbols-3.patch,
util-linux-rename-common-symbols-4.patch).
-------------------------------------------------------------------
Tue May 20 14:27:14 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>
- Fix segfault of findmnt (boo#1242705,
gh#util-linux/util-linux#3574,
util-linux-libblkid-econf-parse.patch).
-------------------------------------------------------------------
Thu Apr 17 18:33:03 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>
- Enable mountfd support again (jsc#PED-9752).
BREAKING CHANGE
Mountfd is nearly completely compatible with the old mount. There
is a special case that cannot be handled by mountfd, and it needs
to be handled by applications:
Mountfd discriminates between physical mount layer and virtual
mount layer. Once the physical mount layer is read-only,
read-write mount on the virtual layer is not possible.
If the first mount is read only, then the physical filesystem is
mounted read-only, and later mount of the same file system as
read-write is not possible. To solve this problem, the first
mount needs to be read-only only on the virtual layer, keeping
the physical layer read-write.
The user space fix is simple:
Instead of
mount -oro
use
mount -oro=vfs
This will keep the physical layer read-write, but the virtual
file system layer (and the user space access) will be read-only.
-------------------------------------------------------------------
Mon Apr 7 21:00:58 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>
- Update to version 2.41:
* agetty: Fixed an issue where issue files were not being printed
from additional locations, such as /run or /usr/lib. This
change now allows for the use of local information from /etc,
in addition to generated files from /run and
distribution-specific files from /usr/lib.
* cfdisk and sfdisk: Added support for the --sector-size command
line option.
* sfdisk: Added a new option, --discard-free.
* fdisk: Added a new command, 'T', to discard sectors.
* chrt: The --sched-runtime now supports SCHED_{OTHER,BATCH}
policies.
* column: Can now handle ANSI SGR colors inside OSC 8 hyperlink
escape codes and sequences.
* enosys: Can now dump defined filters.
* libmount:
* Added experimental support for statmount() and listmount()
syscalls.
* This new functionality can be accessed using "findmnt
--kernel=listmount".
* Added a new mount option,
X-mount.nocanonicalize[=source|target].
* Added new mount extensions to the "ro" flag (ro[=vfs,fs]).
* Added a new option, X-mount.noloop, to disable automatic loop
device creation.
* Now supports bind symlinks over symlinks.
* Reads all kernel info/warning/error messages from new API
syscalls (and mount(8) prints them).
* libuuid: Now supports RFC9562 UUIDs.
* findmnt, lsblk, and lsfd: Added a new --hyperlink command line
option to print paths as terminal hyperlinks.
* findmnt: Can now address filesystems using --id and --uniq-id
(requires listmount() kernel support).
* flock: Added support for the --fcntl command line option.
* hardlink: Can now prioritize specified trees on the command
line using --prioritize-trees.
* Can exclude sub-trees using --exclude-subtree or keep them in
the current mount using --mount.
* Duplicates can now be printed using --list-duplicates.
* hwclock: Added a new --param-index option to address position
for RTC_PARAM_{GET,SET} ioctls.
* kill: Can now decode signal masks (e.g. as used in /proc) to
signal names.
* libblkid: Made many changes to improve detection, including
exfat, GPT, LUKS2, bitlocker, etc.
* login: Added support for LOGIN_ENV_SAFELIST in /etc/login.def.
* lsfd: Now supports pidfs and AF_VSOCK sockets.
* lsipc, ipcmk, ipcrm: Now supports POSIX ipc.
* lslogins: Now supports lastlog2.
* lsns: Added support for the --filter option.
* build by meson: Now supports translated man pages and has fixed
many bugs.
* mkswap: The option --file should now be usable on btrfs.
* nsenter: Improved support for pidfd and can now join target
process's socket net namespace.
* scriptlive: Added a new option, --echo <never|always|auto>.
* zramctl: Now supports COMP-RATIO and --algorithm-params.
* Many other new features and fixes. For complete list see
https://kernel.org/pub/linux/utils/util-linux/v2.41/v2.41-ReleaseNotes
- Update util-linux-login_defs-check.sh:
* Make instructions up to date.
* Update checksum reflecting the shadow update.
- Refresh libmount-print-a-blacklist-hint-for-unknown-filesyst.patch.
-------------------------------------------------------------------
Mon Feb 24 17:16:49 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Delete /usr/sbin/rc* symlinks
- Drop bashisms from build recipe
-------------------------------------------------------------------
Tue Jan 28 23:05:38 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>
- Create and own directories /etc/blkid.conf.d and
/usr/etc/blkid.conf.d (boo#1235887#c3).
- Add missingok for /etc/blkid.conf.
-------------------------------------------------------------------
Mon Jan 20 18:12:46 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>
- Move blkid.conf to /usr/etc (boo#1235887).
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jan 14 22:29:47 UTC 2025 - Stanislav Brabec <sbrabec@suse.com> Tue Jan 14 22:29:47 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>

View File

@@ -85,18 +85,18 @@ Group: Development/Languages/Python
%endif %endif
# ulbuild == python # ulbuild == python
Version: 2.41.1 Version: 2.40.4
Release: 0 Release: 0
License: GPL-2.0-or-later License: GPL-2.0-or-later
URL: https://www.kernel.org/pub/linux/utils/util-linux/ URL: https://www.kernel.org/pub/linux/utils/util-linux/
Source: https://www.kernel.org/pub/linux/utils/util-linux/v2.41/util-linux-%{version}.tar.xz Source: https://www.kernel.org/pub/linux/utils/util-linux/v2.40/util-linux-%{version}.tar.xz
Source2: util-linux-login_defs-check.sh Source2: util-linux-login_defs-check.sh
Source7: baselibs.conf Source7: baselibs.conf
Source8: login.pamd Source8: login.pamd
Source9: remote.pamd Source9: remote.pamd
Source10: su.pamd Source10: su.pamd
Source11: su.default Source11: su.default
Source12: https://www.kernel.org/pub/linux/utils/util-linux/v2.41/util-linux-%{version}.tar.sign Source12: https://www.kernel.org/pub/linux/utils/util-linux/v2.39/util-linux-%{version}.tar.sign
Source13: %{_name}.keyring Source13: %{_name}.keyring
Source14: runuser.pamd Source14: runuser.pamd
Source15: runuser-l.pamd Source15: runuser-l.pamd
@@ -110,6 +110,12 @@ Patch2: Add-documentation-on-blacklisted-modules-to-mount-8-.patch
# PATCH-FIX-SUSE util-linux-bash-completion-su-chsh-l.patch bsc1172427 -- Fix "su -s" bash completion. # PATCH-FIX-SUSE util-linux-bash-completion-su-chsh-l.patch bsc1172427 -- Fix "su -s" bash completion.
Patch3: util-linux-bash-completion-su-chsh-l.patch Patch3: util-linux-bash-completion-su-chsh-l.patch
Patch5: static_lib.patch Patch5: static_lib.patch
# PATCH-FEATURE-UPSTREAM util-linux-lscpu-add-arm64-NVIDIA-Olympus.patch jsc#PED-13682 sbrabec@suse.com -- lscpu: Add support for NVIDIA Olympus arm64 core.
Patch6: util-linux-lscpu-add-arm64-NVIDIA-Olympus.patch
# PATCH-FIX-SECURITY util-linux-CVE-2025-14104-1.patch bsc1254666 CVE-2025-14104 -- Fix heap buffer overread in setpwnam() when processing 256-byte usernames.
Patch7: util-linux-CVE-2025-14104-1.patch
# PATCH-FIX-SECURITY util-linux-CVE-2025-14104-2.patch bsc1254666 CVE-2025-14104 -- Fix heap buffer overread in setpwnam() when processing 256-byte usernames.
Patch8: util-linux-CVE-2025-14104-2.patch
BuildRequires: audit-devel BuildRequires: audit-devel
BuildRequires: bc BuildRequires: bc
BuildRequires: binutils-devel BuildRequires: binutils-devel
@@ -185,8 +191,7 @@ Supplements: filesystem(minix)
# All login.defs variables require support from shadow side. # All login.defs variables require support from shadow side.
# Upgrade this symbol version only if new variables appear! # Upgrade this symbol version only if new variables appear!
# Verify by shadow-login_defs-check.sh from shadow source package. # Verify by shadow-login_defs-check.sh from shadow source package.
# Use downstream version. Upstream may accept the patch later. Recommends: login_defs-support-for-util-linux >= 2.37
Recommends: login_defs-support-for-util-linux >= 4.17.4
%endif %endif
# ulsubset == core # ulsubset == core
@@ -486,38 +491,38 @@ export CXXFLAGS="%{optflags} -D_GNU_SOURCE"
# Here we define a build function. For the base build, we use it as it # Here we define a build function. For the base build, we use it as it
# is. For python build, we use it repeatedly for all flavors. # is. For python build, we use it repeatedly for all flavors.
configure_and_build() { function configure_and_build() {
# configure options depending on ulbuild and ulsubset values # configure options depending on ulbuild and ulsubset values
configure_options="" configure_options=""
# libmagic is only used for determining in more(1) whether or not a file # libmagic is only used for determining in more(1) whether or not a file
# is binary. but it has builtin code that is doing the same with a simpler # is binary. but it has builtin code that is doing the same with a simpler
# check and the libmagic database dependency is rather large (9MB+) # check and the libmagic database dependency is rather large (9MB+)
configure_options="$configure_options --without-libmagic " configure_options+="--without-libmagic "
%if "%ulbuild" == "python" %if "%ulbuild" == "python"
%define _configure ../configure %define _configure ../configure
configure_options="$configure_options --disable-all-programs " configure_options+="--disable-all-programs "
configure_options="$configure_options --with-python " configure_options+="--with-python "
configure_options="$configure_options --enable-pylibmount " configure_options+="--enable-pylibmount "
configure_options="$configure_options --enable-libmount " configure_options+="--enable-libmount "
configure_options="$configure_options --enable-libblkid " configure_options+="--enable-libblkid "
%endif %endif
# ulbuild == python # ulbuild == python
%if "%ulbuild" == "base" %if "%ulbuild" == "base"
configure_options="$configure_options --enable-all-programs " configure_options+="--enable-all-programs "
configure_options="$configure_options --without-python " configure_options+="--without-python "
%endif %endif
# ulbuild == base # ulbuild == base
%if "%ulsubset" == "core" %if "%ulsubset" == "core"
configure_options="$configure_options --without-systemd --disable-liblastlog2" configure_options+="--without-systemd --disable-liblastlog2"
%endif %endif
# ulsubset == core # ulsubset == core
%if "%ulsubset" == "systemd" %if "%ulsubset" == "systemd"
configure_options="$configure_options --with-systemd " configure_options+="--with-systemd "
%endif %endif
# ulsubset == systemd # ulsubset == systemd
@@ -561,8 +566,9 @@ configure_options="$configure_options --with-systemd "
--enable-fs-paths-default="/sbin:/usr/sbin"\ --enable-fs-paths-default="/sbin:/usr/sbin"\
--enable-static\ --enable-static\
--with-vendordir=%{_distconfdir}\ --with-vendordir=%{_distconfdir}\
--disable-libmount-mountfd-support\
$configure_options $configure_options
%make_build make %{?_smp_mflags}
} }
################ ################
@@ -613,10 +619,8 @@ fi
################ ################
%if "%ulbuild" == "base" %if "%ulbuild" == "base"
%make_install %make_install
mkdir -p "%{buildroot}/%{_distconfdir}/default" "%{buildroot}/%{_pam_vendordir}" "%{buildroot}/%{_sysconfdir}/issue.d" mkdir -p %{buildroot}{%{_distconfdir}/default,%{_pam_vendordir},%{_sysconfdir}/issue.d}
install -m 644 %{SOURCE51} %{buildroot}%{_distconfdir}/blkid.conf install -m 644 %{SOURCE51} %{buildroot}%{_sysconfdir}/blkid.conf
touch %{buildroot}%{_sysconfdir}/blkid.conf
mkdir %{buildroot}%{_sysconfdir}/blkid.conf.d %{buildroot}%{_distconfdir}/blkid.conf.d
install -m 644 %{SOURCE8} %{buildroot}%{_pam_vendordir}/login install -m 644 %{SOURCE8} %{buildroot}%{_pam_vendordir}/login
install -m 644 %{SOURCE9} %{buildroot}%{_pam_vendordir}/remote install -m 644 %{SOURCE9} %{buildroot}%{_pam_vendordir}/remote
%if 0%{?suse_version} <= 1500 %if 0%{?suse_version} <= 1500
@@ -670,10 +674,10 @@ rm -f %{buildroot}%{_mandir}/man8/fdisk.8*
# create list of setarch(8) symlinks # create list of setarch(8) symlinks
find %{buildroot}%{_mandir}/man8 -regextype posix-egrep \ find %{buildroot}%{_mandir}/man8 -regextype posix-egrep \
-regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64)\.8.*" \ -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64|uname26)\.8.*" \
-printf "%{_mandir}/man8/%f*\n" >> %{name}.files -printf "%{_mandir}/man8/%f*\n" >> %{name}.files
find %{buildroot}%{_bindir}/ -regextype posix-egrep -type l \ find %{buildroot}%{_bindir}/ -regextype posix-egrep -type l \
-regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64)$" \ -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64|uname26)$" \
-printf "%{_bindir}/%f\n" >> %{name}.files -printf "%{_bindir}/%f\n" >> %{name}.files
mkdir -p %{buildroot}/run/uuidd mkdir -p %{buildroot}/run/uuidd
@@ -714,6 +718,8 @@ mv %{buildroot}%{_bindir}/login %{buildroot}/bin/
%else %else
# ulsubset != core, ulbuild == base # ulsubset != core, ulbuild == base
echo -n "" >%{name}.lang echo -n "" >%{name}.lang
ln -sf /sbin/service %{buildroot}%{_sbindir}/rcuuidd
ln -sf /sbin/service %{buildroot}%{_sbindir}/rcfstrim
%endif %endif
# ulsubset == core, ulbuild == base # ulsubset == core, ulbuild == base
@@ -977,6 +983,7 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
# defined no_config # defined no_config
%config %dir %{_sysconfdir}/issue.d %config %dir %{_sysconfdir}/issue.d
%if %{ul_extra_bin_sbin} %if %{ul_extra_bin_sbin}
%core /bin/kill %core /bin/kill
%core %verify(not mode) %attr(%ul_suid,root,root) /bin/su %core %verify(not mode) %attr(%ul_suid,root,root) /bin/su
@@ -1020,9 +1027,7 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%core %{_bindir}/kill %core %{_bindir}/kill
%core %verify(not mode) %attr(%ul_suid,root,root) %{_bindir}/su %core %verify(not mode) %attr(%ul_suid,root,root) %{_bindir}/su
%core %{_bindir}/eject %core %{_bindir}/eject
%core %{_bindir}/bits
%core %{_bindir}/cal %core %{_bindir}/cal
%core %{_bindir}/coresched
%core %{_bindir}/chmem %core %{_bindir}/chmem
%core %{_bindir}/choom %core %{_bindir}/choom
%core %{_bindir}/chrt %core %{_bindir}/chrt
@@ -1234,7 +1239,6 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%core %{_mandir}/man1/kill.1.gz %core %{_mandir}/man1/kill.1.gz
%core %{_mandir}/man1/su.1.gz %core %{_mandir}/man1/su.1.gz
%core %{_mandir}/man1/bits.1.gz
%core %{_mandir}/man1/cal.1.gz %core %{_mandir}/man1/cal.1.gz
%core %{_mandir}/man1/choom.1.gz %core %{_mandir}/man1/choom.1.gz
%core %{_mandir}/man1/chrt.1.gz %core %{_mandir}/man1/chrt.1.gz
@@ -1242,7 +1246,6 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%core %{_mandir}/man1/colcrt.1.gz %core %{_mandir}/man1/colcrt.1.gz
%core %{_mandir}/man1/colrm.1.gz %core %{_mandir}/man1/colrm.1.gz
%core %{_mandir}/man1/column.1.gz %core %{_mandir}/man1/column.1.gz
%core %{_mandir}/man1/coresched.1.gz
%core %{_mandir}/man1/dmesg.1.gz %core %{_mandir}/man1/dmesg.1.gz
%core %{_mandir}/man1/enosys.1.gz %core %{_mandir}/man1/enosys.1.gz
%core %{_mandir}/man1/eject.1.gz %core %{_mandir}/man1/eject.1.gz
@@ -1369,10 +1372,8 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%license README.licensing %license README.licensing
%license COPYING %license COPYING
%license Documentation/licenses/* %license Documentation/licenses/*
%ghost %config(missingok) %{_sysconfdir}/blkid.conf %config(noreplace) %{_sysconfdir}/blkid.conf
%config %dir %{_sysconfdir}/blkid.conf.d
%{_distconfdir}/blkid.conf
%dir %{_distconfdir}/blkid.conf.d
%{_datadir}/bash-completion/completions/* %{_datadir}/bash-completion/completions/*
%exclude %{_datadir}/bash-completion/completions/findmnt %exclude %{_datadir}/bash-completion/completions/findmnt
%exclude %{_datadir}/bash-completion/completions/logger %exclude %{_datadir}/bash-completion/completions/logger
@@ -1397,11 +1398,10 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
# Systemd files # # Systemd files #
################# #################
%if "%ulsubset" == "systemd" %if "%ulsubset" == "systemd"
%exclude %{_distconfdir}/blkid.conf %exclude %config(noreplace) %{_sysconfdir}/blkid.conf
%exclude %dir %{_distconfdir}/blkid.conf.d
%exclude %config(missingok) %{_sysconfdir}/blkid.conf
%exclude %config %{_sysconfdir}/blkid.conf.d
%exclude %config %dir %{_sysconfdir}/issue.d %exclude %config %dir %{_sysconfdir}/issue.d
%if %{ul_extra_bin_sbin} %if %{ul_extra_bin_sbin}
/bin/findmnt /bin/findmnt
/bin/logger /bin/logger
@@ -1589,6 +1589,7 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%exclude %{_mandir}/man8/parisc64.8.gz %exclude %{_mandir}/man8/parisc64.8.gz
%exclude %{_mandir}/man8/uname26.8.gz %exclude %{_mandir}/man8/uname26.8.gz
%{_sbindir}/rcfstrim
%{_unitdir}/fstrim.service %{_unitdir}/fstrim.service
%{_unitdir}/fstrim.timer %{_unitdir}/fstrim.timer
%endif %endif
@@ -1735,6 +1736,7 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%attr(-,uuidd,uuidd) %ghost %dir /run/uuidd %attr(-,uuidd,uuidd) %ghost %dir /run/uuidd
%{_datadir}/bash-completion/completions/uuidd %{_datadir}/bash-completion/completions/uuidd
%{_mandir}/man8/uuidd.8.gz %{_mandir}/man8/uuidd.8.gz
%{_sbindir}/rcuuidd
%{_unitdir}/uuidd.service %{_unitdir}/uuidd.service
%{_unitdir}/uuidd.socket %{_unitdir}/uuidd.socket