Compare commits
No commits in common. "factory" and "main" have entirely different histories.
@ -0,0 +1,32 @@
|
|||||||
|
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
|
||||||
|
|
319
0002-lsfd-Refactor-the-pidfd-logic-into-lsfd-pidfd.c.patch
Normal file
319
0002-lsfd-Refactor-the-pidfd-logic-into-lsfd-pidfd.c.patch
Normal file
@ -0,0 +1,319 @@
|
|||||||
|
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
|
||||||
|
|
186
0003-lsfd-Support-pidfs.patch
Normal file
186
0003-lsfd-Support-pidfs.patch
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
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
|
||||||
|
|
142
0004-lsfd-test-Adapt-test-cases-for-pidfs.patch
Normal file
142
0004-lsfd-test-Adapt-test-cases-for-pidfs.patch
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
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
|
||||||
|
|
@ -1,4 +0,0 @@
|
|||||||
mtime: 1732123801
|
|
||||||
commit: 1f607dd355d8ca2a0fa48e4d3662cad355a81b877985b076ecc7a1527d45771c
|
|
||||||
url: https://src.opensuse.org/jengelh/util-linux
|
|
||||||
revision: master
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:61a765e8d466450446dd85c699160cfc02aab7dfe35927dbede2111c3afe94f2
|
|
||||||
size 256
|
|
16
util-linux-2.40.1.tar.sign
Normal file
16
util-linux-2.40.1.tar.sign
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----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)
Normal file
BIN
util-linux-2.40.1.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,16 +0,0 @@
|
|||||||
-----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-----
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:5c1daf733b04e9859afdc3bd87cc481180ee0f88b5c0946b16fdec931975fb79
|
|
||||||
size 8848216
|
|
7
util-linux-rpmlintrc
Normal file
7
util-linux-rpmlintrc
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# 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/.*")
|
@ -1,100 +1,3 @@
|
|||||||
-------------------------------------------------------------------
|
|
||||||
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>
|
Tue Jul 16 13:25:03 UTC 2024 - Valentin Lefebvre <valentin.lefebvre@suse.com>
|
||||||
|
|
||||||
@ -177,7 +80,7 @@ Thu Apr 4 12:27:18 UTC 2024 - Thorsten Kukuk <kukuk@suse.com>
|
|||||||
* blockdev: add support for BLKGETZONESZ
|
* blockdev: add support for BLKGETZONESZ
|
||||||
* cfdisk: ask y/n before wipe
|
* cfdisk: ask y/n before wipe
|
||||||
* cfdisk: properly handle out-of-order partitions during resize
|
* cfdisk: properly handle out-of-order partitions during resize
|
||||||
* chcpu: document limitations of -g (bsc#1218609)
|
* chcpu: document limitations of -g
|
||||||
* chsh: use libeconf to read /etc/shells
|
* chsh: use libeconf to read /etc/shells
|
||||||
* column: fix -l
|
* column: fix -l
|
||||||
* column: fix memory leak
|
* column: fix memory leak
|
||||||
@ -200,12 +103,10 @@ Thu Apr 4 12:27:18 UTC 2024 - Thorsten Kukuk <kukuk@suse.com>
|
|||||||
* lsblk: add --highlight
|
* lsblk: add --highlight
|
||||||
* lsblk: add --list-columns
|
* lsblk: add --list-columns
|
||||||
* lsclocks: new command to show clocks
|
* lsclocks: new command to show clocks
|
||||||
* lscpu: even more Arm part numbers (bsc#1223605)
|
* lscpu: even more Arm part numbers
|
||||||
* mkfs.minix: handle 64bit time on 32bit system
|
* mkfs.minix: handle 64bit time on 32bit system
|
||||||
* mkswap: implement --file
|
* mkswap: implement --file
|
||||||
* mkswap: implement --offset
|
* 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
|
* mount: add --map-users and --map-groups convenience options
|
||||||
* nsenter: add option `-c` to join the cgroup of target process
|
* nsenter: add option `-c` to join the cgroup of target process
|
||||||
* setarch: add riscv64/riscv32 support
|
* setarch: add riscv64/riscv32 support
|
||||||
@ -213,8 +114,6 @@ Thu Apr 4 12:27:18 UTC 2024 - Thorsten Kukuk <kukuk@suse.com>
|
|||||||
* uuidd: add cont_clock persistence
|
* uuidd: add cont_clock persistence
|
||||||
* uuidgen: add option --count
|
* uuidgen: add option --count
|
||||||
* wall: query logind for list of users with tty (#2088)
|
* 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)
|
* write: query logind for list of users with tty (#2088)
|
||||||
* libuuid: improved support for 64-bit time
|
* libuuid: improved support for 64-bit time
|
||||||
- skip-lsfd-tests-PR2888.patch: skip some lsfd tests which OBS does
|
- skip-lsfd-tests-PR2888.patch: skip some lsfd tests which OBS does
|
||||||
@ -334,7 +233,6 @@ Fri Jul 28 14:47:15 UTC 2023 - Goldwyn Rodrigues <rgoldwyn@suse.com>
|
|||||||
|
|
||||||
- Re-add 0001-Revert-libblkid-try-LUKS2-first-when-probing.patch
|
- Re-add 0001-Revert-libblkid-try-LUKS2-first-when-probing.patch
|
||||||
because the patch is not in 2.39.1
|
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>
|
Wed Jul 26 01:22:20 UTC 2023 - Neil Brown <nfbrown@suse.com>
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
pub rsa4096 2011-10-10 [SC] [expires: 2033-05-14]
|
pub 4096R/EC39C284 2011-10-10 [expires: 2016-10-08]
|
||||||
B0C64D14301CC6EFAEDF60E4E4B71D5EEC39C284
|
uid Karel Zak <kzak@redhat.com>
|
||||||
uid [ unknown] Karel Zak <kzak@redhat.com>
|
sub 4096R/7BA16CAC 2011-10-10 [expires: 2016-10-08]
|
||||||
sub rsa4096 2011-10-10 [E] [expires: 2033-05-14]
|
|
||||||
FC0214B4E2D01655F5898228ED846C667BA16CAC
|
|
||||||
|
|
||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Version: GnuPG v2.0.20 (GNU/Linux)
|
||||||
|
|
||||||
mQINBE6StA4BEACp9++Y+DgbBloJEuVhsDjDIvAR1n/aHPDyPQQzg/DkKtR3BXHn
|
mQINBE6StA4BEACp9++Y+DgbBloJEuVhsDjDIvAR1n/aHPDyPQQzg/DkKtR3BXHn
|
||||||
dGfTL9/DR8y9YzLNwUf2lWsEAvwHZ2XfUTp5S5nVbgpAB0/Q2ebP0TnkNYaRkxq7
|
dGfTL9/DR8y9YzLNwUf2lWsEAvwHZ2XfUTp5S5nVbgpAB0/Q2ebP0TnkNYaRkxq7
|
||||||
@ -17,42 +16,41 @@ Q+MQyA1L5FifkpA7+akITF5luOqUb2TToEBLiF/nn8y0sIUa/HGgcUrK2N9E1VNJ
|
|||||||
tcIt/z0sZJUHYC+EBh/G0UNt9tRwPdnUks5sua1sCquXnkd9IS0Kr3Kq/C6JOKzz
|
tcIt/z0sZJUHYC+EBh/G0UNt9tRwPdnUks5sua1sCquXnkd9IS0Kr3Kq/C6JOKzz
|
||||||
UDGdFKVc6wExf70hX5h0g1kkypyjNwipGSdk+qVXO0IF/tKMToa8WZqoK3enzryI
|
UDGdFKVc6wExf70hX5h0g1kkypyjNwipGSdk+qVXO0IF/tKMToa8WZqoK3enzryI
|
||||||
Kmdq7IQ0ThdTTTC1ctVk4367/30prpNHF4/642G0OOiQCzWBrb0V217HvQARAQAB
|
Kmdq7IQ0ThdTTTC1ctVk4367/30prpNHF4/642G0OOiQCzWBrb0V217HvQARAQAB
|
||||||
tBtLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT6JAlUEEwEIAD8CGwMGCwkIBwMC
|
tBtLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT6JAj4EEwECACgFAk6StA4CGwMF
|
||||||
BhUIAgkKCwQWAgMBAh4BAheAFiEEsMZNFDAcxu+u32Dk5LcdXuw5woQFAmRkpsEF
|
CQlmAYAGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOS3HV7sOcKETI8QAI0U
|
||||||
CSid9bMACgkQ5LcdXuw5woSvFA/+LYBDPSubYZF4lS8lNlWwRNe1gP9VrCkaF5mb
|
StG6dv1l9kqkmFpXPZJ75hf5SJA69+upcKeTg9BXKrEqjZLeyEn1OVPmfVGwWpz8
|
||||||
Psx7cV8eHQICR/QJD7WDSIHlnfaBCmNelwGRc76PB23Huvq8xwvTYiQDWdqIN4Vl
|
SRbiYcHh8AhJaggAxKcIgQ/sAUBkmrTP6RyYEQUV6vFW5qv7dcEOs46d+LE/Wkxs
|
||||||
gDLqSganq53poN1BNBFRP6ubsdGjHlSYH+ygf8XXL/h+/b9Ud61eb43XQ5sUhFQU
|
ymC2FSXxYOFiw7z27gkXQYq/IkdwfhRLFD6aD5egxcBVl91ZlRyklvPPW7qo046B
|
||||||
kEZEiJ26rCwOQWnlyJBMzo0axwW55qKoMmNjcwtRrB5kW7QDZ8BHVZiEqVrjJxQh
|
MWh2LaCVowYg+33GjS4A4JcF+tGkWZc0yqANwov93uhY0VXEdDsT4YWrTVdNDI3/
|
||||||
0NpwrjlFdRZ8Ak+/3Iz1UOIJl+p0+5sjx6iY7Xy7oKP28msdLcqRy/o58A+IHGQ1
|
lZ5u5k9sEUGR03oV336M/j0qNtMfAG5iDt2PFrzhJZcGcQPiGd/DeYuJeLVCd8Nl
|
||||||
Y5DeeosNkatnT9+7TQdAxJdJzuLpH9WTmXyIoG1DP8p2A2fjvLpYMEomWKYBb6ci
|
jAwsnfGqu9VITgaDOreLbpSTNSj8egPqOoUBAGncMSfdiQ2ZEhluPyCTwspDy5Pa
|
||||||
1MZaI1Kdw9BX3xfaI0OhRDArLN0Nu630jTLafwf+jv8OtNEtb2BnbHWIrQw0rRc7
|
dESyk0q2Z6tKG9ae01g/RzfTGCVN4GxkORPxcEHloa4XM3C9FBohM1LTWmsvnNXe
|
||||||
877VRu7wmyTroj5IJthuEVr+NWw9RqCMljO/SDoR3GzE+2xSvKQlZU//vIBdHiVV
|
cPdbPyCoiFKio/yFZDt1CYDkols4uf/0ztCSH6pI874sCmYJVkYev2W9RCxE4aYK
|
||||||
u4IbKhHlYELFMiqmNWoqlTFwstpP+TgYYtwf0Xuhv/1Y7PezI8Zvp8/pjYwmjCg6
|
KMb8XCUPec8L4C1mpmBiej0NT/d9GHQUnJUpRD4EG7UBxMwNWflhO4P4Q81uM0Kr
|
||||||
CdtTZMSonFBmMuA5hA/5Eg2KEwplHUfz/XgCe4wNv21tnvUY7QuHU2ZvlInEFACM
|
RMht0lS0EylZXuQPPG5C1nMsa1+eN0wjSTpy7232PTCxu+bhxA1HzvWXYuueUmp2
|
||||||
/4L1cIz7/PmQke7z7WvXP0d2pCMtfTra0RqH1nneNgq0VAhGnyI5qpK+n+hSYTqV
|
QuV8PyA1lsfYI7PEgk2skfAvbP5vJszorklo2hVGuQINBE6StA4BEADG5Hind61Y
|
||||||
3VQNNQi5Ag0ETpK0DgEQAMbkeKd3rViqhdcei2tok7Z6Ow+LLcHFJlNB634gk7m3
|
qoXXHotraJO2ejsPiy3BxSZTQet+IJO5tyURSXVIv+ZuV/MBRS/88fkBL2nHpK5b
|
||||||
JRFJdUi/5m5X8wFFL/zx+QEvacekrlsG0lPXUPZkRKbOJlYaAy1lFXi9rd+HcZox
|
BtJT11D2ZESmziZWGgMtZRV4va3fh3GaMeVdi5pXpmPZp4fBc60F3iCKfd1V8/1a
|
||||||
5V2LmlemY9mnh8FzrQXeIIp93VXz/VrPCJxm12FOmGRzo7sRMKvbjQ6smg6C+KVu
|
zwicZtdhTphkc6O7ETCr240OrJoOgvilbpv8WuVwhjfEOL2DwKITK6tzba1VScXi
|
||||||
m/xa5XCGN8Q4vYPAohMrq3NtrVVJxeJ6EOGFOyw/XhFCIf85wwW6IcIcl4dA4f2S
|
ehDhhTssP14RQiH/OcMFuiHCHJeHQOH9ku4fzqT2/lxxSo4kMWKR2VslW17f3Zr3
|
||||||
7h/OpPb+XHFKjiQxYpHZWyVbXt/dmvdm+tuL9vxQT/dP9GyhpCfaaX0F8OIyA3BP
|
Zvrbi/b8UE/3T/RsoaQn2ml9BfDiMgNwT4l2ILlE7HpZMfD2WAP6itGHolcdbhNa
|
||||||
iXYguUTselkx8PZYA/qK0YeiVx1uE1qPEAwd0/m3rjNJ3AqYHwBu4ijudswq4kyI
|
jxAMHdP5t64zSdwKmB8AbuIo7nbMKuJMiPdkOS/8x3YHRle4WEEeRWTEcqyzqkMq
|
||||||
92Q5L/zHdgdGV7hYQR5FZMRyrLOqQyowKoovFzhIK5Iy/6KeAOsev53m6y4yVCNP
|
MCqKLxc4SCuSMv+ingDrHr+d5usuMlQjT8c71PIipl9OpM8Jkl8CI2ToVF20wijY
|
||||||
xzvU8iKmX06kzwmSXwIjZOhUXbTCKNg6h/hP+OM5tiJmTUpyqoqFDMxcSEoK32Er
|
Oof4T/jjObYiZk1KcqqKhQzMXEhKCt9hK5AaKMq5BiublS/Q5EXpzcRgVmG+SMHd
|
||||||
kBooyrkGK5uVL9DkRenNxGBWYb5Iwd2FQ0s3uCKUXHn3f0S/7fpM0T9/rqv1qIX5
|
hUNLN7gilFx5939Ev+36TNE/f66r9aiF+WbiI1V1JGs0LYVyFzwmFMCgQUsnyqyA
|
||||||
ZuIjVXUkazQthXIXPCYUwKBBSyfKrIBE1EScvKx0sT3w8NI7YRLG70E7uRO+U/Sr
|
RNREnLysdLE98PDSO2ESxu9BO7kTvlP0q5p+MKQiYj/s5wSqXw8EDCSBH9u0/FQi
|
||||||
mn4wpCJiP+znBKpfDwQMJIEf27T8VCKDJXRr4nvRZlk2l2LnCr6pVnXosQ1B3G0r
|
gyV0a+J70WZZNpdi5wq+qVZ16LENQdxtKwARAQABiQIlBBgBAgAPBQJOkrQOAhsM
|
||||||
ABEBAAGJAjwEGAEIACYCGwwWIQSwxk0UMBzG767fYOTktx1e7DnChAUCZGSnpQUJ
|
BQkJZgGAAAoJEOS3HV7sOcKEtCYP/3ji7Kt4+M0N6IOkh7wHfWk3HLqBa1XOD1Oz
|
||||||
KJ32lwAKCRDktx1e7DnChJ0gD/wOsq5mWpoSvBmhI/Xa4WOl2D9ltYYJxrQpdTd+
|
X+rp79L1cDK8J1XUHoW/84bsS8Y3NsXlIej1wLOcaH0HOpEsPzqoqP1JxGilRkAu
|
||||||
IhUuQUCZle/z6dSO2jsrpcvnwn3OHBQguvX8vzBr2qFeQDjrAbZ4V76teY2Zg+5o
|
Yazt3WhqdM2FcOQNEnuk66F8HnN/mD4vLzxdxuPlRtlCruUcDZlZlyzpywk6B7Gi
|
||||||
HFy21TlCFrNeFLrk4m8PyCrfQVoQ55ESLPUBp0qK5VLzKjFAHD7+Z90bEie6IGUc
|
cVfh1CvUJsDA++aOlgYIHB4Z6nSJWYp64z+5QAVToBHzI7ywVyWTJbjO1RCR5QsV
|
||||||
rJyUokTNc7hSWsQk96rAENE6cxCgsEGZhtsS41iBZ4lkhkaVfpPj/yxiiOFw101N
|
fPD07p1deSW96QhqLSb2wQfk93I4YGshaVPwG01ZamxPEbspKqrEIG+5S6E4q/B+
|
||||||
G1PXq+EAJ6iaIvBbNiy+AI9EFVAkX6uMM8INely0HAn/H3/hc/xADiUFolPiIEwK
|
VF0zj5GU7jt/6M4qFzKbaY+vxsaqjgCOCPL5bCz5RFTHdtEmC/cmsvVbYuBD/5UY
|
||||||
E04L/8KHVH5vn007kUeMD4DecvL+8XYyT18+jH/Hvpai610uWwfBP50HoKa9A8JD
|
D3JbyXt7KSG/a5Oel4ynK1pRQbnS6eNcGQqZPUop4PBouRKnUqv8uzljaiL9Wm3G
|
||||||
ppBZaqBGzeNvCMUWU6rxyLoNOeJduUwFTh3mUesBoF7Iqdpe1CphuUlOKWUYY6Jq
|
Hv9tn1L6ly86VcLt1ALTVuqwm5ci1fDVbddSliPv5atWNJ+So2MfEg3qbCzEC8Is
|
||||||
ZEZ7oQN630z0QsLzr6YZinnnfMbO9xNktfJPBMju6UPmOHfYI/zJFRe5VTqvG8w3
|
JNsVd4N6fSctYfFvBxsPjy7fw1iEqKq7SzTlHMO5hiKpS+8HSRVv6djHlj3aWtgy
|
||||||
SxJVriqs75jFpGqSC/a7IcW3j2FeVQ66sAcik4XRA9JO7SpsTJtebAw0tQ8nIkIj
|
u+BTXT/tRQ6c3TlZadqoyumX1U+Tflb6qMyJaZPsqv3bsOpXwjLAVfT4nPRXqbN6
|
||||||
ekmNJnNAlIKOnisKca9QRzuUn5HNPl8UDeN9KjxsFkmDMEkRSuijpLEFe+66bkjP
|
WWUhdompzuZufyCCL9Tc6lPDgVmuWyycHk4gbdfERodk4SEYJ0cEwFbl+GjL9XFZ
|
||||||
NdEeAGQJbiXWb1z9vHHQpDPKMXhK18D5PBnLDIl8iFnpDE+M088Xnavf9eYapj2k
|
VeljfCzq
|
||||||
Zh9rvA==
|
=8wc5
|
||||||
=cevX
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package util-linux
|
# spec file for package util-linux
|
||||||
#
|
#
|
||||||
# Copyright (c) 2025 SUSE LLC
|
# Copyright (c) 2024 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -85,12 +85,13 @@ Group: Development/Languages/Python
|
|||||||
%endif
|
%endif
|
||||||
# ulbuild == python
|
# ulbuild == python
|
||||||
|
|
||||||
Version: 2.40.4
|
Version: 2.40.1
|
||||||
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.40/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
|
||||||
|
Source3: util-linux-rpmlintrc
|
||||||
Source7: baselibs.conf
|
Source7: baselibs.conf
|
||||||
Source8: login.pamd
|
Source8: login.pamd
|
||||||
Source9: remote.pamd
|
Source9: remote.pamd
|
||||||
@ -110,6 +111,10 @@ 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
|
||||||
|
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: audit-devel
|
||||||
BuildRequires: bc
|
BuildRequires: bc
|
||||||
BuildRequires: binutils-devel
|
BuildRequires: binutils-devel
|
||||||
@ -275,10 +280,7 @@ Library for filesystem detection.
|
|||||||
Summary: Development files for the filesystem detection library
|
Summary: Development files for the filesystem detection library
|
||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
Requires: glibc-devel
|
|
||||||
Requires: libblkid-devel
|
|
||||||
Requires: libfdisk1 = %{version}
|
Requires: libfdisk1 = %{version}
|
||||||
Requires: libuuid-devel
|
|
||||||
|
|
||||||
%description -n libfdisk-devel
|
%description -n libfdisk-devel
|
||||||
Files needed to develop applications using the library for filesystem
|
Files needed to develop applications using the library for filesystem
|
||||||
@ -288,10 +290,7 @@ detection.
|
|||||||
Summary: Development files for the filesystem detection library
|
Summary: Development files for the filesystem detection library
|
||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
Requires: libblkid-devel-static
|
|
||||||
Requires: libeconf-devel
|
|
||||||
Requires: libfdisk-devel = %{version}
|
Requires: libfdisk-devel = %{version}
|
||||||
Requires: libuuid-devel-static
|
|
||||||
|
|
||||||
%description -n libfdisk-devel-static
|
%description -n libfdisk-devel-static
|
||||||
Files needed to develop applications using the library for filesystem
|
Files needed to develop applications using the library for filesystem
|
||||||
@ -310,10 +309,7 @@ mount(8) and /usr/sbin/mount.<type> helpers.
|
|||||||
Summary: Development files for libmount
|
Summary: Development files for libmount
|
||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
Requires: libblkid-devel
|
|
||||||
Requires: libeconf-devel
|
|
||||||
Requires: libmount1 = %{version}
|
Requires: libmount1 = %{version}
|
||||||
Requires: libselinux-devel
|
|
||||||
|
|
||||||
%description -n libmount-devel
|
%description -n libmount-devel
|
||||||
Files to develop applications using the libmount library.
|
Files to develop applications using the libmount library.
|
||||||
@ -322,7 +318,6 @@ Files to develop applications using the libmount library.
|
|||||||
Summary: Development files for libmount
|
Summary: Development files for libmount
|
||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
Requires: libblkid-devel-static
|
|
||||||
Requires: libmount-devel = %{version}
|
Requires: libmount-devel = %{version}
|
||||||
|
|
||||||
%description -n libmount-devel-static
|
%description -n libmount-devel-static
|
||||||
@ -369,7 +364,6 @@ A library to generate universally unique IDs (UUIDs).
|
|||||||
Summary: Development files for libuuid
|
Summary: Development files for libuuid
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
Requires: glibc-devel
|
|
||||||
Requires: libuuid1 = %{version}
|
Requires: libuuid1 = %{version}
|
||||||
|
|
||||||
%description -n libuuid-devel
|
%description -n libuuid-devel
|
||||||
@ -473,9 +467,9 @@ cp -a %{S:2} .
|
|||||||
%autopatch -p1
|
%autopatch -p1
|
||||||
# This test randomly fails or keeps hanging task inside build chroot (tested on 2.38).
|
# This test randomly fails or keeps hanging task inside build chroot (tested on 2.38).
|
||||||
rm tests/ts/lsns/ioctl_ns
|
rm tests/ts/lsns/ioctl_ns
|
||||||
|
AUTOPOINT=true GTKDOCIZE=true autoreconf -vfi
|
||||||
|
|
||||||
%build
|
%build
|
||||||
AUTOPOINT=true GTKDOCIZE=true autoreconf -vfi
|
|
||||||
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
||||||
export SUID_CFLAGS="-fpie"
|
export SUID_CFLAGS="-fpie"
|
||||||
export SUID_LDFLAGS="-pie"
|
export SUID_LDFLAGS="-pie"
|
||||||
@ -614,9 +608,7 @@ fi
|
|||||||
%if "%ulbuild" == "base"
|
%if "%ulbuild" == "base"
|
||||||
%make_install
|
%make_install
|
||||||
mkdir -p %{buildroot}{%{_distconfdir}/default,%{_pam_vendordir},%{_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
|
||||||
@ -979,6 +971,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
|
||||||
@ -1367,10 +1360,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
|
||||||
@ -1395,11 +1386,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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user