6
0
forked from pool/util-linux

Compare commits

..

30 Commits

Author SHA256 Message Date
7af9873028 Accepting request 1288490 from Base:System
- Update to version 2.41.1... (forwarded request 1288403 from sbrabec)

OBS-URL: https://build.opensuse.org/request/show/1288490
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/util-linux?expand=0&rev=298
2025-06-27 21:00:06 +00:00
d87bf9940a - Update to version 2.41.1...
OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=593
2025-06-25 09:57:08 +00:00
6bdafd9994 Accepting request 1285089 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1285089
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/util-linux?expand=0&rev=297
2025-06-16 09:11:33 +00:00
526351100b - Fix libmount --no-canonicalize regression (boo#1244251,
gh#util-linux/util-linux#3479,
  libmount-fix-no-canonicalize-regression.patch).

OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=592
2025-06-12 10:05:25 +00:00
d065ff5434 Accepting request 1283407 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1283407
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/util-linux?expand=0&rev=296
2025-06-06 20:32:23 +00:00
bf27a97789 - 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).

OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=591
2025-06-05 15:06:36 +00:00
d056d99bac - Fix segfault of findmnt (boo#1242705,
gh#util-linux/util-linux#3574,
  util-linux-libblkid-econf-parse.patch).
- And removine git workflow files, as util-linux is currently developed in OBS.

OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=590
2025-05-20 14:53:55 +00:00
f93ce2303c - 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.

OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=589
2025-04-25 10:12:33 +00:00
85211d2fa9 - Update to version 2.41...
OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=588
2025-04-09 11:11:35 +00:00
6e30656a72 Accepting request 1248301 from Base:System
- Delete /usr/sbin/rc* symlinks
- Drop bashisms from build recipe

OBS-URL: https://build.opensuse.org/request/show/1248301
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/util-linux?expand=0&rev=295
2025-02-27 13:48:59 +00:00
0209a3bc33 Delete rc symlinks
OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=587
2025-02-25 08:35:01 +00:00
aea0e5246b - Delete /usr/sbin/rc* symlinks
- Drop bashisms from build recipe

OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=586
2025-02-24 17:20:24 +00:00
165fabd559 Accepting request 1242132 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1242132
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/util-linux?expand=0&rev=294
2025-02-05 11:39:24 +00:00
549d330fc6 - Create and own directories /etc/blkid.conf.d and
/usr/etc/blkid.conf.d (boo#1235887#c3).
- Add missingok for /etc/blkid.conf.

OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=585
2025-02-01 17:49:33 +00:00
d2055a82f3 Accepting request 1239319 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1239319
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/util-linux?expand=0&rev=293
2025-01-24 12:39:40 +00:00
c0ae35c85a - Move blkid.conf to /usr/etc (boo#1235887).
OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=584
2025-01-21 14:56:28 +00:00
6858402110 Accepting request 1237948 from Base:System
- Update to version 2.40.4...

OBS-URL: https://build.opensuse.org/request/show/1237948
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/util-linux?expand=0&rev=292
2025-01-17 17:36:41 +00:00
fa208609dd Typo fix.
OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=583
2025-01-14 23:19:01 +00:00
25172ba59e - Update to version 2.40.4...
OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=582
2025-01-14 23:15:16 +00:00
ed47084f94 Accepting request 1235054 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1235054
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/util-linux?expand=0&rev=291
2025-01-07 19:51:13 +00:00
b1afa335f2 Cherry-pick changes from pool/util-linux#1
OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=581
2025-01-05 16:18:20 +00:00
31d054b433 Restore r577 (changes from Nov 17 2024)
OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=580
2025-01-05 15:47:05 +00:00
fdc0dc88f2 [info=7c038e86c636e915f24991a04859286d25213a6c34932d623636efffdd11c0c9]
OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=579
2025-01-05 01:57:57 +00:00
b3f37b0f2b [info=7c038e86c636e915f24991a04859286d25213a6c34932d623636efffdd11c0c9]
OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=578
2025-01-05 01:56:02 +00:00
ed19b913bf Accepting request 1225398 from Base:System
- Skip aarch64 decode path for rest of the architectures
  (bsc#1229476, util-linux-lscpu-skip-aarch64-decode.patch).
- agetty: Prevent login cursor escape (bsc#1194818,
  util-linux-agetty-prevent-cursor-escape.patch).
- Document unexpected side effects of lazy destruction
  (bsc#1159034, util-linux-umount-losetup-lazy-destruction.patch,
  util-linux-umount-losetup-lazy-destruction-generated.patch).

OBS-URL: https://build.opensuse.org/request/show/1225398
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/util-linux?expand=0&rev=290
2024-11-22 22:50:12 +00:00
3dd6c5f458 [info=1f607dd355d8ca2a0fa48e4d3662cad355a81b877985b076ecc7a1527d45771c]
OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=577
2024-11-20 18:37:33 +00:00
5070c16a96 Backport fixes from SLE15:
- Skip aarch64 decode path for rest of the architectures
  (bsc#1229476, util-linux-lscpu-skip-aarch64-decode.patch).
- agetty: Prevent login cursor escape (bsc#1194818,
  util-linux-agetty-prevent-cursor-escape.patch).
- Document unexpected side effects of lazy destruction
  (bsc#1159034, util-linux-umount-losetup-lazy-destruction.patch,
  util-linux-umount-losetup-lazy-destruction-generated.patch).
- And add more bug references.

OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=576
2024-11-20 18:30:01 +00:00
7c038e86c6 Accepting request 1216844 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1216844
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/util-linux?expand=0&rev=289
2024-10-24 13:40:29 +00:00
794b3b8aac - Disable mountfd API again.
(https://github.com/util-linux/util-linux/issues/3158)

OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=574
2024-10-21 23:29:26 +00:00
b59c309bd1 Accepting request 1191776 from home:sbrabec:branches:util-linux-2.40.2
- Update to version 2.40.2...
- Enable kernel mountfd API, as it should be already stable
  (PED-9752).
- Move autoreconf back to %build.
- Add devel dependencies.
- Remove util-linux-rpmlintrc. It is no more needed with multibuild.

OBS-URL: https://build.opensuse.org/request/show/1191776
OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=573
2024-08-09 22:52:38 +00:00
14 changed files with 405 additions and 801 deletions

View File

@ -1,32 +0,0 @@
From: Xi Ruoyao <xry111@xry111.site>
Date: Sun, 31 Mar 2024 00:42:03 +0800
Subject: include: Include <unistd.h> in pidfd-utils.h for syscall()
Git-repo: https://github.com/util-linux/util-linux.git
Git-commit: 10add327c608b11b3d70215048aade4d1797b1fd
Patch-mainline: yes
References: kernel 6.9
In Glibc, <sys/syscall.h> only contains SYS_* macros and the syscall()
function is in <unistd.h>. So include it.
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
include/pidfd-utils.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/pidfd-utils.h b/include/pidfd-utils.h
index ff0bc4c7..0ee55f3b 100644
--- a/include/pidfd-utils.h
+++ b/include/pidfd-utils.h
@@ -7,6 +7,7 @@
#ifdef HAVE_SYS_SYSCALL_H
# include <sys/syscall.h>
+# include <unistd.h>
/*
* If the kernel headers are too old to provide the syscall numbers, let's
--
2.45.0

View File

@ -1,319 +0,0 @@
From: Xi Ruoyao <xry111@xry111.site>
Date: Wed, 3 Apr 2024 15:29:34 +0800
Subject: lsfd: Refactor the pidfd logic into lsfd-pidfd.c
Git-repo: https://github.com/util-linux/util-linux.git
Git-commit: bf6645dc1edef09ad378cc5b9eb2c93861408735
Patch-mainline: yes
References: kernel 6.9
We'll reuse these logic for pidfd support on Linux >= 6.9. This should
be a no-functional change.
Besides moving the code, this change also renames anon_pidfd_data to
pidfd_data, and removes a redundant nullity check for free (because
free(NULL) will just do nothing per the C standard).
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
misc-utils/Makemodule.am | 4 +-
misc-utils/lsfd-pidfd.c | 95 ++++++++++++++++++++++++++++++++++++++++
misc-utils/lsfd-pidfd.h | 37 ++++++++++++++++
misc-utils/lsfd-unkn.c | 71 +++++-------------------------
misc-utils/meson.build | 1 +
5 files changed, 147 insertions(+), 61 deletions(-)
create mode 100644 misc-utils/lsfd-pidfd.c
create mode 100644 misc-utils/lsfd-pidfd.h
diff --git a/misc-utils/Makemodule.am b/misc-utils/Makemodule.am
index 9edf3d98..7622a5d7 100644
--- a/misc-utils/Makemodule.am
+++ b/misc-utils/Makemodule.am
@@ -298,7 +298,9 @@ lsfd_SOURCES = \
misc-utils/lsfd-sock.h \
misc-utils/lsfd-sock-xinfo.c \
misc-utils/lsfd-unkn.c \
- misc-utils/lsfd-fifo.c
+ misc-utils/lsfd-fifo.c \
+ misc-utils/lsfd-pidfd.h \
+ misc-utils/lsfd-pidfd.c
lsfd_LDADD = $(LDADD) $(MQ_LIBS) libsmartcols.la libcommon.la
lsfd_CFLAGS = $(AM_CFLAGS) -I$(ul_libsmartcols_incdir)
endif
diff --git a/misc-utils/lsfd-pidfd.c b/misc-utils/lsfd-pidfd.c
new file mode 100644
index 00000000..430a8028
--- /dev/null
+++ b/misc-utils/lsfd-pidfd.c
@@ -0,0 +1,95 @@
+/*
+ * lsfd-pidfd.c - handle pidfd (from anon_inode or pidfs)
+ *
+ * Copyright (C) 2024 Xi Ruoyao <xry111@xry111.site>
+ *
+ * Refactored and moved out from lsfd-unkn.c (originally authored by
+ * Masatake YAMATO <yamato@redhat.com>).
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <string.h>
+
+#include "strutils.h"
+#include "xalloc.h"
+
+#include "lsfd.h"
+#include "lsfd-pidfd.h"
+
+int pidfd_handle_fdinfo(struct pidfd_data *data, const char *key,
+ const char *value)
+{
+ if (strcmp(key, "Pid") == 0) {
+ uint64_t pid;
+ int rc = ul_strtou64(value, &pid, 10);
+
+ if (rc < 0)
+ return 0; /* ignore -- parse failed */
+
+ data->pid = (pid_t)pid;
+ return 1;
+ } else if (strcmp(key, "NSpid") == 0) {
+ data->nspid = xstrdup(value);
+ return 1;
+ }
+
+ return 0;
+}
+
+char *pidfd_get_name(struct pidfd_data *data)
+{
+ char *str = NULL;
+ char *comm = NULL;
+ struct proc *proc = get_proc(data->pid);
+
+ if (proc)
+ comm = proc->command;
+
+ xasprintf(&str, "pid=%d comm=%s nspid=%s",
+ data->pid,
+ comm ? comm : "",
+ data->nspid ? data->nspid : "");
+ return str;
+}
+
+bool pidfd_fill_column(struct pidfd_data *data, int column_id, char **str)
+{
+ switch(column_id) {
+ case COL_PIDFD_COMM: {
+ struct proc *pidfd_proc = get_proc(data->pid);
+ char *pidfd_comm = NULL;
+
+ if (pidfd_proc)
+ pidfd_comm = pidfd_proc->command;
+ if (pidfd_comm) {
+ *str = xstrdup(pidfd_comm);
+ return true;
+ }
+ break;
+ }
+ case COL_PIDFD_NSPID:
+ if (data->nspid) {
+ *str = xstrdup(data->nspid);
+ return true;
+ }
+ break;
+ case COL_PIDFD_PID:
+ xasprintf(str, "%d", (int)data->pid);
+ return true;
+ }
+
+ return false;
+}
diff --git a/misc-utils/lsfd-pidfd.h b/misc-utils/lsfd-pidfd.h
new file mode 100644
index 00000000..2f65d3b3
--- /dev/null
+++ b/misc-utils/lsfd-pidfd.h
@@ -0,0 +1,37 @@
+/*
+ * lsfd-pidfd.h - handle pidfd (from anon_inode or pidfs)
+ *
+ * Copyright (C) 2024 Xi Ruoyao <xry111@xry111.site>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <stdbool.h>
+#include <sys/types.h>
+
+struct pidfd_data {
+ pid_t pid;
+ char *nspid;
+};
+
+int pidfd_handle_fdinfo(struct pidfd_data *, const char *, const char *);
+char *pidfd_get_name(struct pidfd_data *);
+bool pidfd_fill_column(struct pidfd_data *, int, char **);
+
+static inline void __attribute__((nonnull(1)))
+pidfd_free(struct pidfd_data *data)
+{
+ free(data->nspid);
+}
diff --git a/misc-utils/lsfd-unkn.c b/misc-utils/lsfd-unkn.c
index 8f6e9084..8e257f47 100644
--- a/misc-utils/lsfd-unkn.c
+++ b/misc-utils/lsfd-unkn.c
@@ -28,6 +28,7 @@
#include "timeutils.h"
#include "lsfd.h"
+#include "lsfd-pidfd.h"
#define offsetofend(TYPE, MEMBER) \
(offsetof(TYPE, MEMBER) + sizeof_member(TYPE, MEMBER))
@@ -183,10 +184,6 @@ static int unkn_handle_fdinfo(struct file *file, const char *key, const char *va
/*
* pidfd
*/
-struct anon_pidfd_data {
- pid_t pid;
- char *nspid;
-};
static bool anon_pidfd_probe(const char *str)
{
@@ -195,51 +192,28 @@ static bool anon_pidfd_probe(const char *str)
static char *anon_pidfd_get_name(struct unkn *unkn)
{
- char *str = NULL;
- struct anon_pidfd_data *data = (struct anon_pidfd_data *)unkn->anon_data;
+ struct pidfd_data *data = (struct pidfd_data *)unkn->anon_data;
- char *comm = NULL;
- struct proc *proc = get_proc(data->pid);
- if (proc)
- comm = proc->command;
-
- xasprintf(&str, "pid=%d comm=%s nspid=%s",
- data->pid,
- comm? comm: "",
- data->nspid? data->nspid: "");
- return str;
+ return pidfd_get_name(data);
}
static void anon_pidfd_init(struct unkn *unkn)
{
- unkn->anon_data = xcalloc(1, sizeof(struct anon_pidfd_data));
+ unkn->anon_data = xcalloc(1, sizeof(struct pidfd_data));
}
static void anon_pidfd_free(struct unkn *unkn)
{
- struct anon_pidfd_data *data = (struct anon_pidfd_data *)unkn->anon_data;
+ struct pidfd_data *data = (struct pidfd_data *)unkn->anon_data;
- if (data->nspid)
- free(data->nspid);
+ pidfd_free(data);
free(data);
}
static int anon_pidfd_handle_fdinfo(struct unkn *unkn, const char *key, const char *value)
{
- if (strcmp(key, "Pid") == 0) {
- uint64_t pid;
-
- int rc = ul_strtou64(value, &pid, 10);
- if (rc < 0)
- return 0; /* ignore -- parse failed */
- ((struct anon_pidfd_data *)unkn->anon_data)->pid = (pid_t)pid;
- return 1;
- } else if (strcmp(key, "NSpid") == 0) {
- ((struct anon_pidfd_data *)unkn->anon_data)->nspid = xstrdup(value);
- return 1;
-
- }
- return 0;
+ return pidfd_handle_fdinfo((struct pidfd_data *)unkn->anon_data,
+ key, value);
}
static bool anon_pidfd_fill_column(struct proc *proc __attribute__((__unused__)),
@@ -249,32 +223,9 @@ static bool anon_pidfd_fill_column(struct proc *proc __attribute__((__unused__)
size_t column_index __attribute__((__unused__)),
char **str)
{
- struct anon_pidfd_data *data = (struct anon_pidfd_data *)unkn->anon_data;
-
- switch(column_id) {
- case COL_PIDFD_COMM: {
- struct proc *pidfd_proc = get_proc(data->pid);
- char *pidfd_comm = NULL;
- if (pidfd_proc)
- pidfd_comm = pidfd_proc->command;
- if (pidfd_comm) {
- *str = xstrdup(pidfd_comm);
- return true;
- }
- break;
- }
- case COL_PIDFD_NSPID:
- if (data->nspid) {
- *str = xstrdup(data->nspid);
- return true;
- }
- break;
- case COL_PIDFD_PID:
- xasprintf(str, "%d", (int)data->pid);
- return true;
- }
-
- return false;
+ return pidfd_fill_column((struct pidfd_data *)unkn->anon_data,
+ column_id,
+ str);
}
static const struct anon_ops anon_pidfd_ops = {
diff --git a/misc-utils/meson.build b/misc-utils/meson.build
index 847b1012..68ea9777 100644
--- a/misc-utils/meson.build
+++ b/misc-utils/meson.build
@@ -56,6 +56,7 @@ lsfd_sources = files (
'lsfd-sock-xinfo.c',
'lsfd-unkn.c',
'lsfd-fifo.c',
+ 'lsfd-pidfd.c',
)
uuidgen_sources = files(
--
2.45.0

View File

@ -1,186 +0,0 @@
From: Xi Ruoyao <xry111@xry111.site>
Date: Wed, 3 Apr 2024 15:46:57 +0800
Subject: lsfd: Support pidfs
Git-repo: https://github.com/util-linux/util-linux.git
Git-commit: b1a48efd173c7f37d8df39a84eb25b4440335661
Patch-mainline: yes
References: kernel 6.9
In Linux 6.9 pidfds are moved from the anonymous inode infrastructure to
a tiny pseudo filesystem named pidfs. Recognize it properly.
Fixes #2865.
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
misc-utils/lsfd-file.c | 96 ++++++++++++++++++++++++++++++++++++++++++
misc-utils/lsfd.c | 3 ++
misc-utils/lsfd.h | 7 ++-
3 files changed, 105 insertions(+), 1 deletion(-)
diff --git a/misc-utils/lsfd-file.c b/misc-utils/lsfd-file.c
index 9b91462d..3f330146 100644
--- a/misc-utils/lsfd-file.c
+++ b/misc-utils/lsfd-file.c
@@ -45,6 +45,8 @@
#include "procfs.h"
#include "lsfd.h"
+#include "lsfd-pidfd.h"
+#include "pidfd-utils.h"
static struct idcache *username_cache;
@@ -492,6 +494,22 @@ static unsigned long get_minor_for_mqueue(void)
return minor(sb.st_dev);
}
+static unsigned long get_minor_for_pidfs(void)
+{
+ int fd = pidfd_open(getpid(), 0);
+ struct stat sb;
+ unsigned long ret = 0;
+
+ if (fd < 0)
+ return 0;
+
+ if (fstat(fd, &sb) == 0 && (sb.st_mode & S_IFMT) == S_IFREG)
+ ret = minor(sb.st_dev);
+
+ close(fd);
+ return ret;
+}
+
static void file_class_initialize(void)
{
unsigned long m;
@@ -510,6 +528,10 @@ static void file_class_initialize(void)
m = get_minor_for_mqueue();
if (m)
add_nodev(m, "mqueue");
+
+ m = get_minor_for_pidfs();
+ if (m)
+ add_nodev(m, "pidfs");
}
static void file_class_finalize(void)
@@ -783,3 +805,77 @@ const struct file_class mqueue_file_class = {
.fill_column = mqueue_file_fill_column,
.get_ipc_class = mqueue_file_get_ipc_class,
};
+
+struct pidfs_file {
+ struct file file;
+ struct pidfd_data data;
+};
+
+static void init_pidfs_file_content(struct file *file)
+{
+ struct pidfs_file *pidfs_file = (struct pidfs_file *)file;
+
+ memset(&pidfs_file->data, 0, sizeof(pidfs_file->data));
+}
+
+static int pidfs_file_handle_fdinfo(struct file *file, const char *key, const char *value)
+{
+ struct pidfs_file *pidfs_file = (struct pidfs_file *)file;
+
+ return pidfd_handle_fdinfo(&pidfs_file->data, key, value);
+}
+
+static void pidfs_file_free_content(struct file *file)
+{
+ struct pidfs_file *pidfs_file = (struct pidfs_file *)file;
+
+ pidfd_free(&pidfs_file->data);
+}
+
+static bool pidfs_file_fill_column(struct proc *proc __attribute__((__unused__)),
+ struct file *file,
+ struct libscols_line *ln,
+ int column_id,
+ size_t column_index)
+{
+ struct pidfs_file *pidfs_file = (struct pidfs_file *)file;
+ char *buf = NULL;
+
+ switch(column_id) {
+ case COL_TYPE:
+ if (scols_line_set_data(ln, column_index, "pidfd"))
+ err(EXIT_FAILURE, _("failed to add output data"));
+ return true;
+ case COL_NAME:
+ buf = pidfd_get_name(&pidfs_file->data);
+ break;
+ default:
+ if (!pidfd_fill_column(&pidfs_file->data, column_id, &buf))
+ return false;
+ }
+
+ if (buf &&
+ scols_line_refer_data(ln, column_index, buf))
+ err(EXIT_FAILURE, _("failed to add output data"));
+
+ return true;
+}
+
+const struct file_class pidfs_file_class = {
+ .super = &file_class,
+ .size = sizeof(struct pidfs_file),
+ .initialize_content = init_pidfs_file_content,
+ .handle_fdinfo = pidfs_file_handle_fdinfo,
+ .fill_column = pidfs_file_fill_column,
+ .free_content = pidfs_file_free_content,
+};
+
+bool is_pidfs_dev(dev_t dev)
+{
+ const char *fs = get_nodev_filesystem(minor(dev));
+
+ if (fs && (strcmp (fs, "pidfs") == 0))
+ return true;
+
+ return false;
+}
diff --git a/misc-utils/lsfd.c b/misc-utils/lsfd.c
index 98820ee8..01e88d51 100644
--- a/misc-utils/lsfd.c
+++ b/misc-utils/lsfd.c
@@ -683,6 +683,9 @@ static const struct file_class *stat2class(struct stat *sb)
if (is_mqueue_dev(dev))
return &mqueue_file_class;
+ if (is_pidfs_dev(dev))
+ return &pidfs_file_class;
+
return &file_class;
default:
break;
diff --git a/misc-utils/lsfd.h b/misc-utils/lsfd.h
index e646758c..f0f17d5b 100644
--- a/misc-utils/lsfd.h
+++ b/misc-utils/lsfd.h
@@ -228,7 +228,7 @@ struct file_class {
};
extern const struct file_class file_class, cdev_class, bdev_class, sock_class, unkn_class, fifo_class,
- nsfs_file_class, mqueue_file_class;
+ nsfs_file_class, mqueue_file_class, pidfs_file_class;
/*
* IPC
@@ -307,4 +307,9 @@ bool is_mqueue_dev(dev_t dev);
*/
bool is_multiplexed_by_eventpoll(int fd, struct list_head *eventpolls);
+/*
+ * Pidfs
+ */
+bool is_pidfs_dev(dev_t dev);
+
#endif /* UTIL_LINUX_LSFD_H */
--
2.45.0

View File

@ -1,142 +0,0 @@
From: Xi Ruoyao <xry111@xry111.site>
Date: Thu, 28 Mar 2024 04:01:02 +0800
Subject: lsfd: test: Adapt test cases for pidfs
Git-repo: https://github.com/util-linux/util-linux.git
Git-commit: 04db2ba9008e9635286b1aafc8ecd9533a0a91bf
Patch-mainline: yes
References: kernel 6.9
On Linux >= 6.9, pidfds are from pidfs instead of anonymous inode.
Thus:
STTYPE is REG on Linux >= 6.9, UNKN on Linux < 6.9.
KNAME is pidfd:[inode number] on Linux >= 6.9, anon_inode:[pidfd] on
Linux < 6.9.
And ainode_class test cannot work on Linux >= 6.9, just skip this sub
test if STTYPE is REG.
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
tests/expected/lsfd/column-name-pidfd | 2 +-
tests/expected/lsfd/column-type-pidfd | 2 +-
tests/expected/lsfd/mkfds-pidfd | 2 +-
tests/ts/lsfd/column-ainodeclass | 8 ++++++++
tests/ts/lsfd/column-name | 7 +++++++
tests/ts/lsfd/column-type | 7 +++++++
tests/ts/lsfd/mkfds-pidfd | 4 ++++
7 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/tests/expected/lsfd/column-name-pidfd b/tests/expected/lsfd/column-name-pidfd
index 10e3c5e7..68787d69 100644
--- a/tests/expected/lsfd/column-name-pidfd
+++ b/tests/expected/lsfd/column-name-pidfd
@@ -1,2 +1,2 @@
-3 anon_inode:[pidfd] pid=1 comm= nspid=1
+3 [KNAME] pid=1 comm= nspid=1
pidfd:ASSOC,KNAME,NAME: 0
diff --git a/tests/expected/lsfd/column-type-pidfd b/tests/expected/lsfd/column-type-pidfd
index 6c9a9632..a4379807 100644
--- a/tests/expected/lsfd/column-type-pidfd
+++ b/tests/expected/lsfd/column-type-pidfd
@@ -1,2 +1,2 @@
-3 UNKN pidfd
+3 [STTYPE] pidfd
pidfd:ASSOC,STTYPE,TYPE: 0
diff --git a/tests/expected/lsfd/mkfds-pidfd b/tests/expected/lsfd/mkfds-pidfd
index 94846992..bce4dd42 100644
--- a/tests/expected/lsfd/mkfds-pidfd
+++ b/tests/expected/lsfd/mkfds-pidfd
@@ -1,2 +1,2 @@
-3 UNKN anon_inodefs pid=1 comm=systemd nspid=1 systemd 1
+3 [STTYPE] [SOURCE] pid=1 comm=systemd nspid=1 systemd 1
ASSOC,STTYPE,SOURCE,NAME,PIDFD.COMM,PIDFD.PID: 0
diff --git a/tests/ts/lsfd/column-ainodeclass b/tests/ts/lsfd/column-ainodeclass
index 6829494f..ab2abebd 100755
--- a/tests/ts/lsfd/column-ainodeclass
+++ b/tests/ts/lsfd/column-ainodeclass
@@ -42,10 +42,18 @@ for C in pidfd inotify; do
fi
wait "${MKFDS_PID}"
} > "$TS_OUTPUT" 2>&1
+
if [ "$C-$?" == "pidfd-$TS_EXIT_NOTSUPP" ]; then
ts_skip_subtest "pidfd_open(2) is not available"
continue
fi
+
+ STTYPE="$(head -n1 "$TS_OUTPUT" | awk '{print $2}')"
+ if [ "$C-$STTYPE" == "pidfd-REG" ]; then
+ ts_skip_subtest "pidfd is from pidfs instead of anon inode"
+ continue
+ fi
+
ts_finalize_subtest
done
diff --git a/tests/ts/lsfd/column-name b/tests/ts/lsfd/column-name
index 8bf8f421..9c67de88 100755
--- a/tests/ts/lsfd/column-name
+++ b/tests/ts/lsfd/column-name
@@ -64,10 +64,17 @@ for C in ro-regular-file pidfd socketpair; do
fi
} > "$TS_OUTPUT" 2>&1
wait "${MKFDS_PID}"
+
if [ "$C-$?" == "pidfd-$TS_EXIT_NOTSUPP" ]; then
ts_skip_subtest "pidfd_open(2) is not available"
continue
fi
+
+ case $C in
+ pidfd)
+ sed -i -E 's/(pidfd|anon_inode):\[[a-zA-Z]+\]/[KNAME]/' "$TS_OUTPUT"
+ esac
+
ts_finalize_subtest
done
diff --git a/tests/ts/lsfd/column-type b/tests/ts/lsfd/column-type
index 77bc5c94..1b8aa8c6 100755
--- a/tests/ts/lsfd/column-type
+++ b/tests/ts/lsfd/column-type
@@ -50,10 +50,17 @@ for C in ro-regular-file pidfd inotify socketpair; do
fi
wait "${MKFDS_PID}"
} > "$TS_OUTPUT" 2>&1
+
if [ "$C-$?" == "pidfd-$TS_EXIT_NOTSUPP" ]; then
ts_skip_subtest "pidfd_open(2) is not available"
continue
fi
+
+ case $C in
+ pidfd)
+ sed -i -E 's/UNKN|REG/[STTYPE]/' "$TS_OUTPUT"
+ esac
+
ts_finalize_subtest
done
diff --git a/tests/ts/lsfd/mkfds-pidfd b/tests/ts/lsfd/mkfds-pidfd
index c0fae4f7..9b0ff33c 100755
--- a/tests/ts/lsfd/mkfds-pidfd
+++ b/tests/ts/lsfd/mkfds-pidfd
@@ -44,8 +44,12 @@ EXPR="(PID != ${TARGET}) and (FD == 3) and (PIDFD.PID == ${TARGET})"
fi
wait ${MKFDS_PID}
} > $TS_OUTPUT 2>&1
+
if [ "$?" == "$TS_EXIT_NOTSUPP" ]; then
ts_skip "pidfd_open(2) is not available"
fi
+sed -i -E -e 's/UNKN|REG/[STTYPE]/' -e 's/pidfs|anon_inodefs/[SOURCE]/' \
+ $TS_OUTPUT
+
ts_finalize
--
2.45.0

View File

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

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEsMZNFDAcxu+u32Dk5LcdXuw5woQFAmY4lxMACgkQ5LcdXuw5
woSckw//ZmoxCcjdDBv5LkAK0Yl5EMKZYzkvqswsp/Uwllgevb/FcCGwZ+F49RM3
H8F5Kj5CIJW9wh2UNWxaMm4MxcGd3eG2NEwgYh8RiXSS84zEL78yaIJLyFlPziMp
kZb0fpc2HpyCzDrvtlw6S5TGkUUx2uFqTQQG7GFd6TOlbPpGp4OpqY3adf85mwmr
NKy0XbYLo6sqGENz6Uklbf5Qhc19UEEc1jScOYNpkuCxhRQguxq3Jc6W8A8DQkjB
EWaw9Q1XYDV3Bnd40F0K+bo3CYB6z3pMM51NlsYxV0fKt/SoEvJw3S7u3VcbtJWn
S6xl6q/sMINDrMIpSL5PAAg5yoBNIIoWW7OxSh0nv6ctp9dmln0sKBtXNr09zTWT
q9mLUt7LwXB6LT3XI64262vF21bKq/hQO8IObsx8vfPSlp1SyGq7VqGh6QVbkjx6
2vA7ueV5jfIKiAlZAcXz6NHjwxcBqYq7wASeUEmYPgh5lb4HBOuOgatYBNAmQoxp
2t5AXPPhI/u95GRa4WntpgqlQm/1CKA9kHiezvO4P0lnpUluT24DXclMTcq4xaiN
ci+dzVF2EPRoPJgYy9crKNsr7dftVtvAVXIRk3UaTwDe1o7OK4vSykDc0PSNxsHQ
mMabBuFt17oweonotSOZ8z7blHnCVnzZWVxyIxC3Pw/0ChHFAkw=
=68JD
-----END PGP SIGNATURE-----

BIN
util-linux-2.40.1.tar.xz (Stored with Git LFS)

Binary file not shown.

View File

@ -0,0 +1,16 @@
-----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-----

BIN
util-linux-2.41.1.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

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'
) | LC_ALL=C sort -u >util-linux-login_defs-vars.lst
if test $(sha1sum util-linux-login_defs-vars.lst | sed 's/ .*$//') != 8516ca34e059b2dee1d4421a3ab07e88331b1674 ; then
if test $(sha1sum util-linux-login_defs-vars.lst | sed 's/ .*$//') != 713b442bf6d16353b7f74538ece165b424f90932 ; then
echo "does not match!" >&2
echo "Checksum is: $(sha1sum util-linux-login_defs-vars.lst | sed 's/ .*$//')" >&2
@ -32,10 +32,13 @@ If it is false positive:
- The same fix is needed in shadow package in shadow-login_defs-check.sh.
If it is true positive:
- Check-out shadow package and call shadow-login_defs-check.sh.
- Compare its output shadow-login_defs-check-util-linux.lst with
util-linux-login_defs-vars.lst in the util-linux build directory.
- Check-out shadow package and call shadow-login_defs-check.sh. If it
fails, check the output.
- 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
login_defs-support-for-util-linux symbol version in both shadow and
util-linux spec files accordingly.

View File

@ -1,7 +0,0 @@
# False positives. Libraries outside LD_LIBRARY_PATH use RPATH to find libraries, not ldconfig.
addFilter("library-without-ldconfig-postin /usr/libexec/build/staging/.*")
addFilter("library-without-ldconfig-postun /usr/libexec/build/staging/.*")
# Not applicable for multi flavor build.
addFilter("invalid-spec-name")
# Not important, and it simplifies packaging.
addFilter("non-etc-or-var-file-marked-as-conffile /usr/libexec/build/staging/.*")

View File

@ -1,3 +1,277 @@
-------------------------------------------------------------------
Tue Jun 24 22:41:18 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>
- Update to version 2.41.1:
* cfdisk: fix memory leak and possible NULL dereference
* fdisk: fix possible memory leak
* findmnt: fix -k option parsing regression (boo#1242705,
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>
- Fix libmount --no-canonicalize regression (boo#1244251,
gh#util-linux/util-linux#3479,
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>
- Update to version 2.40.4:
* agetty: Prevent cursor escape (bsc#1194818, drop
util-linux-agetty-prevent-cursor-escape.patch)
add "systemd" to --version output\
* chcpu(8): Document CPU deconfiguring behavior
* fdisk: SGI fixes
* hardlink: fix memory corruption
* hardlink.1 directory|file is mandatory
* lib/env: fix env_list_setenv() for strings without '='
* libblkid:
(exfat) validate fields used by prober
(gpt) use blkid_probe_verify_csum() for partition array
checksum
add FSLASTBLOCK for swaparea
bitlocker fix version on big-endian systems
* libfdisk: make sure libblkid uses the same sector size
* libmount:
extract common error handling function
propagate first error of multiple filesystem types
* logger: correctly format tv_usec
* lscpu: Skip aarch64 decode path for rest of the architectures
(bsc#1229476, drop util-linux-lscpu-skip-aarch64-decode.patch)
* lsns: ignore ESRCH errors reported when accessing files under
/proc
* mkswap: set selinux label also when creating file
* more: make sure we have data on stderr
* nsenter: support empty environ
* umount, losetup: Document loop destroy behavior
(bsc#1159034, drop
util-linux-umount-losetup-lazy-destruction.patch,
util-linux-umount-losetup-lazy-destruction-generated.patch).
* uuidd: fix /var/lib/libuuid mode uuidd-tmpfiles.conf
fix /var/lib/libuuid mode uuidd-tmpfiles.conf
* Many other fixes, improvements and code cleanup. For the
complete list see
https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.40/v2.40.3-ReleaseNotes
https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.40/v2.40.4-ReleaseNotes
- Refresh util-linux.keyring. Key validity was extended.
-------------------------------------------------------------------
Sun Nov 17 21:06:01 UTC 2024 - Stanislav Brabec <sbrabec@suse.com>
- Skip aarch64 decode path for rest of the architectures
(bsc#1229476, util-linux-lscpu-skip-aarch64-decode.patch).
- agetty: Prevent login cursor escape (bsc#1194818,
util-linux-agetty-prevent-cursor-escape.patch).
- Document unexpected side effects of lazy destruction
(bsc#1159034, util-linux-umount-losetup-lazy-destruction.patch,
util-linux-umount-losetup-lazy-destruction-generated.patch).
-------------------------------------------------------------------
Mon Oct 21 23:25:19 UTC 2024 - Stanislav Brabec <sbrabec@suse.com>
- Disable mountfd API again.
(https://github.com/util-linux/util-linux/issues/3158)
-------------------------------------------------------------------
Mon Aug 5 22:14:13 UTC 2024 - Stanislav Brabec <sbrabec@suse.com>
- Update to version 2.40.2:
* cfdisk: fix possible integer overflow
* libmount: improving robustness in reading kernel messages,
add pidfs to pseudo fs list
* lscpu: New Arm Cortex part numbers
fix hang of lscpu -e (bsc#1225598)
* lsfd: Refactor the pidfd logic, support pidfs
(obsoletes
0001-include-Include-unistd.h-in-pidfd-utils.h-for-syscal.patch,
0002-lsfd-Refactor-the-pidfd-logic-into-lsfd-pidfd.c.patch,
0003-lsfd-Support-pidfs.patch,
0004-lsfd-test-Adapt-test-cases-for-pidfs.patch)
* mkswap.8.adoc: update note regarding swapfile creation
* setpgid: make -f work
* Many other fixes, improvements and code cleanup. For the
complete list see
https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.40/v2.40.2-ReleaseNotes
- Enable kernel mountfd API, as it should be already stable
(PED-9752).
- Move autoreconf back to %build.
- Add devel dependencies.
- Remove util-linux-rpmlintrc. It is no more needed with multibuild.
-------------------------------------------------------------------
Tue Jul 16 13:25:03 UTC 2024 - Valentin Lefebvre <valentin.lefebvre@suse.com>
@ -80,7 +354,7 @@ Thu Apr 4 12:27:18 UTC 2024 - Thorsten Kukuk <kukuk@suse.com>
* blockdev: add support for BLKGETZONESZ
* cfdisk: ask y/n before wipe
* cfdisk: properly handle out-of-order partitions during resize
* chcpu: document limitations of -g
* chcpu: document limitations of -g (bsc#1218609)
* chsh: use libeconf to read /etc/shells
* column: fix -l
* column: fix memory leak
@ -103,10 +377,12 @@ Thu Apr 4 12:27:18 UTC 2024 - Thorsten Kukuk <kukuk@suse.com>
* lsblk: add --highlight
* lsblk: add --list-columns
* lsclocks: new command to show clocks
* lscpu: even more Arm part numbers
* lscpu: even more Arm part numbers (bsc#1223605)
* mkfs.minix: handle 64bit time on 32bit system
* mkswap: implement --file
* mkswap: implement --offset
* more: clean processes not cleaned up after failed SSH session
using up 100% CPU (bsc#1220117)
* mount: add --map-users and --map-groups convenience options
* nsenter: add option `-c` to join the cgroup of target process
* setarch: add riscv64/riscv32 support
@ -114,6 +390,8 @@ Thu Apr 4 12:27:18 UTC 2024 - Thorsten Kukuk <kukuk@suse.com>
* uuidd: add cont_clock persistence
* uuidgen: add option --count
* wall: query logind for list of users with tty (#2088)
properly neutralize escape sequences (bsc#1221831,
CVE-2024-28085)
* write: query logind for list of users with tty (#2088)
* libuuid: improved support for 64-bit time
- skip-lsfd-tests-PR2888.patch: skip some lsfd tests which OBS does
@ -233,6 +511,7 @@ Fri Jul 28 14:47:15 UTC 2023 - Goldwyn Rodrigues <rgoldwyn@suse.com>
- Re-add 0001-Revert-libblkid-try-LUKS2-first-when-probing.patch
because the patch is not in 2.39.1
(bsc#1224393, boo#1213227, boo#1213361)
-------------------------------------------------------------------
Wed Jul 26 01:22:20 UTC 2023 - Neil Brown <nfbrown@suse.com>

View File

@ -1,9 +1,10 @@
pub 4096R/EC39C284 2011-10-10 [expires: 2016-10-08]
uid Karel Zak <kzak@redhat.com>
sub 4096R/7BA16CAC 2011-10-10 [expires: 2016-10-08]
pub rsa4096 2011-10-10 [SC] [expires: 2033-05-14]
B0C64D14301CC6EFAEDF60E4E4B71D5EEC39C284
uid [ unknown] Karel Zak <kzak@redhat.com>
sub rsa4096 2011-10-10 [E] [expires: 2033-05-14]
FC0214B4E2D01655F5898228ED846C667BA16CAC
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.20 (GNU/Linux)
mQINBE6StA4BEACp9++Y+DgbBloJEuVhsDjDIvAR1n/aHPDyPQQzg/DkKtR3BXHn
dGfTL9/DR8y9YzLNwUf2lWsEAvwHZ2XfUTp5S5nVbgpAB0/Q2ebP0TnkNYaRkxq7
@ -16,41 +17,42 @@ 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
VeljfCzq
=8wc5
tBtLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT6JAlUEEwEIAD8CGwMGCwkIBwMC
BhUIAgkKCwQWAgMBAh4BAheAFiEEsMZNFDAcxu+u32Dk5LcdXuw5woQFAmRkpsEF
CSid9bMACgkQ5LcdXuw5woSvFA/+LYBDPSubYZF4lS8lNlWwRNe1gP9VrCkaF5mb
Psx7cV8eHQICR/QJD7WDSIHlnfaBCmNelwGRc76PB23Huvq8xwvTYiQDWdqIN4Vl
gDLqSganq53poN1BNBFRP6ubsdGjHlSYH+ygf8XXL/h+/b9Ud61eb43XQ5sUhFQU
kEZEiJ26rCwOQWnlyJBMzo0axwW55qKoMmNjcwtRrB5kW7QDZ8BHVZiEqVrjJxQh
0NpwrjlFdRZ8Ak+/3Iz1UOIJl+p0+5sjx6iY7Xy7oKP28msdLcqRy/o58A+IHGQ1
Y5DeeosNkatnT9+7TQdAxJdJzuLpH9WTmXyIoG1DP8p2A2fjvLpYMEomWKYBb6ci
1MZaI1Kdw9BX3xfaI0OhRDArLN0Nu630jTLafwf+jv8OtNEtb2BnbHWIrQw0rRc7
877VRu7wmyTroj5IJthuEVr+NWw9RqCMljO/SDoR3GzE+2xSvKQlZU//vIBdHiVV
u4IbKhHlYELFMiqmNWoqlTFwstpP+TgYYtwf0Xuhv/1Y7PezI8Zvp8/pjYwmjCg6
CdtTZMSonFBmMuA5hA/5Eg2KEwplHUfz/XgCe4wNv21tnvUY7QuHU2ZvlInEFACM
/4L1cIz7/PmQke7z7WvXP0d2pCMtfTra0RqH1nneNgq0VAhGnyI5qpK+n+hSYTqV
3VQNNQi5Ag0ETpK0DgEQAMbkeKd3rViqhdcei2tok7Z6Ow+LLcHFJlNB634gk7m3
JRFJdUi/5m5X8wFFL/zx+QEvacekrlsG0lPXUPZkRKbOJlYaAy1lFXi9rd+HcZox
5V2LmlemY9mnh8FzrQXeIIp93VXz/VrPCJxm12FOmGRzo7sRMKvbjQ6smg6C+KVu
m/xa5XCGN8Q4vYPAohMrq3NtrVVJxeJ6EOGFOyw/XhFCIf85wwW6IcIcl4dA4f2S
7h/OpPb+XHFKjiQxYpHZWyVbXt/dmvdm+tuL9vxQT/dP9GyhpCfaaX0F8OIyA3BP
iXYguUTselkx8PZYA/qK0YeiVx1uE1qPEAwd0/m3rjNJ3AqYHwBu4ijudswq4kyI
92Q5L/zHdgdGV7hYQR5FZMRyrLOqQyowKoovFzhIK5Iy/6KeAOsev53m6y4yVCNP
xzvU8iKmX06kzwmSXwIjZOhUXbTCKNg6h/hP+OM5tiJmTUpyqoqFDMxcSEoK32Er
kBooyrkGK5uVL9DkRenNxGBWYb5Iwd2FQ0s3uCKUXHn3f0S/7fpM0T9/rqv1qIX5
ZuIjVXUkazQthXIXPCYUwKBBSyfKrIBE1EScvKx0sT3w8NI7YRLG70E7uRO+U/Sr
mn4wpCJiP+znBKpfDwQMJIEf27T8VCKDJXRr4nvRZlk2l2LnCr6pVnXosQ1B3G0r
ABEBAAGJAjwEGAEIACYCGwwWIQSwxk0UMBzG767fYOTktx1e7DnChAUCZGSnpQUJ
KJ32lwAKCRDktx1e7DnChJ0gD/wOsq5mWpoSvBmhI/Xa4WOl2D9ltYYJxrQpdTd+
IhUuQUCZle/z6dSO2jsrpcvnwn3OHBQguvX8vzBr2qFeQDjrAbZ4V76teY2Zg+5o
HFy21TlCFrNeFLrk4m8PyCrfQVoQ55ESLPUBp0qK5VLzKjFAHD7+Z90bEie6IGUc
rJyUokTNc7hSWsQk96rAENE6cxCgsEGZhtsS41iBZ4lkhkaVfpPj/yxiiOFw101N
G1PXq+EAJ6iaIvBbNiy+AI9EFVAkX6uMM8INely0HAn/H3/hc/xADiUFolPiIEwK
E04L/8KHVH5vn007kUeMD4DecvL+8XYyT18+jH/Hvpai610uWwfBP50HoKa9A8JD
ppBZaqBGzeNvCMUWU6rxyLoNOeJduUwFTh3mUesBoF7Iqdpe1CphuUlOKWUYY6Jq
ZEZ7oQN630z0QsLzr6YZinnnfMbO9xNktfJPBMju6UPmOHfYI/zJFRe5VTqvG8w3
SxJVriqs75jFpGqSC/a7IcW3j2FeVQ66sAcik4XRA9JO7SpsTJtebAw0tQ8nIkIj
ekmNJnNAlIKOnisKca9QRzuUn5HNPl8UDeN9KjxsFkmDMEkRSuijpLEFe+66bkjP
NdEeAGQJbiXWb1z9vHHQpDPKMXhK18D5PBnLDIl8iFnpDE+M088Xnavf9eYapj2k
Zh9rvA==
=cevX
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -1,7 +1,7 @@
#
# spec file for package util-linux
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -85,19 +85,18 @@ Group: Development/Languages/Python
%endif
# ulbuild == python
Version: 2.40.1
Version: 2.41.1
Release: 0
License: GPL-2.0-or-later
URL: https://www.kernel.org/pub/linux/utils/util-linux/
Source: https://www.kernel.org/pub/linux/utils/util-linux/v2.40/util-linux-%{version}.tar.xz
Source: https://www.kernel.org/pub/linux/utils/util-linux/v2.41/util-linux-%{version}.tar.xz
Source2: util-linux-login_defs-check.sh
Source3: util-linux-rpmlintrc
Source7: baselibs.conf
Source8: login.pamd
Source9: remote.pamd
Source10: su.pamd
Source11: su.default
Source12: https://www.kernel.org/pub/linux/utils/util-linux/v2.39/util-linux-%{version}.tar.sign
Source12: https://www.kernel.org/pub/linux/utils/util-linux/v2.41/util-linux-%{version}.tar.sign
Source13: %{_name}.keyring
Source14: runuser.pamd
Source15: runuser-l.pamd
@ -111,10 +110,6 @@ 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.
Patch3: util-linux-bash-completion-su-chsh-l.patch
Patch5: static_lib.patch
Patch6: 0001-include-Include-unistd.h-in-pidfd-utils.h-for-syscal.patch
Patch7: 0002-lsfd-Refactor-the-pidfd-logic-into-lsfd-pidfd.c.patch
Patch8: 0003-lsfd-Support-pidfs.patch
Patch9: 0004-lsfd-test-Adapt-test-cases-for-pidfs.patch
BuildRequires: audit-devel
BuildRequires: bc
BuildRequires: binutils-devel
@ -190,7 +185,8 @@ Supplements: filesystem(minix)
# All login.defs variables require support from shadow side.
# Upgrade this symbol version only if new variables appear!
# Verify by shadow-login_defs-check.sh from shadow source package.
Recommends: login_defs-support-for-util-linux >= 2.37
# Use downstream version. Upstream may accept the patch later.
Recommends: login_defs-support-for-util-linux >= 4.17.4
%endif
# ulsubset == core
@ -280,7 +276,10 @@ Library for filesystem detection.
Summary: Development files for the filesystem detection library
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
Requires: glibc-devel
Requires: libblkid-devel
Requires: libfdisk1 = %{version}
Requires: libuuid-devel
%description -n libfdisk-devel
Files needed to develop applications using the library for filesystem
@ -290,7 +289,10 @@ detection.
Summary: Development files for the filesystem detection library
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
Requires: libblkid-devel-static
Requires: libeconf-devel
Requires: libfdisk-devel = %{version}
Requires: libuuid-devel-static
%description -n libfdisk-devel-static
Files needed to develop applications using the library for filesystem
@ -309,7 +311,10 @@ mount(8) and /usr/sbin/mount.<type> helpers.
Summary: Development files for libmount
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
Requires: libblkid-devel
Requires: libeconf-devel
Requires: libmount1 = %{version}
Requires: libselinux-devel
%description -n libmount-devel
Files to develop applications using the libmount library.
@ -318,6 +323,7 @@ Files to develop applications using the libmount library.
Summary: Development files for libmount
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
Requires: libblkid-devel-static
Requires: libmount-devel = %{version}
%description -n libmount-devel-static
@ -364,6 +370,7 @@ A library to generate universally unique IDs (UUIDs).
Summary: Development files for libuuid
License: BSD-3-Clause
Group: Development/Libraries/C and C++
Requires: glibc-devel
Requires: libuuid1 = %{version}
%description -n libuuid-devel
@ -467,9 +474,9 @@ cp -a %{S:2} .
%autopatch -p1
# This test randomly fails or keeps hanging task inside build chroot (tested on 2.38).
rm tests/ts/lsns/ioctl_ns
AUTOPOINT=true GTKDOCIZE=true autoreconf -vfi
%build
AUTOPOINT=true GTKDOCIZE=true autoreconf -vfi
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
export SUID_CFLAGS="-fpie"
export SUID_LDFLAGS="-pie"
@ -479,38 +486,38 @@ export CXXFLAGS="%{optflags} -D_GNU_SOURCE"
# 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.
function configure_and_build() {
configure_and_build() {
# configure options depending on ulbuild and ulsubset values
configure_options=""
# 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
# check and the libmagic database dependency is rather large (9MB+)
configure_options+="--without-libmagic "
configure_options="$configure_options --without-libmagic "
%if "%ulbuild" == "python"
%define _configure ../configure
configure_options+="--disable-all-programs "
configure_options+="--with-python "
configure_options+="--enable-pylibmount "
configure_options+="--enable-libmount "
configure_options+="--enable-libblkid "
configure_options="$configure_options --disable-all-programs "
configure_options="$configure_options --with-python "
configure_options="$configure_options --enable-pylibmount "
configure_options="$configure_options --enable-libmount "
configure_options="$configure_options --enable-libblkid "
%endif
# ulbuild == python
%if "%ulbuild" == "base"
configure_options+="--enable-all-programs "
configure_options+="--without-python "
configure_options="$configure_options --enable-all-programs "
configure_options="$configure_options --without-python "
%endif
# ulbuild == base
%if "%ulsubset" == "core"
configure_options+="--without-systemd --disable-liblastlog2"
configure_options="$configure_options --without-systemd --disable-liblastlog2"
%endif
# ulsubset == core
%if "%ulsubset" == "systemd"
configure_options+="--with-systemd "
configure_options="$configure_options --with-systemd "
%endif
# ulsubset == systemd
@ -553,10 +560,9 @@ configure_options+="--with-systemd "
--disable-pg\
--enable-fs-paths-default="/sbin:/usr/sbin"\
--enable-static\
--with-vendordir=%{_distconfdir} \
--disable-libmount-mountfd-support \
--with-vendordir=%{_distconfdir}\
$configure_options
make %{?_smp_mflags}
%make_build
}
################
@ -607,8 +613,10 @@ fi
################
%if "%ulbuild" == "base"
%make_install
mkdir -p %{buildroot}{%{_distconfdir}/default,%{_pam_vendordir},%{_sysconfdir}/issue.d}
install -m 644 %{SOURCE51} %{buildroot}%{_sysconfdir}/blkid.conf
mkdir -p "%{buildroot}/%{_distconfdir}/default" "%{buildroot}/%{_pam_vendordir}" "%{buildroot}/%{_sysconfdir}/issue.d"
install -m 644 %{SOURCE51} %{buildroot}%{_distconfdir}/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 %{SOURCE9} %{buildroot}%{_pam_vendordir}/remote
%if 0%{?suse_version} <= 1500
@ -662,10 +670,10 @@ rm -f %{buildroot}%{_mandir}/man8/fdisk.8*
# create list of setarch(8) symlinks
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|uname26)\.8.*" \
-regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64)\.8.*" \
-printf "%{_mandir}/man8/%f*\n" >> %{name}.files
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|uname26)$" \
-regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64)$" \
-printf "%{_bindir}/%f\n" >> %{name}.files
mkdir -p %{buildroot}/run/uuidd
@ -706,8 +714,6 @@ mv %{buildroot}%{_bindir}/login %{buildroot}/bin/
%else
# ulsubset != core, ulbuild == base
echo -n "" >%{name}.lang
ln -sf /sbin/service %{buildroot}%{_sbindir}/rcuuidd
ln -sf /sbin/service %{buildroot}%{_sbindir}/rcfstrim
%endif
# ulsubset == core, ulbuild == base
@ -971,7 +977,6 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
# defined no_config
%config %dir %{_sysconfdir}/issue.d
%if %{ul_extra_bin_sbin}
%core /bin/kill
%core %verify(not mode) %attr(%ul_suid,root,root) /bin/su
@ -1015,7 +1020,9 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%core %{_bindir}/kill
%core %verify(not mode) %attr(%ul_suid,root,root) %{_bindir}/su
%core %{_bindir}/eject
%core %{_bindir}/bits
%core %{_bindir}/cal
%core %{_bindir}/coresched
%core %{_bindir}/chmem
%core %{_bindir}/choom
%core %{_bindir}/chrt
@ -1227,6 +1234,7 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%core %{_mandir}/man1/kill.1.gz
%core %{_mandir}/man1/su.1.gz
%core %{_mandir}/man1/bits.1.gz
%core %{_mandir}/man1/cal.1.gz
%core %{_mandir}/man1/choom.1.gz
%core %{_mandir}/man1/chrt.1.gz
@ -1234,6 +1242,7 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%core %{_mandir}/man1/colcrt.1.gz
%core %{_mandir}/man1/colrm.1.gz
%core %{_mandir}/man1/column.1.gz
%core %{_mandir}/man1/coresched.1.gz
%core %{_mandir}/man1/dmesg.1.gz
%core %{_mandir}/man1/enosys.1.gz
%core %{_mandir}/man1/eject.1.gz
@ -1360,8 +1369,10 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%license README.licensing
%license COPYING
%license Documentation/licenses/*
%config(noreplace) %{_sysconfdir}/blkid.conf
%ghost %config(missingok) %{_sysconfdir}/blkid.conf
%config %dir %{_sysconfdir}/blkid.conf.d
%{_distconfdir}/blkid.conf
%dir %{_distconfdir}/blkid.conf.d
%{_datadir}/bash-completion/completions/*
%exclude %{_datadir}/bash-completion/completions/findmnt
%exclude %{_datadir}/bash-completion/completions/logger
@ -1386,10 +1397,11 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
# Systemd files #
#################
%if "%ulsubset" == "systemd"
%exclude %config(noreplace) %{_sysconfdir}/blkid.conf
%exclude %{_distconfdir}/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
%if %{ul_extra_bin_sbin}
/bin/findmnt
/bin/logger
@ -1577,7 +1589,6 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%exclude %{_mandir}/man8/parisc64.8.gz
%exclude %{_mandir}/man8/uname26.8.gz
%{_sbindir}/rcfstrim
%{_unitdir}/fstrim.service
%{_unitdir}/fstrim.timer
%endif
@ -1724,7 +1735,6 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%attr(-,uuidd,uuidd) %ghost %dir /run/uuidd
%{_datadir}/bash-completion/completions/uuidd
%{_mandir}/man8/uuidd.8.gz
%{_sbindir}/rcuuidd
%{_unitdir}/uuidd.service
%{_unitdir}/uuidd.socket