Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
86f1358f44 |
14 changed files with 208 additions and 193 deletions
|
|
@ -1 +0,0 @@
|
||||||
1
|
|
||||||
7
.gitignore
vendored
7
.gitignore
vendored
|
|
@ -99,10 +99,3 @@
|
||||||
/util-linux-2.40.1.tar.xz
|
/util-linux-2.40.1.tar.xz
|
||||||
/util-linux-2.40.2.tar.xz
|
/util-linux-2.40.2.tar.xz
|
||||||
/util-linux-2.40.4.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,27 +0,0 @@
|
||||||
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>
|
|
||||||
---
|
|
||||||
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
|
|
||||||
--- a/login-utils/login.c
|
|
||||||
+++ b/login-utils/login.c
|
|
||||||
@@ -682,7 +682,7 @@ static void log_lastlog(struct login_context *cxt)
|
|
||||||
sa.sa_handler = SIG_IGN;
|
|
||||||
sigaction(SIGXFSZ, &sa, &oldsa_xfsz);
|
|
||||||
|
|
||||||
- fd = open(_PATH_LASTLOG, O_RDWR, 0);
|
|
||||||
+ fd = open(_PATH_LASTLOG, O_RDWR | O_CREAT, 0);
|
|
||||||
if (fd < 0)
|
|
||||||
goto done;
|
|
||||||
offset = cxt->pwd->pw_uid * sizeof(ll);
|
|
||||||
--
|
|
||||||
2.51.1
|
|
||||||
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
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>
|
|
||||||
---
|
|
||||||
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
|
|
||||||
--- a/include/pathnames.h
|
|
||||||
+++ b/include/pathnames.h
|
|
||||||
@@ -41,7 +41,7 @@
|
|
||||||
#ifndef _PATH_MAILDIR
|
|
||||||
# define _PATH_MAILDIR "/var/spool/mail"
|
|
||||||
#endif
|
|
||||||
-#define _PATH_MOTDFILE "/usr/share/misc/motd:/run/motd:/etc/motd"
|
|
||||||
+#define _PATH_MOTDFILE "/usr/share/misc/motd:/run/motd:/run/motd.d:/etc/motd:/etc/motd.d"
|
|
||||||
#ifndef _PATH_NOLOGIN
|
|
||||||
# define _PATH_NOLOGIN "/etc/nologin"
|
|
||||||
#endif
|
|
||||||
--
|
|
||||||
2.51.1
|
|
||||||
|
|
||||||
133
libmount-Fix-regression-when-mounting-with-atime.patch
Normal file
133
libmount-Fix-regression-when-mounting-with-atime.patch
Normal file
|
|
@ -0,0 +1,133 @@
|
||||||
|
From 2b99ee2526ae61be761b0e31c50e106dbec5e9e4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Filipe Manana <fdmanana@kernel.org>
|
||||||
|
Date: Thu, 17 Aug 2023 10:20:13 +0100
|
||||||
|
Subject: [PATCH] libmount: Fix regression when mounting with atime
|
||||||
|
|
||||||
|
A regression was introduced in v2.39 that causes mounting with the atime
|
||||||
|
option to fail:
|
||||||
|
|
||||||
|
$ mkfs.ext4 -F /dev/sdi
|
||||||
|
$ mount -o atime /dev/sdi /mnt/sdi
|
||||||
|
mount: /mnt/sdi: not mount point or bad option.
|
||||||
|
dmesg(1) may have more information after failed mount system call.
|
||||||
|
|
||||||
|
The failure comes from the mount_setattr(2) call returning -EINVAL. This
|
||||||
|
is because we pass an invalid value for the attr_clr argument. From a
|
||||||
|
strace capture we have:
|
||||||
|
|
||||||
|
mount_setattr(4, "", AT_EMPTY_PATH, {attr_set=0, attr_clr=MOUNT_ATTR_NOATIME, propagation=0 /* MS_??? */, userns_fd=0}, 32) = -1 EINVAL (Invalid argument)
|
||||||
|
|
||||||
|
We can't pass MOUNT_ATTR_NOATIME to mount_setattr(2) through the attr_clr
|
||||||
|
argument because all atime options are exclusive, so in order to set atime
|
||||||
|
one has to pass MOUNT_ATTR__ATIME to attr_clr and leave attr_set as
|
||||||
|
MOUNT_ATTR_RELATIME (which is defined as a value of 0).
|
||||||
|
|
||||||
|
This can be read from the man page for mount_setattr(2) and also from the
|
||||||
|
kernel source:
|
||||||
|
|
||||||
|
$ cat fs/namespace.c
|
||||||
|
static int build_mount_kattr(const struct mount_attr *attr, size_t usize,
|
||||||
|
struct mount_kattr *kattr, unsigned int flags)
|
||||||
|
{
|
||||||
|
(...)
|
||||||
|
/*
|
||||||
|
* Since the MOUNT_ATTR_<atime> values are an enum, not a bitmap,
|
||||||
|
* users wanting to transition to a different atime setting cannot
|
||||||
|
* simply specify the atime setting in @attr_set, but must also
|
||||||
|
* specify MOUNT_ATTR__ATIME in the @attr_clr field.
|
||||||
|
* So ensure that MOUNT_ATTR__ATIME can't be partially set in
|
||||||
|
* @attr_clr and that @attr_set can't have any atime bits set if
|
||||||
|
* MOUNT_ATTR__ATIME isn't set in @attr_clr.
|
||||||
|
*/
|
||||||
|
if (attr->attr_clr & MOUNT_ATTR__ATIME) {
|
||||||
|
if ((attr->attr_clr & MOUNT_ATTR__ATIME) != MOUNT_ATTR__ATIME)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Clear all previous time settings as they are mutually
|
||||||
|
* exclusive.
|
||||||
|
*/
|
||||||
|
kattr->attr_clr |= MNT_RELATIME | MNT_NOATIME;
|
||||||
|
switch (attr->attr_set & MOUNT_ATTR__ATIME) {
|
||||||
|
case MOUNT_ATTR_RELATIME:
|
||||||
|
kattr->attr_set |= MNT_RELATIME;
|
||||||
|
break;
|
||||||
|
case MOUNT_ATTR_NOATIME:
|
||||||
|
kattr->attr_set |= MNT_NOATIME;
|
||||||
|
break;
|
||||||
|
case MOUNT_ATTR_STRICTATIME:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
(...)
|
||||||
|
|
||||||
|
So fix this by setting attr_clr MOUNT_ATTR__ATIME if we want to clear any
|
||||||
|
atime related option.
|
||||||
|
|
||||||
|
Signed-off-by: Filipe Manana <fdmanana@kernel.org>
|
||||||
|
---
|
||||||
|
libmount/src/optlist.c | 13 ++++++++++++-
|
||||||
|
tests/expected/libmount/context-mount-flags | 3 +++
|
||||||
|
tests/ts/libmount/context | 9 ++++++++-
|
||||||
|
3 files changed, 23 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libmount/src/optlist.c b/libmount/src/optlist.c
|
||||||
|
index e93810b47..d0afc94f7 100644
|
||||||
|
--- a/libmount/src/optlist.c
|
||||||
|
+++ b/libmount/src/optlist.c
|
||||||
|
@@ -875,7 +875,18 @@ int mnt_optlist_get_attrs(struct libmnt_optlist *ls, uint64_t *set, uint64_t *cl
|
||||||
|
|
||||||
|
if (opt->ent->mask & MNT_INVERT) {
|
||||||
|
DBG(OPTLIST, ul_debugobj(ls, " clr: %s", opt->ent->name));
|
||||||
|
- *clr |= x;
|
||||||
|
+ /*
|
||||||
|
+ * All atime settings are mutually exclusive so *clr must
|
||||||
|
+ * have MOUNT_ATTR__ATIME set.
|
||||||
|
+ *
|
||||||
|
+ * See the function fs/namespace.c:build_mount_kattr()
|
||||||
|
+ * in the linux kernel source.
|
||||||
|
+ */
|
||||||
|
+ if (x == MOUNT_ATTR_RELATIME || x == MOUNT_ATTR_NOATIME ||
|
||||||
|
+ x == MOUNT_ATTR_STRICTATIME)
|
||||||
|
+ *clr |= MOUNT_ATTR__ATIME;
|
||||||
|
+ else
|
||||||
|
+ *clr |= x;
|
||||||
|
} else {
|
||||||
|
DBG(OPTLIST, ul_debugobj(ls, " set: %s", opt->ent->name));
|
||||||
|
*set |= x;
|
||||||
|
diff --git a/tests/expected/libmount/context-mount-flags b/tests/expected/libmount/context-mount-flags
|
||||||
|
index 960641863..eb71323dd 100644
|
||||||
|
--- a/tests/expected/libmount/context-mount-flags
|
||||||
|
+++ b/tests/expected/libmount/context-mount-flags
|
||||||
|
@@ -3,3 +3,6 @@ ro,nosuid,noexec
|
||||||
|
successfully mounted
|
||||||
|
rw,nosuid,noexec
|
||||||
|
successfully umounted
|
||||||
|
+successfully mounted
|
||||||
|
+rw,relatime
|
||||||
|
+successfully umounted
|
||||||
|
diff --git a/tests/ts/libmount/context b/tests/ts/libmount/context
|
||||||
|
index f5b47185e..a5d2e81a3 100755
|
||||||
|
--- a/tests/ts/libmount/context
|
||||||
|
+++ b/tests/ts/libmount/context
|
||||||
|
@@ -116,8 +116,15 @@ $TS_CMD_FINDMNT --kernel --mountpoint $MOUNTPOINT -o VFS-OPTIONS -n >> $TS_OUTPU
|
||||||
|
|
||||||
|
ts_run $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
|
||||||
|
is_mounted $DEVICE && echo "$DEVICE still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
|
||||||
|
-ts_finalize_subtest
|
||||||
|
|
||||||
|
+# Test that the atime option works after the migration to use the new kernel mount APIs.
|
||||||
|
+ts_run $TESTPROG --mount -o atime $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
|
||||||
|
+$TS_CMD_FINDMNT --kernel --mountpoint $MOUNTPOINT -o VFS-OPTIONS -n >> $TS_OUTPUT 2>> $TS_ERRLOG
|
||||||
|
+is_mounted $DEVICE || echo "$DEVICE not mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
|
||||||
|
+ts_run $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
|
||||||
|
+is_mounted $DEVICE && echo "$DEVICE still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
|
||||||
|
+
|
||||||
|
+ts_finalize_subtest
|
||||||
|
|
||||||
|
ts_init_subtest "mount-loopdev"
|
||||||
|
mkdir -p $MOUNTPOINT &> /dev/null
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
||||||
13
login-default-motd-file.patch
Normal file
13
login-default-motd-file.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/include/pathnames.h b/include/pathnames.h
|
||||||
|
index 3845d4c33..fac3a0783 100644
|
||||||
|
--- a/include/pathnames.h
|
||||||
|
+++ b/include/pathnames.h
|
||||||
|
@@ -41,7 +41,7 @@
|
||||||
|
#ifndef _PATH_MAILDIR
|
||||||
|
# define _PATH_MAILDIR "/var/spool/mail"
|
||||||
|
#endif
|
||||||
|
-#define _PATH_MOTDFILE "/usr/share/misc/motd:/run/motd:/etc/motd"
|
||||||
|
+#define _PATH_MOTDFILE "/usr/share/misc/motd:/run/motd:/run/motd.d:/etc/motd:/etc/motd.d"
|
||||||
|
#ifndef _PATH_NOLOGIN
|
||||||
|
# define _PATH_NOLOGIN "/etc/nologin"
|
||||||
|
#endif
|
||||||
12
login-lastlog-create.patch
Normal file
12
login-lastlog-create.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff -up util-linux-2.36/login-utils/login.c.kzak util-linux-2.36/login-utils/login.c
|
||||||
|
--- util-linux-2.36/login-utils/login.c.kzak 2020-07-23 14:13:26.777030764 +0200
|
||||||
|
+++ util-linux-2.36/login-utils/login.c 2020-07-23 14:11:22.793686983 +0200
|
||||||
|
@@ -585,7 +585,7 @@ static void log_lastlog(struct login_con
|
||||||
|
sa.sa_handler = SIG_IGN;
|
||||||
|
sigaction(SIGXFSZ, &sa, &oldsa_xfsz);
|
||||||
|
|
||||||
|
- fd = open(_PATH_LASTLOG, O_RDWR, 0);
|
||||||
|
+ fd = open(_PATH_LASTLOG, O_RDWR | O_CREAT, 0);
|
||||||
|
if (fd < 0)
|
||||||
|
goto done;
|
||||||
|
offset = cxt->pwd->pw_uid * sizeof(ll);
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
summary: Basic smoke test
|
|
||||||
discover:
|
|
||||||
how: fmf
|
|
||||||
execute:
|
|
||||||
how: tmt
|
|
||||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
||||||
SHA512 (util-linux-2.42.2.tar.xz) = 7415add0be2930654e322830808dde03ff6d511bd357f0679e6b6287a13ca79fe58ce4ac05edef86b76fb381b3a36ca2da9d3c31b5dc0a1d889c203156a57277
|
SHA512 (util-linux-2.40.4.tar.xz) = 0024955056ba7b4c54040a917f9919f49692e57ba6d42d17a6c29c1eefe88bf48b1214a545072b71c468829a63a8f15237f49733e9127c134e11126d1e435124
|
||||||
|
|
|
||||||
13
tests/tests.yml
Normal file
13
tests/tests.yml
Normal file
|
|
@ -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
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
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,6 +27,7 @@
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
# Include Beaker environment
|
# Include Beaker environment
|
||||||
|
#. /usr/bin/rhts-environment.sh || exit 1
|
||||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
PACKAGE="util-linux"
|
PACKAGE="util-linux"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
#%PAM-1.0
|
#%PAM-1.0
|
||||||
auth required pam_env.so
|
|
||||||
auth sufficient pam_rootok.so
|
auth sufficient pam_rootok.so
|
||||||
# Uncomment the following line to implicitly trust users in the "wheel" group.
|
# Uncomment the following line to implicitly trust users in the "wheel" group.
|
||||||
#auth sufficient pam_wheel.so trust use_uid
|
#auth sufficient pam_wheel.so trust use_uid
|
||||||
|
|
|
||||||
146
util-linux.spec
146
util-linux.spec
|
|
@ -1,7 +1,7 @@
|
||||||
### Header
|
### Header
|
||||||
Summary: Collection of basic system utilities
|
Summary: Collection of basic system utilities
|
||||||
Name: util-linux
|
Name: util-linux
|
||||||
Version: 2.42.2
|
Version: 2.40.4
|
||||||
# -p -e rc1
|
# -p -e rc1
|
||||||
Release: %autorelease
|
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
|
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
|
||||||
|
|
@ -21,7 +21,6 @@ BuildRequires: make
|
||||||
BuildRequires: audit-libs-devel >= 1.0.6
|
BuildRequires: audit-libs-devel >= 1.0.6
|
||||||
BuildRequires: gettext-devel
|
BuildRequires: gettext-devel
|
||||||
BuildRequires: libselinux-devel
|
BuildRequires: libselinux-devel
|
||||||
BuildRequires: libxcrypt-devel
|
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
BuildRequires: readline-devel
|
BuildRequires: readline-devel
|
||||||
BuildRequires: pam-devel
|
BuildRequires: pam-devel
|
||||||
|
|
@ -35,7 +34,6 @@ BuildRequires: %{pypkg}-devel
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: rubygem-asciidoctor
|
BuildRequires: rubygem-asciidoctor
|
||||||
BuildRequires: po4a
|
BuildRequires: po4a
|
||||||
BuildRequires: sqlite-devel
|
|
||||||
%ifarch ppc64le
|
%ifarch ppc64le
|
||||||
BuildRequires: librtas-devel
|
BuildRequires: librtas-devel
|
||||||
%endif
|
%endif
|
||||||
|
|
@ -44,8 +42,7 @@ BuildRequires: librtas-devel
|
||||||
#BuildRequires: autoconf
|
#BuildRequires: autoconf
|
||||||
#BuildRequires: automake
|
#BuildRequires: automake
|
||||||
#BuildRequires: libtool
|
#BuildRequires: libtool
|
||||||
BuildRequires: bison
|
#BuildRequires: bison
|
||||||
BuildRequires: flex
|
|
||||||
|
|
||||||
### Sources
|
### Sources
|
||||||
Source0: https://www.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/util-linux-%{upstream_version}.tar.xz
|
Source0: https://www.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/util-linux-%{upstream_version}.tar.xz
|
||||||
|
|
@ -84,15 +81,13 @@ Obsoletes: util-linux-user < 2.39-1
|
||||||
Provides: util-linux-user = %{version}-%{release}
|
Provides: util-linux-user = %{version}-%{release}
|
||||||
|
|
||||||
Requires(post): coreutils
|
Requires(post): coreutils
|
||||||
Requires: (pam >= 1.1.3-7 if systemd)
|
Requires: pam >= 1.1.3-7, /etc/pam.d/system-auth
|
||||||
Requires: (/etc/pam.d/system-auth if systemd)
|
|
||||||
Requires: audit-libs >= 1.0.6
|
Requires: audit-libs >= 1.0.6
|
||||||
Requires: libuuid = %{version}-%{release}
|
Requires: libuuid = %{version}-%{release}
|
||||||
Requires: libblkid = %{version}-%{release}
|
Requires: libblkid = %{version}-%{release}
|
||||||
Requires: libmount = %{version}-%{release}
|
Requires: libmount = %{version}-%{release}
|
||||||
Requires: libsmartcols = %{version}-%{release}
|
Requires: libsmartcols = %{version}-%{release}
|
||||||
Requires: libfdisk = %{version}-%{release}
|
Requires: libfdisk = %{version}-%{release}
|
||||||
Requires: liblastlog2 = %{version}-%{release}
|
|
||||||
Requires: util-linux-core = %{version}-%{release}
|
Requires: util-linux-core = %{version}-%{release}
|
||||||
|
|
||||||
%if "%{_sbindir}" == "%{_bindir}"
|
%if "%{_sbindir}" == "%{_bindir}"
|
||||||
|
|
@ -103,9 +98,13 @@ Provides: /usr/sbin/runuser
|
||||||
Provides: /usr/sbin/sfdisk
|
Provides: /usr/sbin/sfdisk
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
### Fedora specific patches
|
### Ready for upstream?
|
||||||
Patch0: 0000-login-use-O_CREAT-on-lastlog.patch
|
###
|
||||||
Patch1: 0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch
|
# 151635 - makeing /var/log/lastlog
|
||||||
|
Patch0: login-lastlog-create.patch
|
||||||
|
# Add `/run/motd.d` to the hardcoded MOTD_FILE
|
||||||
|
# https://github.com/coreos/console-login-helper-messages/issues/60
|
||||||
|
Patch1: login-default-motd-file.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The util-linux package contains a large variety of low-level system
|
The util-linux package contains a large variety of low-level system
|
||||||
|
|
@ -208,25 +207,6 @@ This is the device mounting development library and headers,
|
||||||
part of util-linux.
|
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
|
%package -n libblkid
|
||||||
Summary: Block device ID library
|
Summary: Block device ID library
|
||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
|
|
@ -319,12 +299,6 @@ License: GPL-2.0-or-later
|
||||||
Internationalization pack with translated messages and manual pages for
|
Internationalization pack with translated messages and manual pages for
|
||||||
util-linux commands.
|
util-linux commands.
|
||||||
|
|
||||||
%package -n util-linux-script
|
|
||||||
Summary: Utilities for creating and replaying typescripts of terminal session
|
|
||||||
Requires: util-linux = %{version}-%{release}
|
|
||||||
|
|
||||||
%description -n util-linux-script
|
|
||||||
The utilities scripts, scriptreplay, and scriptlive are used to create and replay terminal sessions.
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n %{name}-%{upstream_version}
|
%autosetup -p1 -n %{name}-%{upstream_version}
|
||||||
|
|
@ -347,6 +321,7 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS"
|
||||||
--disable-silent-rules \
|
--disable-silent-rules \
|
||||||
--disable-bfs \
|
--disable-bfs \
|
||||||
--disable-pg \
|
--disable-pg \
|
||||||
|
--disable-liblastlog2 \
|
||||||
--enable-chfn-chsh \
|
--enable-chfn-chsh \
|
||||||
--enable-usrdir-path \
|
--enable-usrdir-path \
|
||||||
--enable-write \
|
--enable-write \
|
||||||
|
|
@ -385,10 +360,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/{pam.d,security/console.apps}
|
||||||
# install util-linux
|
# install util-linux
|
||||||
%make_install
|
%make_install
|
||||||
|
|
||||||
# And a dirs that the makefiles don't create
|
# And a dirs uuidd needs that the makefiles don't create
|
||||||
install -d %{buildroot}%{_rundir}/uuidd
|
install -d %{buildroot}/run/uuidd
|
||||||
install -d %{buildroot}%{_sharedstatedir}/libuuid
|
install -d %{buildroot}/var/lib/libuuid
|
||||||
install -d %{buildroot}%{_sharedstatedir}/lastlog
|
|
||||||
|
|
||||||
# /etc/adjtime
|
# /etc/adjtime
|
||||||
install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/adjtime
|
install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/adjtime
|
||||||
|
|
@ -450,7 +424,7 @@ rm -f %{buildroot}/sbin/sfdisk \
|
||||||
ln -sf ../proc/self/mounts %{buildroot}/etc/mtab
|
ln -sf ../proc/self/mounts %{buildroot}/etc/mtab
|
||||||
|
|
||||||
# remove static libs
|
# 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
|
# temporary remove to avoid conflicts with bash-completion pkg
|
||||||
rm -f %{buildroot}%{compldir}/{mount,umount}
|
rm -f %{buildroot}%{compldir}/{mount,umount}
|
||||||
|
|
@ -480,25 +454,22 @@ find %{buildroot}%{_mandir}/man8 -regextype posix-egrep \
|
||||||
mv -v %{buildroot}/usr/sbin/* %{buildroot}/usr/bin/
|
mv -v %{buildroot}/usr/sbin/* %{buildroot}/usr/bin/
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
%systemd_post fstrim.{service,timer}
|
%systemd_post fstrim.{service,timer}
|
||||||
|
|
||||||
%post -n liblastlog2
|
|
||||||
%systemd_post lastlog2-import.service
|
|
||||||
|
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%systemd_preun fstrim.{service,timer}
|
%systemd_preun fstrim.{service,timer}
|
||||||
|
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
%systemd_postun_with_restart fstrim.timer
|
%systemd_postun_with_restart fstrim.timer
|
||||||
%systemd_postun fstrim.service
|
%systemd_postun fstrim.service
|
||||||
|
|
||||||
%postun -n liblastlog2
|
%pre -n uuidd
|
||||||
%systemd_postun lastlog2-import.service
|
getent group uuidd >/dev/null || groupadd -r uuidd
|
||||||
|
getent passwd uuidd >/dev/null || \
|
||||||
|
useradd -r -g uuidd -d /var/lib/libuuid -s /sbin/nologin \
|
||||||
|
-c "UUID generator helper daemon" uuidd
|
||||||
|
exit 0
|
||||||
|
|
||||||
# Please, keep uuidd running after installation! Note that systemd_post is
|
# Please, keep uuidd running after installation! Note that systemd_post is
|
||||||
# "systemctl preset" and it enable/disable service only.
|
# "systemctl preset" and it enable/disable service only.
|
||||||
|
|
@ -523,7 +494,7 @@ fi
|
||||||
|
|
||||||
%files -f %{name}.files
|
%files -f %{name}.files
|
||||||
%doc README NEWS AUTHORS
|
%doc README NEWS AUTHORS
|
||||||
%doc Documentation/deprecated.txt
|
%doc Documentation/deprecated.txt
|
||||||
%license Documentation/licenses/*
|
%license Documentation/licenses/*
|
||||||
%doc misc-utils/getopt-*.{bash,tcsh}
|
%doc misc-utils/getopt-*.{bash,tcsh}
|
||||||
|
|
||||||
|
|
@ -540,12 +511,12 @@ fi
|
||||||
|
|
||||||
%attr(4755,root,root) %{_bindir}/su
|
%attr(4755,root,root) %{_bindir}/su
|
||||||
%attr(755,root,root) %{_bindir}/login
|
%attr(755,root,root) %{_bindir}/login
|
||||||
|
%attr(2755,root,tty) %{_bindir}/write
|
||||||
%attr(4711,root,root) %{_bindir}/chfn
|
%attr(4711,root,root) %{_bindir}/chfn
|
||||||
%attr(4711,root,root) %{_bindir}/chsh
|
%attr(4711,root,root) %{_bindir}/chsh
|
||||||
|
|
||||||
%{_unitdir}/fstrim.*
|
%{_unitdir}/fstrim.*
|
||||||
|
|
||||||
%{_bindir}/bits
|
|
||||||
%{_bindir}/cal
|
%{_bindir}/cal
|
||||||
%{_bindir}/chmem
|
%{_bindir}/chmem
|
||||||
%{_bindir}/choom
|
%{_bindir}/choom
|
||||||
|
|
@ -553,22 +524,18 @@ fi
|
||||||
%{_bindir}/colcrt
|
%{_bindir}/colcrt
|
||||||
%{_bindir}/colrm
|
%{_bindir}/colrm
|
||||||
%{_bindir}/column
|
%{_bindir}/column
|
||||||
%{_bindir}/copyfilerange
|
|
||||||
%{_bindir}/coresched
|
|
||||||
%{_bindir}/eject
|
%{_bindir}/eject
|
||||||
%{_bindir}/enosys
|
%{_bindir}/enosys
|
||||||
%{_bindir}/exch
|
%{_bindir}/exch
|
||||||
%{_bindir}/fallocate
|
%{_bindir}/fallocate
|
||||||
%{_bindir}/fincore
|
%{_bindir}/fincore
|
||||||
%{_bindir}/fadvise
|
%{_bindir}/fadvise
|
||||||
%{_bindir}/getino
|
|
||||||
%{_bindir}/getopt
|
%{_bindir}/getopt
|
||||||
%{_bindir}/hexdump
|
%{_bindir}/hexdump
|
||||||
%{_bindir}/irqtop
|
%{_bindir}/irqtop
|
||||||
%{_bindir}/isosize
|
%{_bindir}/isosize
|
||||||
%{_bindir}/last
|
%{_bindir}/last
|
||||||
%{_bindir}/lastb
|
%{_bindir}/lastb
|
||||||
%{_bindir}/lastlog2
|
|
||||||
%{_bindir}/look
|
%{_bindir}/look
|
||||||
%{_bindir}/lsblk
|
%{_bindir}/lsblk
|
||||||
%{_bindir}/lscpu
|
%{_bindir}/lscpu
|
||||||
|
|
@ -587,6 +554,9 @@ fi
|
||||||
%{_bindir}/prlimit
|
%{_bindir}/prlimit
|
||||||
%{_bindir}/rename
|
%{_bindir}/rename
|
||||||
%{_bindir}/rev
|
%{_bindir}/rev
|
||||||
|
%{_bindir}/script
|
||||||
|
%{_bindir}/scriptlive
|
||||||
|
%{_bindir}/scriptreplay
|
||||||
%{_bindir}/setarch
|
%{_bindir}/setarch
|
||||||
%{_bindir}/setpgid
|
%{_bindir}/setpgid
|
||||||
%{_bindir}/setpriv
|
%{_bindir}/setpriv
|
||||||
|
|
@ -600,9 +570,6 @@ fi
|
||||||
%{_bindir}/wall
|
%{_bindir}/wall
|
||||||
%{_bindir}/wdctl
|
%{_bindir}/wdctl
|
||||||
%{_bindir}/whereis
|
%{_bindir}/whereis
|
||||||
%{_bindir}/write
|
|
||||||
|
|
||||||
%{_mandir}/man1/bits.1*
|
|
||||||
%{_mandir}/man1/cal.1*
|
%{_mandir}/man1/cal.1*
|
||||||
%{_mandir}/man1/chfn.1*
|
%{_mandir}/man1/chfn.1*
|
||||||
%{_mandir}/man1/choom.1*
|
%{_mandir}/man1/choom.1*
|
||||||
|
|
@ -611,15 +578,12 @@ fi
|
||||||
%{_mandir}/man1/colcrt.1*
|
%{_mandir}/man1/colcrt.1*
|
||||||
%{_mandir}/man1/colrm.1*
|
%{_mandir}/man1/colrm.1*
|
||||||
%{_mandir}/man1/column.1*
|
%{_mandir}/man1/column.1*
|
||||||
%{_mandir}/man1/copyfilerange.1*
|
|
||||||
%{_mandir}/man1/coresched.1.*
|
|
||||||
%{_mandir}/man1/eject.1*
|
%{_mandir}/man1/eject.1*
|
||||||
%{_mandir}/man1/enosys.1*
|
%{_mandir}/man1/enosys.1*
|
||||||
%{_mandir}/man1/exch.1*
|
%{_mandir}/man1/exch.1*
|
||||||
%{_mandir}/man1/fadvise.1*
|
%{_mandir}/man1/fadvise.1*
|
||||||
%{_mandir}/man1/fallocate.1*
|
%{_mandir}/man1/fallocate.1*
|
||||||
%{_mandir}/man1/fincore.1*
|
%{_mandir}/man1/fincore.1*
|
||||||
%{_mandir}/man1/getino.1*
|
|
||||||
%{_mandir}/man1/getopt.1*
|
%{_mandir}/man1/getopt.1*
|
||||||
%{_mandir}/man1/hexdump.1*
|
%{_mandir}/man1/hexdump.1*
|
||||||
%{_mandir}/man1/irqtop.1*
|
%{_mandir}/man1/irqtop.1*
|
||||||
|
|
@ -642,6 +606,9 @@ fi
|
||||||
%{_mandir}/man1/rename.1*
|
%{_mandir}/man1/rename.1*
|
||||||
%{_mandir}/man1/rev.1*
|
%{_mandir}/man1/rev.1*
|
||||||
%{_mandir}/man1/runuser.1*
|
%{_mandir}/man1/runuser.1*
|
||||||
|
%{_mandir}/man1/script.1*
|
||||||
|
%{_mandir}/man1/scriptlive.1*
|
||||||
|
%{_mandir}/man1/scriptreplay.1*
|
||||||
%{_mandir}/man1/setpgid.1*
|
%{_mandir}/man1/setpgid.1*
|
||||||
%{_mandir}/man1/setpriv.1*
|
%{_mandir}/man1/setpriv.1*
|
||||||
%{_mandir}/man1/setterm.1*
|
%{_mandir}/man1/setterm.1*
|
||||||
|
|
@ -673,7 +640,6 @@ fi
|
||||||
%{_mandir}/man8/fsfreeze.8*
|
%{_mandir}/man8/fsfreeze.8*
|
||||||
%{_mandir}/man8/fstrim.8*
|
%{_mandir}/man8/fstrim.8*
|
||||||
%{_mandir}/man8/isosize.8*
|
%{_mandir}/man8/isosize.8*
|
||||||
%{_mandir}/man8/lastlog2.8*
|
|
||||||
%{_mandir}/man8/ldattach.8*
|
%{_mandir}/man8/ldattach.8*
|
||||||
%{_mandir}/man8/lsblk.8*
|
%{_mandir}/man8/lsblk.8*
|
||||||
%{_mandir}/man8/lslocks.8*
|
%{_mandir}/man8/lslocks.8*
|
||||||
|
|
@ -721,22 +687,17 @@ fi
|
||||||
%{_sbindir}/zramctl
|
%{_sbindir}/zramctl
|
||||||
|
|
||||||
%{compldir}/addpart
|
%{compldir}/addpart
|
||||||
%{compldir}/bits
|
|
||||||
%{compldir}/blkdiscard
|
%{compldir}/blkdiscard
|
||||||
%{compldir}/blkpr
|
|
||||||
%{compldir}/blkzone
|
%{compldir}/blkzone
|
||||||
%{compldir}/cal
|
%{compldir}/cal
|
||||||
%{compldir}/chcpu
|
%{compldir}/chcpu
|
||||||
%{compldir}/chfn
|
%{compldir}/chfn
|
||||||
%{compldir}/chmem
|
%{compldir}/chmem
|
||||||
%{compldir}/choom
|
|
||||||
%{compldir}/chsh
|
%{compldir}/chsh
|
||||||
%{compldir}/col
|
%{compldir}/col
|
||||||
%{compldir}/colcrt
|
%{compldir}/colcrt
|
||||||
%{compldir}/colrm
|
%{compldir}/colrm
|
||||||
%{compldir}/column
|
%{compldir}/column
|
||||||
%{compldir}/copyfilerange
|
|
||||||
%{compldir}/coresched
|
|
||||||
%{compldir}/ctrlaltdel
|
%{compldir}/ctrlaltdel
|
||||||
%{compldir}/delpart
|
%{compldir}/delpart
|
||||||
%{compldir}/eject
|
%{compldir}/eject
|
||||||
|
|
@ -751,20 +712,17 @@ fi
|
||||||
%{compldir}/fsck.minix
|
%{compldir}/fsck.minix
|
||||||
%{compldir}/fsfreeze
|
%{compldir}/fsfreeze
|
||||||
%{compldir}/fstrim
|
%{compldir}/fstrim
|
||||||
%{compldir}/getino
|
|
||||||
%{compldir}/getopt
|
%{compldir}/getopt
|
||||||
%{compldir}/hexdump
|
%{compldir}/hexdump
|
||||||
%{compldir}/irqtop
|
%{compldir}/irqtop
|
||||||
%{compldir}/isosize
|
%{compldir}/isosize
|
||||||
%{compldir}/last
|
%{compldir}/last
|
||||||
%{compldir}/lastb
|
%{compldir}/lastb
|
||||||
%{compldir}/lastlog2
|
|
||||||
%{compldir}/ldattach
|
%{compldir}/ldattach
|
||||||
%{compldir}/look
|
%{compldir}/look
|
||||||
%{compldir}/lsblk
|
%{compldir}/lsblk
|
||||||
%{compldir}/lscpu
|
%{compldir}/lscpu
|
||||||
%{compldir}/lsclocks
|
%{compldir}/lsclocks
|
||||||
%{compldir}/lsfd
|
|
||||||
%{compldir}/lsipc
|
%{compldir}/lsipc
|
||||||
%{compldir}/lsirq
|
%{compldir}/lsirq
|
||||||
%{compldir}/lslocks
|
%{compldir}/lslocks
|
||||||
|
|
@ -787,6 +745,9 @@ fi
|
||||||
%{compldir}/rfkill
|
%{compldir}/rfkill
|
||||||
%{compldir}/rtcwake
|
%{compldir}/rtcwake
|
||||||
%{compldir}/runuser
|
%{compldir}/runuser
|
||||||
|
%{compldir}/script
|
||||||
|
%{compldir}/scriptlive
|
||||||
|
%{compldir}/scriptreplay
|
||||||
%{compldir}/setarch
|
%{compldir}/setarch
|
||||||
%{compldir}/setpriv
|
%{compldir}/setpriv
|
||||||
%{compldir}/setpgid
|
%{compldir}/setpgid
|
||||||
|
|
@ -929,11 +890,10 @@ fi
|
||||||
%{_mandir}/man8/uuidd.8*
|
%{_mandir}/man8/uuidd.8*
|
||||||
%{_sbindir}/uuidd
|
%{_sbindir}/uuidd
|
||||||
%{_unitdir}/uuidd.*
|
%{_unitdir}/uuidd.*
|
||||||
%dir %attr(2775, uuidd, uuidd) %{_sharedstatedir}/libuuid
|
%dir %attr(2775, uuidd, uuidd) /var/lib/libuuid
|
||||||
%dir %attr(2775, uuidd, uuidd) %{_rundir}/uuidd
|
%dir %attr(2775, uuidd, uuidd) /run/uuidd
|
||||||
%{compldir}/uuidd
|
%{compldir}/uuidd
|
||||||
%{_tmpfilesdir}/uuidd-tmpfiles.conf
|
%{_tmpfilesdir}/uuidd-tmpfiles.conf
|
||||||
%{_sysusersdir}/uuidd-sysusers.conf
|
|
||||||
|
|
||||||
|
|
||||||
%files -n libfdisk
|
%files -n libfdisk
|
||||||
|
|
@ -969,32 +929,6 @@ fi
|
||||||
%{_libdir}/pkgconfig/mount.pc
|
%{_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
|
%files -n libblkid
|
||||||
%license Documentation/licenses/COPYING.LGPL-2.1-or-later
|
%license Documentation/licenses/COPYING.LGPL-2.1-or-later
|
||||||
%{_libdir}/libblkid.so.*
|
%{_libdir}/libblkid.so.*
|
||||||
|
|
@ -1036,16 +970,6 @@ fi
|
||||||
%files -n util-linux-i18n -f %{name}.lang
|
%files -n util-linux-i18n -f %{name}.lang
|
||||||
%license Documentation/licenses/COPYING.GPL-2.0-or-later
|
%license Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||||
|
|
||||||
%files -n util-linux-script
|
|
||||||
%{_bindir}/script
|
|
||||||
%{_bindir}/scriptlive
|
|
||||||
%{_bindir}/scriptreplay
|
|
||||||
%{_mandir}/man1/script.1*
|
|
||||||
%{_mandir}/man1/scriptlive.1*
|
|
||||||
%{_mandir}/man1/scriptreplay.1*
|
|
||||||
%{compldir}/script
|
|
||||||
%{compldir}/scriptlive
|
|
||||||
%{compldir}/scriptreplay
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
%autochangelog
|
%autochangelog
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue