diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index 15c7c05..9be7f90 100644 --- a/.gitignore +++ b/.gitignore @@ -99,10 +99,3 @@ /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 diff --git a/0000-login-use-O_CREAT-on-lastlog.patch b/0000-login-use-O_CREAT-on-lastlog.patch index 39751c2..492ab7d 100644 --- a/0000-login-use-O_CREAT-on-lastlog.patch +++ b/0000-login-use-O_CREAT-on-lastlog.patch @@ -1,19 +1,20 @@ -From a2357184ff3dc3beb001fcb12e1e4c0dcf8d0dbd Mon Sep 17 00:00:00 2001 +From 1a2ec6f6dbb1c74694403ff5bcfcbd36830ff2a4 Mon Sep 17 00:00:00 2001 From: Karel Zak 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 +(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 321f9d6ce..edc69fd9a 100644 +index c8544f6a1..3de0398e9 100644 --- a/login-utils/login.c +++ b/login-utils/login.c -@@ -682,7 +682,7 @@ static void log_lastlog(struct login_context *cxt) +@@ -681,7 +681,7 @@ static void log_lastlog(struct login_context *cxt) sa.sa_handler = SIG_IGN; sigaction(SIGXFSZ, &sa, &oldsa_xfsz); @@ -23,5 +24,5 @@ index 321f9d6ce..edc69fd9a 100644 goto done; offset = cxt->pwd->pw_uid * sizeof(ll); -- -2.51.1 +2.52.0 diff --git a/0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch b/0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch index 91d7f5c..247cf53 100644 --- a/0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch +++ b/0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch @@ -1,16 +1,17 @@ -From 617a887a6ec7e433f6a9f4c60592ed38b12b9f18 Mon Sep 17 00:00:00 2001 +From 84ee1e47e64fcabb83c39611d92a0496d086e0bb Mon Sep 17 00:00:00 2001 From: Karel Zak 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 +(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 34ba11ca3..c91a077e1 100644 +index de456c53e..ac28a9a50 100644 --- a/include/pathnames.h +++ b/include/pathnames.h @@ -41,7 +41,7 @@ @@ -23,5 +24,5 @@ index 34ba11ca3..c91a077e1 100644 # define _PATH_NOLOGIN "/etc/nologin" #endif -- -2.51.1 +2.52.0 diff --git a/0002-blkid-allow-up-to-64k-erofs-block-sizes.patch b/0002-blkid-allow-up-to-64k-erofs-block-sizes.patch new file mode 100644 index 0000000..2603097 --- /dev/null +++ b/0002-blkid-allow-up-to-64k-erofs-block-sizes.patch @@ -0,0 +1,33 @@ +From fa9260ab4d778c4c9958fd5a10644abf41ae6583 Mon Sep 17 00:00:00 2001 +From: Eric Sandeen +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 +Signed-off-by: Eric Sandeen +Signed-off-by: Karel Zak +--- + 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 + diff --git a/0003-libblkid-use-snprintf-instead-of-sprintf.patch b/0003-libblkid-use-snprintf-instead-of-sprintf.patch new file mode 100644 index 0000000..1b411ac --- /dev/null +++ b/0003-libblkid-use-snprintf-instead-of-sprintf.patch @@ -0,0 +1,58 @@ +From 83a413885e608296db220c009b2b1d015bb61e9c Mon Sep 17 00:00:00 2001 +From: Karel Zak +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 +(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 + diff --git a/0004-login-utils-fix-setpwnam-buffer-use-CVE-2025-14104.patch b/0004-login-utils-fix-setpwnam-buffer-use-CVE-2025-14104.patch new file mode 100644 index 0000000..9f75f0e --- /dev/null +++ b/0004-login-utils-fix-setpwnam-buffer-use-CVE-2025-14104.patch @@ -0,0 +1,50 @@ +From 4d3bc36c528e8833e47cbd5b12063056ef9c0122 Mon Sep 17 00:00:00 2001 +From: Karel Zak +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 +(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 + diff --git a/0005-wall-always-use-utmp-as-fallback.patch b/0005-wall-always-use-utmp-as-fallback.patch new file mode 100644 index 0000000..5228609 --- /dev/null +++ b/0005-wall-always-use-utmp-as-fallback.patch @@ -0,0 +1,137 @@ +From 0a856e72df9b6c37497e4e394841d893754b0fa8 Mon Sep 17 00:00:00 2001 +From: Karel Zak +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 +(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 + diff --git a/0006-agetty-fix-stdin-conversion-to-tty-name.patch b/0006-agetty-fix-stdin-conversion-to-tty-name.patch new file mode 100644 index 0000000..0e8ebce --- /dev/null +++ b/0006-agetty-fix-stdin-conversion-to-tty-name.patch @@ -0,0 +1,39 @@ +From 5bb099a5d86a26dcac5d32b1c75e6d9f84b298bf Mon Sep 17 00:00:00 2001 +From: Karel Zak +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 +(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 + diff --git a/plans/ci.fmf b/plans/ci.fmf deleted file mode 100644 index c1627f9..0000000 --- a/plans/ci.fmf +++ /dev/null @@ -1,5 +0,0 @@ -summary: Basic smoke test -discover: - how: fmf -execute: - how: tmt diff --git a/sources b/sources index 8420d1b..ed7ccad 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.42.2.tar.xz) = 7415add0be2930654e322830808dde03ff6d511bd357f0679e6b6287a13ca79fe58ce4ac05edef86b76fb381b3a36ca2da9d3c31b5dc0a1d889c203156a57277 +SHA512 (util-linux-2.40.4.tar.xz) = 0024955056ba7b4c54040a917f9919f49692e57ba6d42d17a6c29c1eefe88bf48b1214a545072b71c468829a63a8f15237f49733e9127c134e11126d1e435124 diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..1cd94fc --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,13 @@ +# 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 diff --git a/tests/various/main.fmf b/tests/various/main.fmf deleted file mode 100644 index c71537e..0000000 --- a/tests/various/main.fmf +++ /dev/null @@ -1,13 +0,0 @@ -summary: This test groups small sanity and regression tests for util-linux -description: '' -contact: Miroslav Vadkerti -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 diff --git a/tests/various/runtest.sh b/tests/various/runtest.sh index 4394d41..32871f4 100755 --- a/tests/various/runtest.sh +++ b/tests/various/runtest.sh @@ -27,6 +27,7 @@ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Include Beaker environment +#. /usr/bin/rhts-environment.sh || exit 1 . /usr/share/beakerlib/beakerlib.sh || exit 1 PACKAGE="util-linux" diff --git a/util-linux-su.pamd b/util-linux-su.pamd index 5733201..030657f 100644 --- a/util-linux-su.pamd +++ b/util-linux-su.pamd @@ -1,5 +1,4 @@ #%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 diff --git a/util-linux-uuidd-sysusers.conf b/util-linux-uuidd-sysusers.conf new file mode 100644 index 0000000..afd02eb --- /dev/null +++ b/util-linux-uuidd-sysusers.conf @@ -0,0 +1 @@ +u uuidd - "UUID generator helper daemon" /var/lib/libuuid diff --git a/util-linux.spec b/util-linux.spec index d92cb07..6ae4593 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,7 +1,7 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.42.2 +Version: 2.40.4 # -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,7 +35,6 @@ BuildRequires: %{pypkg}-devel BuildRequires: gcc BuildRequires: rubygem-asciidoctor BuildRequires: po4a -BuildRequires: sqlite-devel %ifarch ppc64le BuildRequires: librtas-devel %endif @@ -44,8 +43,7 @@ BuildRequires: librtas-devel #BuildRequires: autoconf #BuildRequires: automake #BuildRequires: libtool -BuildRequires: bison -BuildRequires: flex +#BuildRequires: bison ### Sources Source0: https://www.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/util-linux-%{upstream_version}.tar.xz @@ -58,6 +56,9 @@ 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 @@ -92,7 +93,6 @@ 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,9 +103,20 @@ Provides: /usr/sbin/runuser Provides: /usr/sbin/sfdisk %endif -### Fedora specific patches + +# 151635 - login: use O_CREAT on lastlog 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 @@ -208,25 +219,6 @@ 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 @@ -347,6 +339,7 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS" --disable-silent-rules \ --disable-bfs \ --disable-pg \ + --disable-liblastlog2 \ --enable-chfn-chsh \ --enable-usrdir-path \ --enable-write \ @@ -385,10 +378,11 @@ mkdir -p %{buildroot}%{_sysconfdir}/{pam.d,security/console.apps} # install util-linux %make_install -# And a dirs that the makefiles don't create -install -d %{buildroot}%{_rundir}/uuidd -install -d %{buildroot}%{_sharedstatedir}/libuuid -install -d %{buildroot}%{_sharedstatedir}/lastlog +# 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 # /etc/adjtime install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/adjtime @@ -450,7 +444,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,lastlog2}.a +rm -f %{buildroot}%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk}.a # temporary remove to avoid conflicts with bash-completion pkg rm -f %{buildroot}%{compldir}/{mount,umount} @@ -480,26 +474,16 @@ 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 @@ -545,7 +529,6 @@ fi %{_unitdir}/fstrim.* -%{_bindir}/bits %{_bindir}/cal %{_bindir}/chmem %{_bindir}/choom @@ -553,22 +536,18 @@ 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 @@ -601,8 +580,6 @@ fi %{_bindir}/wdctl %{_bindir}/whereis %{_bindir}/write - -%{_mandir}/man1/bits.1* %{_mandir}/man1/cal.1* %{_mandir}/man1/chfn.1* %{_mandir}/man1/choom.1* @@ -611,15 +588,12 @@ 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* @@ -673,7 +647,6 @@ 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* @@ -721,22 +694,17 @@ 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 @@ -751,20 +719,17 @@ 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 @@ -929,11 +894,11 @@ fi %{_mandir}/man8/uuidd.8* %{_sbindir}/uuidd %{_unitdir}/uuidd.* -%dir %attr(2775, uuidd, uuidd) %{_sharedstatedir}/libuuid -%dir %attr(2775, uuidd, uuidd) %{_rundir}/uuidd +%dir %attr(2775, uuidd, uuidd) /var/lib/libuuid +%dir %attr(2775, uuidd, uuidd) /run/uuidd %{compldir}/uuidd %{_tmpfilesdir}/uuidd-tmpfiles.conf -%{_sysusersdir}/uuidd-sysusers.conf +%{_sysusersdir}/uuidd.conf %files -n libfdisk @@ -969,32 +934,6 @@ 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.*