Compare commits
36 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a0317f94b5 | ||
|
|
9213a0ec8f | ||
|
|
d3c879ee06 | ||
|
|
e20697608b | ||
|
|
62e94b8fcb | ||
|
|
49c5ecdbfb | ||
|
|
ad160404f2 | ||
|
|
f891325268 | ||
|
|
da7125e4bb | ||
|
|
196be3f2a1 | ||
|
|
47417a6e2e | ||
|
|
4737f2d702 | ||
|
|
06dbf9bb28 | ||
|
|
4bac19fd38 | ||
|
|
df438c4170 | ||
|
|
ab6d50b588 | ||
|
|
9c226720cb | ||
|
|
7ef16d92f7 | ||
|
|
ba1905c6c7 | ||
|
|
9e2caeba0d | ||
|
|
5679a7db71 | ||
|
|
b9ed3a9a74 | ||
|
|
39c148ff89 | ||
|
|
04d2b6b0ad | ||
|
|
eeebe2875e | ||
|
|
164a6760ec | ||
|
|
0382798ff4 |
||
|
|
7d135acec2 | ||
|
|
b309d832e2 | ||
|
|
404f522557 | ||
|
|
bf8d5779df | ||
|
|
8e9f6cee44 | ||
|
|
0e7e2e7599 | ||
|
|
ca46de6072 | ||
|
|
67c133a8d4 | ||
|
|
e873a14a1d |
17 changed files with 123 additions and 369 deletions
1
.fmf/version
Normal file
1
.fmf/version
Normal file
|
|
@ -0,0 +1 @@
|
|||
1
|
||||
7
.gitignore
vendored
7
.gitignore
vendored
|
|
@ -99,3 +99,10 @@
|
|||
/util-linux-2.40.1.tar.xz
|
||||
/util-linux-2.40.2.tar.xz
|
||||
/util-linux-2.40.4.tar.xz
|
||||
/util-linux-2.41.tar.xz
|
||||
/util-linux-2.41.1.tar.xz
|
||||
/util-linux-2.41.2.tar.xz
|
||||
/util-linux-2.41.3.tar.xz
|
||||
/util-linux-2.42.tar.xz
|
||||
/util-linux-2.42.1.tar.xz
|
||||
/util-linux-2.42.2.tar.xz
|
||||
|
|
|
|||
|
|
@ -1,20 +1,19 @@
|
|||
From 1a2ec6f6dbb1c74694403ff5bcfcbd36830ff2a4 Mon Sep 17 00:00:00 2001
|
||||
From a2357184ff3dc3beb001fcb12e1e4c0dcf8d0dbd Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Tue, 2 Dec 2025 16:15:44 +0100
|
||||
Subject: login: use O_CREAT on lastlog
|
||||
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=151635
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
(cherry picked from commit 85902de01452198bc15199f5e5c147df31b38212)
|
||||
---
|
||||
login-utils/login.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/login-utils/login.c b/login-utils/login.c
|
||||
index c8544f6a1..3de0398e9 100644
|
||||
index 321f9d6ce..edc69fd9a 100644
|
||||
--- a/login-utils/login.c
|
||||
+++ b/login-utils/login.c
|
||||
@@ -681,7 +681,7 @@ static void log_lastlog(struct login_context *cxt)
|
||||
@@ -682,7 +682,7 @@ static void log_lastlog(struct login_context *cxt)
|
||||
sa.sa_handler = SIG_IGN;
|
||||
sigaction(SIGXFSZ, &sa, &oldsa_xfsz);
|
||||
|
||||
|
|
@ -24,5 +23,5 @@ index c8544f6a1..3de0398e9 100644
|
|||
goto done;
|
||||
offset = cxt->pwd->pw_uid * sizeof(ll);
|
||||
--
|
||||
2.52.0
|
||||
2.51.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,16 @@
|
|||
From 84ee1e47e64fcabb83c39611d92a0496d086e0bb Mon Sep 17 00:00:00 2001
|
||||
From 617a887a6ec7e433f6a9f4c60592ed38b12b9f18 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Tue, 2 Dec 2025 16:17:55 +0100
|
||||
Subject: login: add /run/motd.d` to the hardcoded MOTD_FILE
|
||||
|
||||
Addresses: https://github.com/coreos/console-login-helper-messages/issues/60
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
(cherry picked from commit c8e1485a02c031926eb4ae0fc1e2ce380584be98)
|
||||
---
|
||||
include/pathnames.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/pathnames.h b/include/pathnames.h
|
||||
index de456c53e..ac28a9a50 100644
|
||||
index 34ba11ca3..c91a077e1 100644
|
||||
--- a/include/pathnames.h
|
||||
+++ b/include/pathnames.h
|
||||
@@ -41,7 +41,7 @@
|
||||
|
|
@ -24,5 +23,5 @@ index de456c53e..ac28a9a50 100644
|
|||
# define _PATH_NOLOGIN "/etc/nologin"
|
||||
#endif
|
||||
--
|
||||
2.52.0
|
||||
2.51.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,33 +0,0 @@
|
|||
From fa9260ab4d778c4c9958fd5a10644abf41ae6583 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Sandeen <sandeen@redhat.com>
|
||||
Date: Fri, 24 Jan 2025 08:37:12 -0600
|
||||
Subject: blkid: allow up to 64k erofs block sizes
|
||||
|
||||
Today, mkfs.erofs defaults to page size for block size, but blkid
|
||||
does not recognize this. Increase the limit to 64k.
|
||||
|
||||
Reviewed-by: Gao Xiang <xiang@kernel.org>
|
||||
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
libblkid/src/superblocks/erofs.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libblkid/src/superblocks/erofs.c b/libblkid/src/superblocks/erofs.c
|
||||
index 05822460b..57fd80220 100644
|
||||
--- a/libblkid/src/superblocks/erofs.c
|
||||
+++ b/libblkid/src/superblocks/erofs.c
|
||||
@@ -73,8 +73,8 @@ static int probe_erofs(blkid_probe pr, const struct blkid_idmag *mag)
|
||||
if (!sb)
|
||||
return errno ? -errno : BLKID_PROBE_NONE;
|
||||
|
||||
- /* EROFS is restricted to 4KiB block size */
|
||||
- if (sb->blkszbits > 31 || (1U << sb->blkszbits) > 4096)
|
||||
+ /* block size must be between 512 and 64k */
|
||||
+ if (sb->blkszbits < 9 || sb->blkszbits > 16)
|
||||
return BLKID_PROBE_NONE;
|
||||
|
||||
if (!erofs_verify_checksum(pr, mag, sb))
|
||||
--
|
||||
2.52.0
|
||||
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
From 83a413885e608296db220c009b2b1d015bb61e9c Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Mon, 6 Oct 2025 15:04:24 +0200
|
||||
Subject: libblkid: use snprintf() instead of sprintf()
|
||||
|
||||
Replace sprintf() calls with snprintf() to ensure proper bounds
|
||||
checking when formatting strings.
|
||||
|
||||
In encode.c, the check now validates snprintf() return value instead
|
||||
of pre-checking buffer size, providing more robust error handling.
|
||||
|
||||
In probe.c, snprintf() is used with proper size calculation based on
|
||||
remaining buffer space.
|
||||
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
(cherry picked from commit 041380f4ca7244df624bf7efdb5e27fdd3144175)
|
||||
(cherry picked from commit 917917253e60b0ba485cf6a27a2f993aa43e1eea)
|
||||
---
|
||||
libblkid/src/encode.c | 6 ++++--
|
||||
libblkid/src/probe.c | 4 ++--
|
||||
2 files changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/libblkid/src/encode.c b/libblkid/src/encode.c
|
||||
index 8213873ee..4b83f6690 100644
|
||||
--- a/libblkid/src/encode.c
|
||||
+++ b/libblkid/src/encode.c
|
||||
@@ -191,9 +191,11 @@ int blkid_encode_string(const char *str, char *str_enc, size_t len)
|
||||
j += seqlen;
|
||||
i += (seqlen-1);
|
||||
} else if (str[i] == '\\' || !is_whitelisted(str[i], NULL)) {
|
||||
- if (len-j < 4)
|
||||
+ int rc;
|
||||
+
|
||||
+ rc = snprintf(&str_enc[j], len-j, "\\x%02x", (unsigned char) str[i]);
|
||||
+ if (rc != 4)
|
||||
goto err;
|
||||
- sprintf(&str_enc[j], "\\x%02x", (unsigned char) str[i]);
|
||||
j += 4;
|
||||
} else {
|
||||
if (len-j < 1)
|
||||
diff --git a/libblkid/src/probe.c b/libblkid/src/probe.c
|
||||
index 7c561cf44..1f1031fda 100644
|
||||
--- a/libblkid/src/probe.c
|
||||
+++ b/libblkid/src/probe.c
|
||||
@@ -1978,8 +1978,8 @@ static void blkid_probe_log_csum_mismatch(blkid_probe pr, size_t n, const void *
|
||||
int hex_size = min(sizeof(csum_hex), n * 2);
|
||||
|
||||
for (int i = 0; i < hex_size; i+=2) {
|
||||
- sprintf(&csum_hex[i], "%02X", ((const unsigned char *) csum)[i / 2]);
|
||||
- sprintf(&expected_hex[i], "%02X", ((const unsigned char *) expected)[i / 2]);
|
||||
+ snprintf(&csum_hex[i], sizeof(csum_hex) - i, "%02X", ((const unsigned char *) csum)[i / 2]);
|
||||
+ snprintf(&expected_hex[i], sizeof(expected_hex) - i, "%02X", ((const unsigned char *) expected)[i / 2]);
|
||||
}
|
||||
|
||||
ul_debug(
|
||||
--
|
||||
2.52.0
|
||||
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
From 4d3bc36c528e8833e47cbd5b12063056ef9c0122 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Mon, 8 Dec 2025 13:36:41 +0100
|
||||
Subject: login-utils: fix setpwnam() buffer use [CVE-2025-14104]
|
||||
|
||||
This issue has been originally fixed in the master branch, but
|
||||
unfortunately was not backported to stable/v2.41 yet.
|
||||
|
||||
References: aaa9e718c88d6916b003da7ebcfe38a3c88df8e6
|
||||
References: 9a36d77012c4c771f8d51eba46b6e62c29bf572a
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
(cherry picked from commit 9753e6ad9705104c3b05713f79ad6732cc4c7b30)
|
||||
---
|
||||
login-utils/setpwnam.c | 13 ++++++++-----
|
||||
1 file changed, 8 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/login-utils/setpwnam.c b/login-utils/setpwnam.c
|
||||
index 3e3c1abde..7778e98f7 100644
|
||||
--- a/login-utils/setpwnam.c
|
||||
+++ b/login-utils/setpwnam.c
|
||||
@@ -99,7 +99,8 @@ int setpwnam(struct passwd *pwd, const char *prefix)
|
||||
goto fail;
|
||||
|
||||
namelen = strlen(pwd->pw_name);
|
||||
-
|
||||
+ if (namelen > buflen)
|
||||
+ buflen += namelen;
|
||||
linebuf = malloc(buflen);
|
||||
if (!linebuf)
|
||||
goto fail;
|
||||
@@ -126,10 +127,12 @@ int setpwnam(struct passwd *pwd, const char *prefix)
|
||||
}
|
||||
|
||||
/* Is this the username we were sent to change? */
|
||||
- if (!found && linebuf[namelen] == ':' &&
|
||||
- !strncmp(linebuf, pwd->pw_name, namelen)) {
|
||||
- /* Yes! So go forth in the name of the Lord and
|
||||
- * change it! */
|
||||
+ if (!found &&
|
||||
+ strncmp(linebuf, pwd->pw_name, namelen) == 0 &&
|
||||
+ strlen(linebuf) > namelen &&
|
||||
+ linebuf[namelen] == ':') {
|
||||
+ /* Yes! But this time let’s not walk past the end of the buffer
|
||||
+ * in the name of the Lord, SUID, or anything else. */
|
||||
if (putpwent(pwd, fp) < 0)
|
||||
goto fail;
|
||||
found = 1;
|
||||
--
|
||||
2.52.0
|
||||
|
||||
|
|
@ -1,137 +0,0 @@
|
|||
From 0a856e72df9b6c37497e4e394841d893754b0fa8 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Mon, 3 Jun 2024 14:32:18 +0200
|
||||
Subject: wall: always use utmp as fallback
|
||||
|
||||
Wall(1) can be compiled with systemd support to read the names of ttys
|
||||
from the systemd session list. However, this may not work on all systems.
|
||||
In case of failure, the best option is to use the traditional
|
||||
utmp method as a fallback.
|
||||
|
||||
This commit uses strv (string vector) to collect tty names from both
|
||||
sources (systemd and utmp) and then sends a message to all ttys.
|
||||
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2283049
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
(cherry picked from commit 0af497c6688b53a3a176176bfbcdca821bd856ec)
|
||||
---
|
||||
term-utils/wall.c | 57 ++++++++++++++++++++++++++++++++---------------
|
||||
1 file changed, 39 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/term-utils/wall.c b/term-utils/wall.c
|
||||
index 125fde438..22c3918bb 100644
|
||||
--- a/term-utils/wall.c
|
||||
+++ b/term-utils/wall.c
|
||||
@@ -78,6 +78,7 @@
|
||||
#include "closestream.h"
|
||||
#include "timeutils.h"
|
||||
#include "pwdutils.h"
|
||||
+#include "strv.h"
|
||||
|
||||
#define TERM_WIDTH 79
|
||||
#define WRITE_TIME_OUT 300 /* in seconds */
|
||||
@@ -190,19 +191,30 @@ static int is_gr_member(const char *login, const struct group_workspace *buf)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static int has_tty(char **ttys, char *name)
|
||||
+{
|
||||
+ char **str;
|
||||
+
|
||||
+ STRV_FOREACH(str, ttys) {
|
||||
+ if (strcmp(*str, name) == 0)
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int ch;
|
||||
struct iovec iov;
|
||||
struct utmpx *utmpptr;
|
||||
- char *p;
|
||||
char line[sizeof(utmpptr->ut_line) + 1];
|
||||
int print_banner = TRUE;
|
||||
struct group_workspace *group_buf = NULL;
|
||||
char *mbuf, *fname = NULL;
|
||||
size_t mbufsize;
|
||||
unsigned timeout = WRITE_TIME_OUT;
|
||||
- char **mvec = NULL;
|
||||
+ char **mvec = NULL, **ttys = NULL, **str;
|
||||
int mvecsz = 0;
|
||||
|
||||
static const struct option longopts[] = {
|
||||
@@ -265,30 +277,30 @@ int main(int argc, char **argv)
|
||||
int sessions;
|
||||
|
||||
sessions = sd_get_sessions(&sessions_list);
|
||||
- if (sessions < 0)
|
||||
- errx(EXIT_FAILURE, _("error getting sessions: %s"),
|
||||
- strerror(-sessions));
|
||||
+ if (sessions < 0) {
|
||||
+ warnx(_("error getting sessions: %s"), strerror(-sessions));
|
||||
+ goto utmp;
|
||||
+ }
|
||||
|
||||
for (int i = 0; i < sessions; i++) {
|
||||
char *name, *tty;
|
||||
int r;
|
||||
|
||||
- if ((r = sd_session_get_username(sessions_list[i], &name)) < 0)
|
||||
- errx(EXIT_FAILURE, _("get user name failed: %s"), strerror (-r));
|
||||
-
|
||||
- if (!(group_buf && !is_gr_member(name, group_buf))) {
|
||||
- if (sd_session_get_tty(sessions_list[i], &tty) >= 0) {
|
||||
- if ((p = ttymsg(&iov, 1, tty, timeout)) != NULL)
|
||||
- warnx("%s", p);
|
||||
-
|
||||
- free(tty);
|
||||
- }
|
||||
+ if ((r = sd_session_get_username(sessions_list[i], &name)) < 0) {
|
||||
+ warnx(_("get user name failed: %s"), strerror (-r));
|
||||
+ goto utmp;
|
||||
}
|
||||
+ if (!(group_buf && !is_gr_member(name, group_buf))
|
||||
+ && sd_session_get_tty(sessions_list[i], &tty) >= 0
|
||||
+ && strv_consume(&ttys, tty) < 0)
|
||||
+ err(EXIT_FAILURE, _("failed to allocate lines list"));
|
||||
+
|
||||
free(name);
|
||||
free(sessions_list[i]);
|
||||
}
|
||||
free(sessions_list);
|
||||
- } else
|
||||
+ }
|
||||
+utmp:
|
||||
#endif
|
||||
{
|
||||
while ((utmpptr = getutxent())) {
|
||||
@@ -310,12 +322,21 @@ int main(int argc, char **argv)
|
||||
continue;
|
||||
|
||||
mem2strcpy(line, utmpptr->ut_line, sizeof(utmpptr->ut_line), sizeof(line));
|
||||
- if ((p = ttymsg(&iov, 1, line, timeout)) != NULL)
|
||||
- warnx("%s", p);
|
||||
+ if (has_tty(ttys, line))
|
||||
+ continue;
|
||||
+ if (strv_extend(&ttys, line) < 0)
|
||||
+ err(EXIT_FAILURE, _("failed to allocate lines list"));
|
||||
}
|
||||
endutxent();
|
||||
}
|
||||
|
||||
+ STRV_FOREACH(str, ttys) {
|
||||
+ char *er = ttymsg(&iov, 1, *str, timeout);
|
||||
+ if (er)
|
||||
+ warnx("%s", er);
|
||||
+ }
|
||||
+
|
||||
+ strv_free(ttys);
|
||||
free(mbuf);
|
||||
free_group_workspace(group_buf);
|
||||
exit(EXIT_SUCCESS);
|
||||
--
|
||||
2.52.0
|
||||
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
From 5bb099a5d86a26dcac5d32b1c75e6d9f84b298bf Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Mon, 24 Feb 2025 13:37:04 +0100
|
||||
Subject: agetty: fix stdin conversion to tty name
|
||||
|
||||
Addresses: https://github.com/util-linux/util-linux/issues/3304
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
(cherry picked from commit bd6c104f931329ce6fbc5a1250c8c80a1d8223ee)
|
||||
(cherry picked from commit c69353a5e03779b4840f260ba52a7d2bb7b8943c)
|
||||
---
|
||||
term-utils/agetty.c | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/term-utils/agetty.c b/term-utils/agetty.c
|
||||
index a3823137d..34a39a51b 100644
|
||||
--- a/term-utils/agetty.c
|
||||
+++ b/term-utils/agetty.c
|
||||
@@ -928,11 +928,15 @@ static void parse_args(int argc, char **argv, struct options *op)
|
||||
|
||||
/* resolve the tty path in case it was provided as stdin */
|
||||
if (strcmp(op->tty, "-") == 0) {
|
||||
+ int fd;
|
||||
+ const char *name = op->tty;
|
||||
+
|
||||
op->tty_is_stdin = 1;
|
||||
- int fd = get_terminal_name(NULL, &op->tty, NULL);
|
||||
- if (fd < 0) {
|
||||
+ fd = get_terminal_name(NULL, &name, NULL);
|
||||
+ if (fd >= 0)
|
||||
+ op->tty = name; /* set real device name */
|
||||
+ else
|
||||
log_warn(_("could not get terminal name: %d"), fd);
|
||||
- }
|
||||
}
|
||||
|
||||
/* On virtual console remember the line which is used for */
|
||||
--
|
||||
2.52.0
|
||||
|
||||
5
plans/ci.fmf
Normal file
5
plans/ci.fmf
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
summary: Basic smoke test
|
||||
discover:
|
||||
how: fmf
|
||||
execute:
|
||||
how: tmt
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (util-linux-2.40.4.tar.xz) = 0024955056ba7b4c54040a917f9919f49692e57ba6d42d17a6c29c1eefe88bf48b1214a545072b71c468829a63a8f15237f49733e9127c134e11126d1e435124
|
||||
SHA512 (util-linux-2.42.2.tar.xz) = 7415add0be2930654e322830808dde03ff6d511bd357f0679e6b6287a13ca79fe58ce4ac05edef86b76fb381b3a36ca2da9d3c31b5dc0a1d889c203156a57277
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
# Test which run in classic and docker environemnt
|
||||
- hosts: localhost
|
||||
tags:
|
||||
- classic
|
||||
- container
|
||||
- atomic
|
||||
roles:
|
||||
- role: standard-test-beakerlib
|
||||
tests:
|
||||
- various
|
||||
required_packages:
|
||||
- util-linux
|
||||
- util-linux-user
|
||||
13
tests/various/main.fmf
Normal file
13
tests/various/main.fmf
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
summary: This test groups small sanity and regression tests for util-linux
|
||||
description: ''
|
||||
contact: Miroslav Vadkerti <mvadkert@redhat.com>
|
||||
component:
|
||||
- util-linux
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- util-linux
|
||||
- util-linux-user
|
||||
duration: 10m
|
||||
extra-summary: /CoreOS/util-linux/Sanity/various
|
||||
extra-task: /CoreOS/util-linux/Sanity/various
|
||||
|
|
@ -27,7 +27,6 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
#. /usr/bin/rhts-environment.sh || exit 1
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="util-linux"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#%PAM-1.0
|
||||
auth required pam_env.so
|
||||
auth sufficient pam_rootok.so
|
||||
# Uncomment the following line to implicitly trust users in the "wheel" group.
|
||||
#auth sufficient pam_wheel.so trust use_uid
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
u uuidd - "UUID generator helper daemon" /var/lib/libuuid
|
||||
115
util-linux.spec
115
util-linux.spec
|
|
@ -1,7 +1,7 @@
|
|||
### Header
|
||||
Summary: Collection of basic system utilities
|
||||
Name: util-linux
|
||||
Version: 2.40.4
|
||||
Version: 2.42.2
|
||||
# -p -e rc1
|
||||
Release: %autorelease
|
||||
License: GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain
|
||||
|
|
@ -35,6 +35,7 @@ BuildRequires: %{pypkg}-devel
|
|||
BuildRequires: gcc
|
||||
BuildRequires: rubygem-asciidoctor
|
||||
BuildRequires: po4a
|
||||
BuildRequires: sqlite-devel
|
||||
%ifarch ppc64le
|
||||
BuildRequires: librtas-devel
|
||||
%endif
|
||||
|
|
@ -43,7 +44,8 @@ BuildRequires: librtas-devel
|
|||
#BuildRequires: autoconf
|
||||
#BuildRequires: automake
|
||||
#BuildRequires: libtool
|
||||
#BuildRequires: bison
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
|
||||
### Sources
|
||||
Source0: https://www.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/util-linux-%{upstream_version}.tar.xz
|
||||
|
|
@ -56,9 +58,6 @@ Source13: util-linux-su-l.pamd
|
|||
Source14: util-linux-runuser.pamd
|
||||
Source15: util-linux-runuser-l.pamd
|
||||
|
||||
# temporary, will be in upstream >= v2.41
|
||||
Source16: util-linux-uuidd-sysusers.conf
|
||||
|
||||
### Obsoletes & Conflicts & Provides
|
||||
Conflicts: initscripts < 9.79-4
|
||||
Conflicts: bash-completion < 1:2.1-1
|
||||
|
|
@ -93,6 +92,7 @@ Requires: libblkid = %{version}-%{release}
|
|||
Requires: libmount = %{version}-%{release}
|
||||
Requires: libsmartcols = %{version}-%{release}
|
||||
Requires: libfdisk = %{version}-%{release}
|
||||
Requires: liblastlog2 = %{version}-%{release}
|
||||
Requires: util-linux-core = %{version}-%{release}
|
||||
|
||||
%if "%{_sbindir}" == "%{_bindir}"
|
||||
|
|
@ -103,20 +103,9 @@ Provides: /usr/sbin/runuser
|
|||
Provides: /usr/sbin/sfdisk
|
||||
%endif
|
||||
|
||||
|
||||
# 151635 - login: use O_CREAT on lastlog
|
||||
### Fedora specific patches
|
||||
Patch0: 0000-login-use-O_CREAT-on-lastlog.patch
|
||||
# login: add /run/motd.d` to the hardcoded MOTD_FILE
|
||||
Patch1: 0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch
|
||||
# blkid: allow up to 64k erofs block sizes
|
||||
Patch2: 0002-blkid-allow-up-to-64k-erofs-block-sizes.patch
|
||||
# libblkid: use snprintf() instead of sprintf()
|
||||
Patch3: 0003-libblkid-use-snprintf-instead-of-sprintf.patch
|
||||
# login-utils: fix setpwnam() buffer use [CVE-2025-14104]
|
||||
Patch4: 0004-login-utils-fix-setpwnam-buffer-use-CVE-2025-14104.patch
|
||||
# wall: always use utmp as fallback
|
||||
Patch5: 0005-wall-always-use-utmp-as-fallback.patch
|
||||
|
||||
|
||||
%description
|
||||
The util-linux package contains a large variety of low-level system
|
||||
|
|
@ -219,6 +208,25 @@ This is the device mounting development library and headers,
|
|||
part of util-linux.
|
||||
|
||||
|
||||
%package -n liblastlog2
|
||||
Summary: lastlog database library and PAM module
|
||||
License: BSD-2-Clause
|
||||
|
||||
%description -n liblastlog2
|
||||
This is the lastlog database library and PAM module, part of util-linux.
|
||||
|
||||
|
||||
%package -n liblastlog2-devel
|
||||
Summary: lastlog database library
|
||||
License: BSD-2-Clause
|
||||
Requires: liblastlog2%{?_isa} = %{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
|
||||
%description -n liblastlog2-devel
|
||||
This is the lastlog database development library and headers,
|
||||
part of util-linux.
|
||||
|
||||
|
||||
%package -n libblkid
|
||||
Summary: Block device ID library
|
||||
License: LGPL-2.1-or-later
|
||||
|
|
@ -339,7 +347,6 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS"
|
|||
--disable-silent-rules \
|
||||
--disable-bfs \
|
||||
--disable-pg \
|
||||
--disable-liblastlog2 \
|
||||
--enable-chfn-chsh \
|
||||
--enable-usrdir-path \
|
||||
--enable-write \
|
||||
|
|
@ -378,11 +385,10 @@ mkdir -p %{buildroot}%{_sysconfdir}/{pam.d,security/console.apps}
|
|||
# install util-linux
|
||||
%make_install
|
||||
|
||||
# And a dirs uuidd needs that the makefiles don't create
|
||||
install -d %{buildroot}/run/uuidd
|
||||
install -d %{buildroot}/var/lib/libuuid
|
||||
|
||||
install -m 644 -D %{SOURCE16} %{buildroot}%{_sysusersdir}/uuidd.conf
|
||||
# And a dirs that the makefiles don't create
|
||||
install -d %{buildroot}%{_rundir}/uuidd
|
||||
install -d %{buildroot}%{_sharedstatedir}/libuuid
|
||||
install -d %{buildroot}%{_sharedstatedir}/lastlog
|
||||
|
||||
# /etc/adjtime
|
||||
install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/adjtime
|
||||
|
|
@ -444,7 +450,7 @@ rm -f %{buildroot}/sbin/sfdisk \
|
|||
ln -sf ../proc/self/mounts %{buildroot}/etc/mtab
|
||||
|
||||
# remove static libs
|
||||
rm -f %{buildroot}%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk}.a
|
||||
rm -f %{buildroot}%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk,lastlog2}.a
|
||||
|
||||
# temporary remove to avoid conflicts with bash-completion pkg
|
||||
rm -f %{buildroot}%{compldir}/{mount,umount}
|
||||
|
|
@ -474,16 +480,26 @@ find %{buildroot}%{_mandir}/man8 -regextype posix-egrep \
|
|||
mv -v %{buildroot}/usr/sbin/* %{buildroot}/usr/bin/
|
||||
%endif
|
||||
|
||||
|
||||
%post
|
||||
%systemd_post fstrim.{service,timer}
|
||||
|
||||
%post -n liblastlog2
|
||||
%systemd_post lastlog2-import.service
|
||||
|
||||
|
||||
%preun
|
||||
%systemd_preun fstrim.{service,timer}
|
||||
|
||||
|
||||
%postun
|
||||
%systemd_postun_with_restart fstrim.timer
|
||||
%systemd_postun fstrim.service
|
||||
|
||||
%postun -n liblastlog2
|
||||
%systemd_postun lastlog2-import.service
|
||||
|
||||
|
||||
# Please, keep uuidd running after installation! Note that systemd_post is
|
||||
# "systemctl preset" and it enable/disable service only.
|
||||
%post -n uuidd
|
||||
|
|
@ -529,6 +545,7 @@ fi
|
|||
|
||||
%{_unitdir}/fstrim.*
|
||||
|
||||
%{_bindir}/bits
|
||||
%{_bindir}/cal
|
||||
%{_bindir}/chmem
|
||||
%{_bindir}/choom
|
||||
|
|
@ -536,18 +553,22 @@ fi
|
|||
%{_bindir}/colcrt
|
||||
%{_bindir}/colrm
|
||||
%{_bindir}/column
|
||||
%{_bindir}/copyfilerange
|
||||
%{_bindir}/coresched
|
||||
%{_bindir}/eject
|
||||
%{_bindir}/enosys
|
||||
%{_bindir}/exch
|
||||
%{_bindir}/fallocate
|
||||
%{_bindir}/fincore
|
||||
%{_bindir}/fadvise
|
||||
%{_bindir}/getino
|
||||
%{_bindir}/getopt
|
||||
%{_bindir}/hexdump
|
||||
%{_bindir}/irqtop
|
||||
%{_bindir}/isosize
|
||||
%{_bindir}/last
|
||||
%{_bindir}/lastb
|
||||
%{_bindir}/lastlog2
|
||||
%{_bindir}/look
|
||||
%{_bindir}/lsblk
|
||||
%{_bindir}/lscpu
|
||||
|
|
@ -580,6 +601,8 @@ fi
|
|||
%{_bindir}/wdctl
|
||||
%{_bindir}/whereis
|
||||
%{_bindir}/write
|
||||
|
||||
%{_mandir}/man1/bits.1*
|
||||
%{_mandir}/man1/cal.1*
|
||||
%{_mandir}/man1/chfn.1*
|
||||
%{_mandir}/man1/choom.1*
|
||||
|
|
@ -588,12 +611,15 @@ fi
|
|||
%{_mandir}/man1/colcrt.1*
|
||||
%{_mandir}/man1/colrm.1*
|
||||
%{_mandir}/man1/column.1*
|
||||
%{_mandir}/man1/copyfilerange.1*
|
||||
%{_mandir}/man1/coresched.1.*
|
||||
%{_mandir}/man1/eject.1*
|
||||
%{_mandir}/man1/enosys.1*
|
||||
%{_mandir}/man1/exch.1*
|
||||
%{_mandir}/man1/fadvise.1*
|
||||
%{_mandir}/man1/fallocate.1*
|
||||
%{_mandir}/man1/fincore.1*
|
||||
%{_mandir}/man1/getino.1*
|
||||
%{_mandir}/man1/getopt.1*
|
||||
%{_mandir}/man1/hexdump.1*
|
||||
%{_mandir}/man1/irqtop.1*
|
||||
|
|
@ -647,6 +673,7 @@ fi
|
|||
%{_mandir}/man8/fsfreeze.8*
|
||||
%{_mandir}/man8/fstrim.8*
|
||||
%{_mandir}/man8/isosize.8*
|
||||
%{_mandir}/man8/lastlog2.8*
|
||||
%{_mandir}/man8/ldattach.8*
|
||||
%{_mandir}/man8/lsblk.8*
|
||||
%{_mandir}/man8/lslocks.8*
|
||||
|
|
@ -694,17 +721,22 @@ fi
|
|||
%{_sbindir}/zramctl
|
||||
|
||||
%{compldir}/addpart
|
||||
%{compldir}/bits
|
||||
%{compldir}/blkdiscard
|
||||
%{compldir}/blkpr
|
||||
%{compldir}/blkzone
|
||||
%{compldir}/cal
|
||||
%{compldir}/chcpu
|
||||
%{compldir}/chfn
|
||||
%{compldir}/chmem
|
||||
%{compldir}/choom
|
||||
%{compldir}/chsh
|
||||
%{compldir}/col
|
||||
%{compldir}/colcrt
|
||||
%{compldir}/colrm
|
||||
%{compldir}/column
|
||||
%{compldir}/copyfilerange
|
||||
%{compldir}/coresched
|
||||
%{compldir}/ctrlaltdel
|
||||
%{compldir}/delpart
|
||||
%{compldir}/eject
|
||||
|
|
@ -719,17 +751,20 @@ fi
|
|||
%{compldir}/fsck.minix
|
||||
%{compldir}/fsfreeze
|
||||
%{compldir}/fstrim
|
||||
%{compldir}/getino
|
||||
%{compldir}/getopt
|
||||
%{compldir}/hexdump
|
||||
%{compldir}/irqtop
|
||||
%{compldir}/isosize
|
||||
%{compldir}/last
|
||||
%{compldir}/lastb
|
||||
%{compldir}/lastlog2
|
||||
%{compldir}/ldattach
|
||||
%{compldir}/look
|
||||
%{compldir}/lsblk
|
||||
%{compldir}/lscpu
|
||||
%{compldir}/lsclocks
|
||||
%{compldir}/lsfd
|
||||
%{compldir}/lsipc
|
||||
%{compldir}/lsirq
|
||||
%{compldir}/lslocks
|
||||
|
|
@ -894,11 +929,11 @@ fi
|
|||
%{_mandir}/man8/uuidd.8*
|
||||
%{_sbindir}/uuidd
|
||||
%{_unitdir}/uuidd.*
|
||||
%dir %attr(2775, uuidd, uuidd) /var/lib/libuuid
|
||||
%dir %attr(2775, uuidd, uuidd) /run/uuidd
|
||||
%dir %attr(2775, uuidd, uuidd) %{_sharedstatedir}/libuuid
|
||||
%dir %attr(2775, uuidd, uuidd) %{_rundir}/uuidd
|
||||
%{compldir}/uuidd
|
||||
%{_tmpfilesdir}/uuidd-tmpfiles.conf
|
||||
%{_sysusersdir}/uuidd.conf
|
||||
%{_sysusersdir}/uuidd-sysusers.conf
|
||||
|
||||
|
||||
%files -n libfdisk
|
||||
|
|
@ -934,6 +969,32 @@ fi
|
|||
%{_libdir}/pkgconfig/mount.pc
|
||||
|
||||
|
||||
%files -n liblastlog2
|
||||
%license Documentation/licenses/COPYING.BSD-2-Clause
|
||||
%dir %{_sharedstatedir}/lastlog
|
||||
%{_libdir}/liblastlog2.so.*
|
||||
%{_pam_moduledir}/pam_lastlog2.so
|
||||
%{_tmpfilesdir}/lastlog2-tmpfiles.conf
|
||||
%{_unitdir}/lastlog2*
|
||||
%{_mandir}/man8/pam_lastlog2.8*
|
||||
|
||||
%files -n liblastlog2-devel
|
||||
%license Documentation/licenses/COPYING.BSD-2-Clause
|
||||
%{_libdir}/liblastlog2.so
|
||||
%{_includedir}/liblastlog2
|
||||
%{_libdir}/pkgconfig/lastlog2.pc
|
||||
%{_mandir}/man3/lastlog2.3.*
|
||||
%{_mandir}/man3/ll2_import_lastlog.3*
|
||||
%{_mandir}/man3/ll2_new_context.3*
|
||||
%{_mandir}/man3/ll2_read_all.3*
|
||||
%{_mandir}/man3/ll2_read_entry.3*
|
||||
%{_mandir}/man3/ll2_remove_entry.3*
|
||||
%{_mandir}/man3/ll2_rename_user.3*
|
||||
%{_mandir}/man3/ll2_unref_context.3*
|
||||
%{_mandir}/man3/ll2_update_login_time.3*
|
||||
%{_mandir}/man3/ll2_write_entry.3*
|
||||
|
||||
|
||||
%files -n libblkid
|
||||
%license Documentation/licenses/COPYING.LGPL-2.1-or-later
|
||||
%{_libdir}/libblkid.so.*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue