Compare commits
5 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d09fe3cb85 | ||
|
|
8698049432 | ||
|
|
87d3c9659e | ||
|
|
aee7ca0078 | ||
|
|
b901887754 |
9 changed files with 132 additions and 75 deletions
6
.gitignore
vendored
6
.gitignore
vendored
|
|
@ -101,8 +101,6 @@
|
|||
/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
|
||||
/util-linux-2.41.4.tar.xz
|
||||
/util-linux-2.41.5.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
|
||||
|
||||
89
0001-libmount-disable-EROFS-backing-file-support.patch
Normal file
89
0001-libmount-disable-EROFS-backing-file-support.patch
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
From 3b1b56c00b34e1d00349349a8a91d0add72ce97b Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Tue, 24 Jun 2025 10:56:58 +0200
|
||||
Subject: [PATCH] libmount: disable EROFS backing file support
|
||||
|
||||
Let's temporarily use the old reliable loop devices rather than directly
|
||||
mounting EROFS images. It seems some tools need to adapt to the change.
|
||||
See https://github.com/dracut-ng/dracut-ng/issues/1384
|
||||
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
libmount/src/context_mount.c | 35 -----------------------------------
|
||||
libmount/src/hook_loopdev.c | 7 -------
|
||||
2 files changed, 42 deletions(-)
|
||||
|
||||
diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c
|
||||
index fbb200708..4d6d53194 100644
|
||||
--- a/libmount/src/context_mount.c
|
||||
+++ b/libmount/src/context_mount.c
|
||||
@@ -961,24 +961,6 @@ int mnt_context_finalize_mount(struct libmnt_context *cxt)
|
||||
return rc;
|
||||
}
|
||||
|
||||
-static int is_erofs_regfile(struct libmnt_context *cxt)
|
||||
-{
|
||||
- const char *type = mnt_fs_get_fstype(cxt->fs);
|
||||
- const char *src = mnt_fs_get_srcpath(cxt->fs);
|
||||
- unsigned long flags = 0;
|
||||
- struct stat st;
|
||||
-
|
||||
- if (!type || strcmp(type, "erofs") != 0)
|
||||
- return 0;
|
||||
- if (mnt_context_get_user_mflags(cxt, &flags))
|
||||
- return 0;
|
||||
- if (flags & (MNT_MS_LOOP | MNT_MS_OFFSET | MNT_MS_SIZELIMIT))
|
||||
- return 0; /* it's already loopdev */
|
||||
- if (!src || stat(src, &st) != 0 || !S_ISREG(st.st_mode))
|
||||
- return 0;
|
||||
- return 1;
|
||||
-}
|
||||
-
|
||||
/**
|
||||
* mnt_context_mount:
|
||||
* @cxt: mount context
|
||||
@@ -1083,23 +1065,6 @@ again:
|
||||
}
|
||||
}
|
||||
|
||||
- /*
|
||||
- * Try mount EROFS image again with loop device.
|
||||
- * See hook_loopdev.c:is_loopdev_required() for more details.
|
||||
- */
|
||||
- if (rc && mnt_context_get_syscall_errno(cxt) == ENOTBLK
|
||||
- && is_erofs_regfile(cxt)) {
|
||||
- struct libmnt_optlist *ol = mnt_context_get_optlist(cxt);
|
||||
-
|
||||
- mnt_context_reset_status(cxt);
|
||||
- DBG(CXT, ul_debugobj(cxt, "enabling loop= for EROFS"));
|
||||
- mnt_optlist_append_flags(ol, MNT_MS_LOOP, cxt->map_userspace);
|
||||
-
|
||||
- rc = mnt_context_call_hooks(cxt, MNT_STAGE_PREP_SOURCE);
|
||||
- if (!rc)
|
||||
- goto again;
|
||||
- }
|
||||
-
|
||||
if (rc == 0)
|
||||
rc = mnt_context_call_hooks(cxt, MNT_STAGE_POST);
|
||||
|
||||
diff --git a/libmount/src/hook_loopdev.c b/libmount/src/hook_loopdev.c
|
||||
index 444d69d6f..29e181fe8 100644
|
||||
--- a/libmount/src/hook_loopdev.c
|
||||
+++ b/libmount/src/hook_loopdev.c
|
||||
@@ -468,13 +468,6 @@ static int is_loopdev_required(struct libmnt_context *cxt, struct libmnt_optlist
|
||||
}
|
||||
}
|
||||
|
||||
- /* The EROFS kernel driver can be compiled with EROFS_FS_BACKED_BY_FILE,
|
||||
- * allowing for the mounting of a regular file as a filesystem without
|
||||
- * a loop device.
|
||||
- */
|
||||
- if (type && strcmp(type, "erofs") == 0)
|
||||
- return 0;
|
||||
-
|
||||
/* Note that there is no restriction (on kernel side) that would
|
||||
* prevent a regular file as a mount(2) source argument. A filesystem
|
||||
* that is able to mount regular files could be implemented. For this
|
||||
--
|
||||
2.49.0
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
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);
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (util-linux-2.42.2.tar.xz) = 7415add0be2930654e322830808dde03ff6d511bd357f0679e6b6287a13ca79fe58ce4ac05edef86b76fb381b3a36ca2da9d3c31b5dc0a1d889c203156a57277
|
||||
SHA512 (util-linux-2.41.5.tar.xz) = 25e7e79e0f0a4711a15c16db05357755536cf4dc9c0ee28447d95f9bfc135f23075d434e107269a65148a8c16b37755e913aacbaec03a3bdce171a9e0a46bfe8
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
### Header
|
||||
Summary: Collection of basic system utilities
|
||||
Name: util-linux
|
||||
Version: 2.42.2
|
||||
Version: 2.41.5
|
||||
# -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
|
||||
|
|
@ -103,9 +103,17 @@ Provides: /usr/sbin/runuser
|
|||
Provides: /usr/sbin/sfdisk
|
||||
%endif
|
||||
|
||||
### Fedora specific patches
|
||||
Patch0: 0000-login-use-O_CREAT-on-lastlog.patch
|
||||
Patch1: 0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch
|
||||
### Ready for upstream?
|
||||
###
|
||||
# 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
|
||||
|
||||
# https://github.com/dracut-ng/dracut-ng/issues/1384
|
||||
# 2367956 - EROFS vs. the latest util-linux and kernel
|
||||
Patch2: 0001-libmount-disable-EROFS-backing-file-support.patch
|
||||
|
||||
%description
|
||||
The util-linux package contains a large variety of low-level system
|
||||
|
|
@ -553,7 +561,6 @@ fi
|
|||
%{_bindir}/colcrt
|
||||
%{_bindir}/colrm
|
||||
%{_bindir}/column
|
||||
%{_bindir}/copyfilerange
|
||||
%{_bindir}/coresched
|
||||
%{_bindir}/eject
|
||||
%{_bindir}/enosys
|
||||
|
|
@ -561,7 +568,6 @@ fi
|
|||
%{_bindir}/fallocate
|
||||
%{_bindir}/fincore
|
||||
%{_bindir}/fadvise
|
||||
%{_bindir}/getino
|
||||
%{_bindir}/getopt
|
||||
%{_bindir}/hexdump
|
||||
%{_bindir}/irqtop
|
||||
|
|
@ -611,7 +617,6 @@ 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*
|
||||
|
|
@ -619,7 +624,6 @@ fi
|
|||
%{_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*
|
||||
|
|
@ -721,21 +725,20 @@ fi
|
|||
%{_sbindir}/zramctl
|
||||
|
||||
%{compldir}/addpart
|
||||
%{compldir}/bits
|
||||
%{compldir}/blkdiscard
|
||||
%{compldir}/blkpr
|
||||
%{compldir}/blkzone
|
||||
%{compldir}/bits
|
||||
%{compldir}/blkpr
|
||||
%{compldir}/cal
|
||||
%{compldir}/chcpu
|
||||
%{compldir}/chfn
|
||||
%{compldir}/chmem
|
||||
%{compldir}/choom
|
||||
%{compldir}/chsh
|
||||
%{compldir}/col
|
||||
%{compldir}/choom
|
||||
%{compldir}/colcrt
|
||||
%{compldir}/colrm
|
||||
%{compldir}/column
|
||||
%{compldir}/copyfilerange
|
||||
%{compldir}/coresched
|
||||
%{compldir}/ctrlaltdel
|
||||
%{compldir}/delpart
|
||||
|
|
@ -751,7 +754,6 @@ fi
|
|||
%{compldir}/fsck.minix
|
||||
%{compldir}/fsfreeze
|
||||
%{compldir}/fstrim
|
||||
%{compldir}/getino
|
||||
%{compldir}/getopt
|
||||
%{compldir}/hexdump
|
||||
%{compldir}/irqtop
|
||||
|
|
@ -985,12 +987,10 @@ fi
|
|||
%{_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*
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue