Compare commits

..

2 Commits
rawhide ... f34

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek 67e0742bad Make changelog chronological again 2021-04-21 17:04:56 +02:00
Karel Zak 73e880a882 2.36.2-1: upgrade 2021-02-12 16:15:51 +01:00
6 changed files with 613 additions and 292 deletions

10
.gitignore vendored
View File

@ -80,13 +80,3 @@
/util-linux-2.36.tar.xz
/util-linux-2.36.1.tar.xz
/util-linux-2.36.2.tar.xz
/util-linux-2.37-rc2.tar.xz
/util-linux-2.37.tar.xz
/util-linux-2.37.2.tar.xz
/util-linux-2.38-rc1.tar.xz
/util-linux-2.38-rc3.tar.xz
/util-linux-2.38.tar.xz
/util-linux-2.38.1.tar.xz
/util-linux-2.39-rc1.tar.xz
/util-linux-2.39-rc2.tar.xz
/util-linux-2.39-rc3.tar.xz

View File

@ -0,0 +1,396 @@
From 57898c3a7ee8fc5933cddd4526bb3980bef85a02 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Tue, 1 Sep 2020 10:15:14 +0200
Subject: [PATCH] libmount: remove read-mountinfo workaround
This workaround has been introduced by
http://github.com/karelzak/util-linux/commit/e4925f591c1bfb83719418b56b952830d15b77eb
And originally requested by https://github.com/systemd/systemd/issues/10872
It seems we do not need it anymore as the problem should be fixed in kernel since 5.8
(kernel commit 9f6c61f96f2d97cbb5f7fa85607bc398f843ff0f).
Note that the libmount solution is very expensive as it repeats read()
many times (until we get consistent result) if kernel is busy with
mount table modification. This behaviour makes events management in
systemd (or other places) pretty difficult as read mountinfo takes
time on busy systems.
Addresses: https://github.com/systemd/systemd/pull/16537
Signed-off-by: Karel Zak <kzak@redhat.com>
---
configure.ac | 1 -
libmount/src/mountP.h | 2 -
libmount/src/tab_parse.c | 87 ++++----------------
libmount/src/utils.c | 166 ---------------------------------------
4 files changed, 15 insertions(+), 241 deletions(-)
diff --git a/configure.ac b/configure.ac
index 2d178f3af..1e31ca3e2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -504,7 +504,6 @@ AC_CHECK_FUNCS([ \
err \
errx \
explicit_bzero \
- fmemopen \
fsync \
utimensat \
getdomainname \
diff --git a/libmount/src/mountP.h b/libmount/src/mountP.h
index d8ba0abad..ee97c6b4a 100644
--- a/libmount/src/mountP.h
+++ b/libmount/src/mountP.h
@@ -98,7 +98,6 @@ extern int mnt_valid_tagname(const char *tagname);
extern int append_string(char **a, const char *b);
extern const char *mnt_statfs_get_fstype(struct statfs *vfs);
-extern int is_procfs_fd(int fd);
extern int is_file_empty(const char *name);
extern int mnt_is_readonly(const char *path)
@@ -124,7 +123,6 @@ extern void mnt_free_filesystems(char **filesystems);
extern char *mnt_get_kernel_cmdline_option(const char *name);
extern int mnt_stat_mountpoint(const char *target, struct stat *st);
extern int mnt_lstat_mountpoint(const char *target, struct stat *st);
-extern FILE *mnt_get_procfs_memstream(int fd, char **membuf);
/* tab.c */
extern int is_mountinfo(struct libmnt_table *tb);
diff --git a/libmount/src/tab_parse.c b/libmount/src/tab_parse.c
index 329987bcb..ac12dce54 100644
--- a/libmount/src/tab_parse.c
+++ b/libmount/src/tab_parse.c
@@ -694,7 +694,15 @@ static int kernel_fs_postparse(struct libmnt_table *tb,
return rc;
}
-static int __table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename)
+/**
+ * mnt_table_parse_stream:
+ * @tb: tab pointer
+ * @f: file stream
+ * @filename: filename used for debug and error messages
+ *
+ * Returns: 0 on success, negative number in case of error.
+ */
+int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename)
{
int rc = -1;
int flags = 0;
@@ -773,40 +781,6 @@ err:
return rc;
}
-/**
- * mnt_table_parse_stream:
- * @tb: tab pointer
- * @f: file stream
- * @filename: filename used for debug and error messages
- *
- * Returns: 0 on success, negative number in case of error.
- */
-int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename)
-{
- int fd, rc;
- FILE *memf = NULL;
- char *membuf = NULL;
-
- /*
- * For /proc/#/{mountinfo,mount} we read all file to memory and use it
- * as memory stream. For more details see mnt_read_procfs_file().
- */
- if ((fd = fileno(f)) >= 0
- && (tb->fmt == MNT_FMT_GUESS ||
- tb->fmt == MNT_FMT_MOUNTINFO ||
- tb->fmt == MNT_FMT_MTAB)
- && is_procfs_fd(fd)
- && (memf = mnt_get_procfs_memstream(fd, &membuf))) {
-
- rc = __table_parse_stream(tb, memf, filename);
- fclose(memf);
- free(membuf);
- } else
- rc = __table_parse_stream(tb, f, filename);
-
- return rc;
-}
-
/**
* mnt_table_parse_file:
* @tb: tab pointer
@@ -822,49 +796,18 @@ int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filenam
int mnt_table_parse_file(struct libmnt_table *tb, const char *filename)
{
FILE *f;
- int rc, fd = -1;
+ int rc;
if (!filename || !tb)
return -EINVAL;
- /*
- * Try to use read()+poll() to realiably read all
- * /proc/#/{mount,mountinfo} file to memory
- */
- if (tb->fmt != MNT_FMT_SWAPS
- && strncmp(filename, "/proc/", 6) == 0) {
-
- FILE *memf;
- char *membuf = NULL;
-
- fd = open(filename, O_RDONLY|O_CLOEXEC);
- if (fd < 0) {
- rc = -errno;
- goto done;
- }
- memf = mnt_get_procfs_memstream(fd, &membuf);
- if (memf) {
- rc = __table_parse_stream(tb, memf, filename);
-
- fclose(memf);
- free(membuf);
- close(fd);
- goto done;
- }
- /* else fallback to fopen/fdopen() */
- }
-
- if (fd >= 0)
- f = fdopen(fd, "r" UL_CLOEXECSTR);
- else
- f = fopen(filename, "r" UL_CLOEXECSTR);
-
+ f = fopen(filename, "r" UL_CLOEXECSTR);
if (f) {
- rc = __table_parse_stream(tb, f, filename);
+ rc = mnt_table_parse_stream(tb, f, filename);
fclose(f);
} else
rc = -errno;
-done:
+
DBG(TAB, ul_debugobj(tb, "parsing done [filename=%s, rc=%d]", filename, rc));
return rc;
}
@@ -921,7 +864,7 @@ static int __mnt_table_parse_dir(struct libmnt_table *tb, const char *dirname)
f = fopen_at(dd, d->d_name, O_RDONLY|O_CLOEXEC, "r" UL_CLOEXECSTR);
if (f) {
- __table_parse_stream(tb, f, d->d_name);
+ mnt_table_parse_stream(tb, f, d->d_name);
fclose(f);
}
}
@@ -962,7 +905,7 @@ static int __mnt_table_parse_dir(struct libmnt_table *tb, const char *dirname)
f = fopen_at(dirfd(dir), d->d_name,
O_RDONLY|O_CLOEXEC, "r" UL_CLOEXECSTR);
if (f) {
- __table_parse_stream(tb, f, d->d_name);
+ mnt_table_parse_stream(tb, f, d->d_name);
fclose(f);
}
}
diff --git a/libmount/src/utils.c b/libmount/src/utils.c
index 92829ebb0..40b45f11d 100644
--- a/libmount/src/utils.c
+++ b/libmount/src/utils.c
@@ -19,7 +19,6 @@
#include <fcntl.h>
#include <pwd.h>
#include <grp.h>
-#include <poll.h>
#include <blkid.h>
#include "strutils.h"
@@ -448,13 +447,6 @@ const char *mnt_statfs_get_fstype(struct statfs *vfs)
return NULL;
}
-int is_procfs_fd(int fd)
-{
- struct statfs sfs;
-
- return fstatfs(fd, &sfs) == 0 && sfs.f_type == STATFS_PROC_MAGIC;
-}
-
/**
* mnt_match_fstype:
* @type: filesystem type
@@ -1174,164 +1166,7 @@ done:
return 1;
}
-#if defined(HAVE_FMEMOPEN) || defined(TEST_PROGRAM)
-
-/*
- * This function tries to minimize possible races when we read
- * /proc/#/{mountinfo,mount} files.
- *
- * The idea is to minimize number of read()s and check by poll() that during
- * the read the mount table has not been modified. If yes, than re-read it
- * (with some limitations to avoid never ending loop).
- *
- * Returns: <0 error, 0 success, 1 too many attempts
- */
-static int read_procfs_file(int fd, char **buf, size_t *bufsiz)
-{
- size_t bufmax = 0;
- int rc = 0, tries = 0, ninters = 0;
- char *bufptr = NULL;
-
- assert(buf);
- assert(bufsiz);
-
- *bufsiz = 0;
- *buf = NULL;
-
- do {
- ssize_t ret;
-
- if (!bufptr || bufmax == *bufsiz) {
- char *tmp;
-
- bufmax = bufmax ? bufmax * 2 : (16 * 1024);
- tmp = realloc(*buf, bufmax);
- if (!tmp)
- break;
- *buf = tmp;
- bufptr = tmp + *bufsiz;
- }
-
- errno = 0;
- ret = read(fd, bufptr, bufmax - *bufsiz);
-
- if (ret < 0) {
- /* error */
- if ((errno == EAGAIN || errno == EINTR) && (ninters++ < 5)) {
- xusleep(200000);
- continue;
- }
- break;
-
- } if (ret > 0) {
- /* success -- verify no event during read */
- struct pollfd fds[] = {
- { .fd = fd, .events = POLLPRI }
- };
-
- rc = poll(fds, 1, 0);
- if (rc < 0)
- break; /* poll() error */
- if (rc > 0) {
- /* event -- read all again */
- if (lseek(fd, 0, SEEK_SET) != 0)
- break;
- *bufsiz = 0;
- bufptr = *buf;
- tries++;
-
- if (tries > 10)
- /* busy system? -- wait */
- xusleep(10000);
- continue;
- }
-
- /* successful read() without active poll() */
- (*bufsiz) += (size_t) ret;
- bufptr += ret;
- tries = ninters = 0;
- } else {
- /* end-of-file */
- goto success;
- }
- } while (tries <= 100);
-
- rc = errno ? -errno : 1;
- free(*buf);
- return rc;
-
-success:
- return 0;
-}
-
-/*
- * Create FILE stream for data from read_procfs_file()
- */
-FILE *mnt_get_procfs_memstream(int fd, char **membuf)
-{
- size_t sz = 0;
- off_t cur;
-
- *membuf = NULL;
-
- /* in case of error, rewind to the original position */
- cur = lseek(fd, 0, SEEK_CUR);
-
- if (read_procfs_file(fd, membuf, &sz) == 0 && sz > 0) {
- FILE *memf = fmemopen(*membuf, sz, "r");
- if (memf)
- return memf; /* success */
-
- free(*membuf);
- *membuf = NULL;
- }
-
- /* error */
- if (cur != (off_t) -1)
- lseek(fd, cur, SEEK_SET);
- return NULL;
-}
-#else
-FILE *mnt_get_procfs_memstream(int fd __attribute((__unused__)),
- char **membuf __attribute((__unused__)))
-{
- return NULL;
-}
-#endif /* HAVE_FMEMOPEN */
-
-
#ifdef TEST_PROGRAM
-static int test_proc_read(struct libmnt_test *ts, int argc, char *argv[])
-{
- char *buf = NULL;
- char *filename = argv[1];
- size_t bufsiz = 0;
- int rc = 0, fd = open(filename, O_RDONLY);
-
- if (fd <= 0) {
- warn("%s: cannot open", filename);
- return -errno;
- }
-
- rc = read_procfs_file(fd, &buf, &bufsiz);
- close(fd);
-
- switch (rc) {
- case 0:
- fwrite(buf, 1, bufsiz, stdout);
- free(buf);
- break;
- case 1:
- warnx("too many attempts");
- break;
- default:
- warn("%s: cannot read", filename);
- break;
- }
-
- return rc;
-}
-
static int test_match_fstype(struct libmnt_test *ts, int argc, char *argv[])
{
char *type = argv[1];
@@ -1513,7 +1348,6 @@ int main(int argc, char *argv[])
{ "--guess-root", test_guess_root, "[<maj:min>]" },
{ "--mkdir", test_mkdir, "<path>" },
{ "--statfs-type", test_statfs_type, "<path>" },
- { "--read-procfs", test_proc_read, "<path>" },
{ NULL }
};
--
2.25.4

View File

@ -1 +1 @@
SHA512 (util-linux-2.39-rc3.tar.xz) = 8a93d32a5ceb38d50a4b2c8bfa48bcab7ec9b758c89b5a1a4f7fd74558dce37385bd7ea203345148d4389de4ea60ec42058f9d7889a8075d3e616773d085427e
SHA512 (util-linux-2.36.2.tar.xz) = 6ab141f44ca4cb6b600081f10eae17e15d23abd122a37eb3ac6c845513a6a4396dc9dcff30b3032de80116ddde50e27dfbc86f92708c1051f84f0c919194664b

8
util-linux-60-raw.rules Normal file
View File

@ -0,0 +1,8 @@
#
# Enter raw device bindings here.
#
# An example would be:
# ACTION=="add", KERNEL=="sda", RUN+="/usr/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
# ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/usr/bin/raw /dev/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor 1.

View File

@ -1,19 +1,19 @@
### Header
Summary: Collection of basic system utilities
Summary: A collection of basic system utilities
Name: util-linux
Version: 2.39
Release: 0.5%{?dist}
Version: 2.36.2
Release: 1%{?dist}
License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain
URL: https://en.wikipedia.org/wiki/Util-linux
URL: http://en.wikipedia.org/wiki/Util-linux
### Macros
%global upstream_version %{version}-rc3
%global upstream_major %(eval echo %{version} | sed -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/')
%define upstream_version %{version}
%define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/')
%global compldir %{_datadir}/bash-completion/completions/
%define compldir %{_datadir}/bash-completion/completions/
%global pypkg python3
%global pyver 3
%define pypkg python3
%define pyver 3
### Dependencies
BuildRequires: make
@ -26,29 +26,32 @@ BuildRequires: pam-devel
BuildRequires: zlib-devel
BuildRequires: popt-devel
BuildRequires: libutempter-devel
BuildRequires: systemd-devel
Buildrequires: systemd-devel
BuildRequires: systemd
BuildRequires: libuser-devel
Buildrequires: libuser-devel
BuildRequires: libcap-ng-devel
BuildRequires: %{pypkg}-devel
BuildRequires: pcre2-devel
BuildRequires: gcc
BuildRequires: rubygem-asciidoctor
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
%ifarch ppc64le
BuildRequires: librtas-devel
%endif
# enable if make changes to build-system
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: bison
#BuildRequires: autoconf
#BuildRequires: automake
#BuildRequires: libtool
#BuildRequires: bison
### Sources
Source0: https://www.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/util-linux-%{upstream_version}.tar.xz
Source0: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/util-linux-%{upstream_version}.tar.xz
Source1: util-linux-login.pamd
Source2: util-linux-remote.pamd
Source3: util-linux-chsh-chfn.pamd
Source4: uuidd-tmpfiles.conf
Source4: util-linux-60-raw.rules
Source5: adjtime
Source12: util-linux-su.pamd
Source13: util-linux-su-l.pamd
@ -66,15 +69,28 @@ Provides: eject = 2.1.6
# rfkill has been merged into util-linux v2.31
Obsoletes: rfkill <= 0.5
Provides: rfkill = 0.5
# hardlink has been merged into util-linux v2.34
Obsoletes: hardlink <= 1:1.3-9
Provides: hardlink = 1:1.3-9
# sulogin, utmpdump merged into util-linux v2.22;
# last, lastb merged into util-linux v2.24
Conflicts: sysvinit-tools < 2.88-14
# old versions of e2fsprogs contain fsck, uuidgen
Conflicts: e2fsprogs < 1.41.8-5
# rename from util-linux-ng back to util-linux
Obsoletes: util-linux-ng < 2.19
Provides: util-linux-ng = %{version}-%{release}
Conflicts: filesystem < 3
Provides: /sbin/nologin
Provides: /bin/dmesg
Provides: /bin/kill
Provides: /bin/more
Provides: /bin/mount
Provides: /bin/umount
Provides: /sbin/blkid
Provides: /sbin/blockdev
Provides: /sbin/findfs
Provides: /sbin/fsck
Provides: /sbin/nologin
Requires(post): coreutils
Requires: pam >= 1.1.3-7, /etc/pam.d/system-auth
@ -84,51 +100,27 @@ Requires: libblkid = %{version}-%{release}
Requires: libmount = %{version}-%{release}
Requires: libsmartcols = %{version}-%{release}
Requires: libfdisk = %{version}-%{release}
Requires: util-linux-core = %{version}-%{release}
### Ready for upstream?
###
# 151635 - makeing /var/log/lastlog
Patch0: login-lastlog-create.patch
# https://github.com/karelzak/util-linux/commit/57898c3a7ee8fc5933cddd4526bb3980bef85a02
# The workaround is unnecessary on Fedora with kernel >= 5.8.
Patch1: libmount-remove-read-mountinfo-workaround.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
Patch2: login-default-motd-file.patch
%description
The util-linux package contains a large variety of low-level system
utilities that are necessary for a Linux system to function. Among
others, util-linux contains the fdisk configuration tool and the login
others, Util-linux contains the fdisk configuration tool and the login
program.
%package -n util-linux-core
Summary: The most essential utilities from the util-linux suite
License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain
Provides: /bin/dmesg
Provides: /bin/kill
Provides: /bin/more
Provides: /bin/mount
Provides: /bin/umount
Provides: /sbin/blkid
Provides: /sbin/blockdev
Provides: /sbin/fsck
# hardlink has been merged into util-linux v2.34
Obsoletes: hardlink <= 1:1.3-9
Provides: hardlink = 1:1.3-9
Requires: libuuid = %{version}-%{release}
Requires: libblkid = %{version}-%{release}
Requires: libmount = %{version}-%{release}
Requires: libsmartcols = %{version}-%{release}
# old versions of e2fsprogs contain fsck, uuidgen
Conflicts: e2fsprogs < 1.41.8-5
%description -n util-linux-core
This is a very basic set of Linux utilities that is necessary on
minimal installations.
%package -n libfdisk
Summary: Partitioning library for fdisk-like programs
Summary: Partitioning library for fdisk-like programs.
License: LGPLv2+
%description -n libfdisk
@ -136,9 +128,9 @@ This is library for fdisk-like programs, part of util-linux.
%package -n libfdisk-devel
Summary: Partitioning library for fdisk-like programs
Summary: Partitioning library for fdisk-like programs.
License: LGPLv2+
Requires: libfdisk%{?_isa} = %{version}-%{release}
Requires: libfdisk = %{version}-%{release}
Requires: pkgconfig
%description -n libfdisk-devel
@ -147,7 +139,7 @@ part of util-linux.
%package -n libsmartcols
Summary: Formatting library for ls-like programs
Summary: Formatting library for ls-like programs.
License: LGPLv2+
%description -n libsmartcols
@ -155,9 +147,9 @@ This is library for ls-like terminal programs, part of util-linux.
%package -n libsmartcols-devel
Summary: Formatting library for ls-like programs
Summary: Formatting library for ls-like programs.
License: LGPLv2+
Requires: libsmartcols%{?_isa} = %{version}-%{release}
Requires: libsmartcols = %{version}-%{release}
Requires: pkgconfig
%description -n libsmartcols-devel
@ -168,8 +160,8 @@ part of util-linux.
%package -n libmount
Summary: Device mounting library
License: LGPLv2+
Requires: libblkid%{?_isa} = %{version}-%{release}
Requires: libuuid%{?_isa} = %{version}-%{release}
Requires: libblkid = %{version}-%{release}
Requires: libuuid = %{version}-%{release}
Conflicts: filesystem < 3
%description -n libmount
@ -179,7 +171,7 @@ This is the device mounting library, part of util-linux.
%package -n libmount-devel
Summary: Device mounting library
License: LGPLv2+
Requires: libmount%{?_isa} = %{version}-%{release}
Requires: libmount = %{version}-%{release}
Requires: pkgconfig
%description -n libmount-devel
@ -190,8 +182,9 @@ part of util-linux.
%package -n libblkid
Summary: Block device ID library
License: LGPLv2+
Requires: libuuid%{?_isa} = %{version}-%{release}
Requires: libuuid = %{version}-%{release}
Conflicts: filesystem < 3
Requires(post): coreutils
%description -n libblkid
This is block device identification library, part of util-linux.
@ -200,7 +193,7 @@ This is block device identification library, part of util-linux.
%package -n libblkid-devel
Summary: Block device ID library
License: LGPLv2+
Requires: libblkid%{?_isa} = %{version}-%{release}
Requires: libblkid = %{version}-%{release}
Requires: pkgconfig
%description -n libblkid-devel
@ -228,7 +221,7 @@ See also the "uuid" package, which is a separate implementation.
%package -n libuuid-devel
Summary: Universally unique ID library
License: BSD
Requires: libuuid%{?_isa} = %{version}-%{release}
Requires: libuuid = %{version}-%{release}
Requires: pkgconfig
%description -n libuuid-devel
@ -262,7 +255,7 @@ SMP systems.
%package -n %{pypkg}-libmount
Summary: Python bindings for the libmount library
Requires: libmount%{?_isa} = %{version}-%{release}
Requires: libmount = %{version}-%{release}
License: LGPLv2+
%description -n %{pypkg}-libmount
@ -273,12 +266,12 @@ mountinfo, etc) and mount filesystems.
%package -n util-linux-user
Summary: util-linux utilities based on libuser
Summary: libuser based util-linux utilities
Requires: util-linux = %{version}-%{release}
License: GPLv2
%description -n util-linux-user
chfn and chsh utilities with dependence on libuser.
chfn and chsh utilities with dependence on libuser
%prep
@ -287,10 +280,6 @@ chfn and chsh utilities with dependence on libuser.
%build
unset LINGUAS || :
# enable only when make a change to the build-system
#./autogen.sh
export CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 $RPM_OPT_FLAGS"
export SUID_CFLAGS="-fpie"
export SUID_LDFLAGS="-pie -Wl,-z,relro -Wl,-z,now"
@ -304,10 +293,8 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS"
--enable-chfn-chsh \
--enable-usrdir-path \
--enable-write \
--disable-raw \
--enable-raw \
--enable-hardlink \
--enable-fdformat \
--enable-asciidoc \
--with-python=%{pyver} \
--with-systemd \
--with-udev \
@ -331,17 +318,32 @@ make check
%install
rm -rf ${RPM_BUILD_ROOT}
mkdir -p ${RPM_BUILD_ROOT}%{_bindir}
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man{1,6,8,5}
mkdir -p ${RPM_BUILD_ROOT}%{_sbindir}
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/{pam.d,security/console.apps}
mkdir -p ${RPM_BUILD_ROOT}%{_tmpfilesdir}/tmpfiles.d
mkdir -p ${RPM_BUILD_ROOT}/var/log
touch ${RPM_BUILD_ROOT}/var/log/lastlog
chmod 0644 ${RPM_BUILD_ROOT}/var/log/lastlog
# install util-linux
%make_install
# raw
echo '.so man8/raw.8' > $RPM_BUILD_ROOT%{_mandir}/man8/rawdevices.8
{
# see RH bugzilla #216664
mkdir -p ${RPM_BUILD_ROOT}%{_prefix}/lib/udev/rules.d
pushd ${RPM_BUILD_ROOT}%{_prefix}/lib/udev/rules.d
install -m 644 %{SOURCE4} ./60-raw.rules
popd
}
# sbin -> bin
mv ${RPM_BUILD_ROOT}%{_sbindir}/raw ${RPM_BUILD_ROOT}%{_bindir}/raw
# And a dirs uuidd needs that the makefiles don't create
install -m 644 %{SOURCE4} ${RPM_BUILD_ROOT}%{_tmpfilesdir}/uuidd.conf
install -d ${RPM_BUILD_ROOT}/run/uuidd
install -d ${RPM_BUILD_ROOT}/var/lib/libuuid
@ -401,9 +403,9 @@ done
%endif
# we install getopt-*.{bash,tcsh} by doc directive
#chmod 644 misc-utils/getopt-*.{bash,tcsh}
#rm -f ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt/*
#rmdir ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt
chmod 644 misc-utils/getopt-*.{bash,tcsh}
rm -f ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt/*
rmdir ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt
ln -sf ../proc/self/mounts %{buildroot}/etc/mtab
@ -428,6 +430,37 @@ find $RPM_BUILD_ROOT%{_mandir}/man8 -regextype posix-egrep \
-regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|uname26)\.8.*" \
-printf "%{_mandir}/man8/%f*\n" >> %{name}.files
%post
# only for minimal buildroots without /var/log
[ -d /var/log ] || mkdir -p /var/log
touch /var/log/lastlog
chown root:root /var/log/lastlog
chmod 0644 /var/log/lastlog
# Fix the file context, do not use restorecon
if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
SECXT=$( /usr/sbin/matchpathcon -n /var/log/lastlog 2> /dev/null )
if [ -n "$SECXT" ]; then
# Selinux enabled, but without policy? It's true for buildroots
# without selinux stuff on host machine with enabled selinux.
# We don't want to use any RPM dependence on selinux policy for
# matchpathcon(2). SELinux policy should be optional.
/usr/bin/chcon "$SECXT" /var/log/lastlog >/dev/null 2>&1 || :
fi
fi
if [ ! -L /etc/mtab ]; then
ln -sf ../proc/self/mounts /etc/mtab || :
fi
%post -n libblkid
### Move blkid cache to /run
[ -d /run/blkid ] || mkdir -p /run/blkid
for I in /etc/blkid.tab /etc/blkid.tab.old \
/etc/blkid/blkid.tab /etc/blkid/blkid.tab.old; do
if [ -f "$I" ]; then
mv "$I" /run/blkid/ || :
fi
done
%pre -n uuidd
getent group uuidd >/dev/null || groupadd -r uuidd
@ -462,6 +495,7 @@ fi
%files -f %{name}.files
%doc README NEWS AUTHORS
%doc Documentation/deprecated.txt
%{!?_licensedir:%global license %%doc}
%license Documentation/licenses/*
%doc misc-utils/getopt-*.{bash,tcsh}
@ -471,36 +505,51 @@ fi
%config(noreplace) %{_sysconfdir}/pam.d/su-l
%config(noreplace) %{_sysconfdir}/pam.d/runuser
%config(noreplace) %{_sysconfdir}/pam.d/runuser-l
%config(noreplace) %{_prefix}/lib/udev/rules.d/60-raw.rules
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/adjtime
%attr(4755,root,root) %{_bindir}/mount
%attr(4755,root,root) %{_bindir}/umount
%attr(4755,root,root) %{_bindir}/su
%attr(755,root,root) %{_bindir}/login
%attr(2755,root,tty) %{_bindir}/write
%ghost %attr(0644,root,root) %verify(not md5 size mtime) /var/log/lastlog
%ghost %verify(not md5 size mtime) %config(noreplace,missingok) /etc/mtab
%{_unitdir}/fstrim.*
%{_bindir}/cal
%{_bindir}/chmem
%{_bindir}/choom
%{_bindir}/chrt
%{_bindir}/col
%{_bindir}/colcrt
%{_bindir}/colrm
%{_bindir}/column
%{_bindir}/dmesg
%{_bindir}/eject
%{_bindir}/fallocate
%{_bindir}/fincore
%{_bindir}/fadvise
%{_bindir}/findmnt
%{_bindir}/flock
%{_bindir}/getopt
%{_bindir}/hardlink
%{_bindir}/hexdump
%{_bindir}/ionice
%{_bindir}/ipcmk
%{_bindir}/ipcrm
%{_bindir}/ipcs
%{_bindir}/irqtop
%{_bindir}/isosize
%{_bindir}/kill
%{_bindir}/last
%{_bindir}/lastb
%{_bindir}/logger
%{_bindir}/look
%{_bindir}/lsblk
%{_bindir}/lscpu
%{_bindir}/lsfd
%{_bindir}/lsipc
%{_bindir}/lsirq
%{_bindir}/lslocks
@ -509,98 +558,125 @@ fi
%{_bindir}/lsns
%{_bindir}/mcookie
%{_bindir}/mesg
%{_bindir}/more
%{_bindir}/mountpoint
%{_bindir}/namei
%{_bindir}/pipesz
%{_bindir}/nsenter
%{_bindir}/prlimit
%{_bindir}/raw
%{_bindir}/rename
%{_bindir}/renice
%{_bindir}/rev
%{_bindir}/script
%{_bindir}/scriptlive
%{_bindir}/scriptreplay
%{_bindir}/setarch
%{_bindir}/setpriv
%{_bindir}/setsid
%{_bindir}/setterm
%{_bindir}/uclampset
%{_bindir}/taskset
%{_bindir}/ul
%{_bindir}/unshare
%{_bindir}/utmpdump
%{_bindir}/uuidgen
%{_bindir}/uuidparse
%{_bindir}/waitpid
%{_bindir}/wall
%{_bindir}/wdctl
%{_bindir}/whereis
%{_mandir}/man1/cal.1*
%{_mandir}/man1/choom.1*
%{_mandir}/man1/chrt.1*
%{_mandir}/man1/col.1*
%{_mandir}/man1/colcrt.1*
%{_mandir}/man1/colrm.1*
%{_mandir}/man1/column.1*
%{_mandir}/man1/dmesg.1*
%{_mandir}/man1/eject.1*
%{_mandir}/man1/fadvise.1.*
%{_mandir}/man1/fallocate.1*
%{_mandir}/man1/fincore.1*
%{_mandir}/man1/flock.1*
%{_mandir}/man1/getopt.1*
%{_mandir}/man1/hardlink.1*
%{_mandir}/man1/hexdump.1*
%{_mandir}/man1/ionice.1*
%{_mandir}/man1/ipcmk.1*
%{_mandir}/man1/ipcrm.1*
%{_mandir}/man1/ipcs.1*
%{_mandir}/man1/irqtop.1*
%{_mandir}/man1/kill.1*
%{_mandir}/man1/last.1*
%{_mandir}/man1/lastb.1*
%{_mandir}/man1/logger.1*
%{_mandir}/man1/login.1*
%{_mandir}/man1/look.1*
%{_mandir}/man1/lscpu.1*
%{_mandir}/man1/lsfd.1*
%{_mandir}/man1/lsipc.1*
%{_mandir}/man1/lsirq.1*
%{_mandir}/man1/lslogins.1*
%{_mandir}/man1/lsmem.1*
%{_mandir}/man1/mcookie.1*
%{_mandir}/man1/mesg.1*
%{_mandir}/man1/more.1*
%{_mandir}/man1/mountpoint.1*
%{_mandir}/man1/namei.1*
%{_mandir}/man1/pipesz.1.*
%{_mandir}/man1/nsenter.1*
%{_mandir}/man1/prlimit.1*
%{_mandir}/man1/rename.1*
%{_mandir}/man1/renice.1*
%{_mandir}/man1/rev.1*
%{_mandir}/man1/runuser.1*
%{_mandir}/man1/script.1*
%{_mandir}/man1/scriptlive.1*
%{_mandir}/man1/scriptreplay.1*
%{_mandir}/man1/setpriv.1*
%{_mandir}/man1/setsid.1*
%{_mandir}/man1/setterm.1*
%{_mandir}/man1/su.1*
%{_mandir}/man1/uclampset.1.*
%{_mandir}/man1/taskset.1*
%{_mandir}/man1/ul.1*
%{_mandir}/man1/unshare.1*
%{_mandir}/man1/utmpdump.1.gz
%{_mandir}/man1/uuidgen.1*
%{_mandir}/man1/uuidparse.1*
%{_mandir}/man1/waitpid.1.*
%{_mandir}/man1/wall.1*
%{_mandir}/man1/whereis.1*
%{_mandir}/man1/write.1*
%{_mandir}/man5/fstab.5*
%{_mandir}/man5/terminal-colors.d.5*
%{_mandir}/man8/addpart.8*
%{_mandir}/man8/agetty.8*
%{_mandir}/man8/blkdiscard.8*
%{_mandir}/man8/blkpr.8.*
%{_mandir}/man8/blkid.8*
%{_mandir}/man8/blkzone.8*
%{_mandir}/man8/blockdev.8*
%{_mandir}/man8/chcpu.8*
%{_mandir}/man8/chmem.8*
%{_mandir}/man8/ctrlaltdel.8*
%{_mandir}/man8/delpart.8*
%{_mandir}/man8/fdisk.8*
%{_mandir}/man8/findfs.8*
%{_mandir}/man8/findmnt.8*
%{_mandir}/man8/fsck.8*
%{_mandir}/man8/fsck.cramfs.8*
%{_mandir}/man8/fsck.minix.8*
%{_mandir}/man8/fsfreeze.8*
%{_mandir}/man8/fstrim.8*
%{_mandir}/man8/isosize.8*
%{_mandir}/man8/ldattach.8*
%{_mandir}/man8/losetup.8*
%{_mandir}/man8/lsblk.8*
%{_mandir}/man8/lslocks.8*
%{_mandir}/man8/lsns.8*
%{_mandir}/man8/mkfs.8*
%{_mandir}/man8/mkfs.cramfs.8*
%{_mandir}/man8/mkfs.minix.8*
%{_mandir}/man8/mkswap.8*
%{_mandir}/man8/mount.8*
%{_mandir}/man8/nologin.8*
%{_mandir}/man8/partx.8*
%{_mandir}/man8/pivot_root.8*
%{_mandir}/man8/raw.8*
%{_mandir}/man8/rawdevices.8*
%{_mandir}/man8/readprofile.8*
%{_mandir}/man8/resizepart.8*
%{_mandir}/man8/rfkill.8*
@ -608,27 +684,37 @@ fi
%{_mandir}/man8/setarch.8*
%{_mandir}/man8/sulogin.8.gz
%{_mandir}/man8/swaplabel.8*
%{_mandir}/man8/swapoff.8*
%{_mandir}/man8/swapon.8*
%{_mandir}/man8/switch_root.8*
%{_mandir}/man8/umount.8*
%{_mandir}/man8/wdctl.8.gz
%{_mandir}/man8/wipefs.8*
%{_mandir}/man8/zramctl.8*
%{_sbindir}/addpart
%{_sbindir}/agetty
%{_sbindir}/blkdiscard
%{_sbindir}/blkpr
%{_sbindir}/blkid
%{_sbindir}/blkzone
%{_sbindir}/blockdev
%{_sbindir}/chcpu
%{_sbindir}/ctrlaltdel
%{_sbindir}/delpart
%{_sbindir}/fdisk
%{_sbindir}/findfs
%{_sbindir}/fsck
%{_sbindir}/fsck.cramfs
%{_sbindir}/fsck.minix
%{_sbindir}/fsfreeze
%{_sbindir}/fstrim
%{_sbindir}/ldattach
%{_sbindir}/losetup
%{_sbindir}/mkfs
%{_sbindir}/mkfs.cramfs
%{_sbindir}/mkfs.minix
%{_sbindir}/mkswap
%{_sbindir}/nologin
%{_sbindir}/partx
%{_sbindir}/pivot_root
%{_sbindir}/readprofile
%{_sbindir}/resizepart
@ -637,38 +723,53 @@ fi
%{_sbindir}/runuser
%{_sbindir}/sulogin
%{_sbindir}/swaplabel
%{_sbindir}/swapoff
%{_sbindir}/swapon
%{_sbindir}/switch_root
%{_sbindir}/wipefs
%{_sbindir}/zramctl
%{compldir}/addpart
%{compldir}/blkdiscard
%{compldir}/blkid
%{compldir}/blkzone
%{compldir}/blockdev
%{compldir}/cal
%{compldir}/chcpu
%{compldir}/chmem
%{compldir}/chrt
%{compldir}/col
%{compldir}/colcrt
%{compldir}/colrm
%{compldir}/column
%{compldir}/ctrlaltdel
%{compldir}/delpart
%{compldir}/dmesg
%{compldir}/eject
%{compldir}/fallocate
%{compldir}/fdisk
%{compldir}/fincore
%{compldir}/findfs
%{compldir}/findmnt
%{compldir}/flock
%{compldir}/fsck
%{compldir}/fsck.cramfs
%{compldir}/fsck.minix
%{compldir}/fsfreeze
%{compldir}/fstrim
%{compldir}/getopt
%{compldir}/hexdump
%{compldir}/ionice
%{compldir}/ipcmk
%{compldir}/ipcrm
%{compldir}/ipcs
%{compldir}/irqtop
%{compldir}/isosize
%{compldir}/last
%{compldir}/lastb
%{compldir}/ldattach
%{compldir}/logger
%{compldir}/look
%{compldir}/losetup
%{compldir}/lsblk
%{compldir}/lscpu
%{compldir}/lsipc
@ -682,12 +783,18 @@ fi
%{compldir}/mkfs
%{compldir}/mkfs.cramfs
%{compldir}/mkfs.minix
%{compldir}/mkswap
%{compldir}/more
%{compldir}/mountpoint
%{compldir}/namei
%{compldir}/pipesz
%{compldir}/nsenter
%{compldir}/partx
%{compldir}/pivot_root
%{compldir}/prlimit
%{compldir}/raw
%{compldir}/readprofile
%{compldir}/rename
%{compldir}/renice
%{compldir}/resizepart
%{compldir}/rev
%{compldir}/rfkill
@ -698,11 +805,15 @@ fi
%{compldir}/scriptreplay
%{compldir}/setarch
%{compldir}/setpriv
%{compldir}/setsid
%{compldir}/setterm
%{compldir}/su
%{compldir}/swaplabel
%{compldir}/uclampset
%{compldir}/swapoff
%{compldir}/swapon
%{compldir}/taskset
%{compldir}/ul
%{compldir}/unshare
%{compldir}/utmpdump
%{compldir}/uuidgen
%{compldir}/uuidparse
@ -713,6 +824,7 @@ fi
%{compldir}/write
%{compldir}/zramctl
%ifnarch s390 s390x
%{_sbindir}/clock
%{_sbindir}/fdformat
@ -739,95 +851,6 @@ fi
%endif
%files -n util-linux-core
%attr(4755,root,root) %{_bindir}/mount
%attr(4755,root,root) %{_bindir}/umount
%{_bindir}/chrt
%{_bindir}/dmesg
%{_bindir}/findmnt
%{_bindir}/flock
%{_bindir}/hardlink
%{_bindir}/ionice
%{_bindir}/ipcmk
%{_bindir}/ipcrm
%{_bindir}/ipcs
%{_bindir}/kill
%{_bindir}/logger
%{_bindir}/more
%{_bindir}/mountpoint
%{_bindir}/nsenter
%{_bindir}/renice
%{_bindir}/setsid
%{_bindir}/taskset
%{_bindir}/unshare
%{compldir}/blkid
%{compldir}/blockdev
%{compldir}/chrt
%{compldir}/dmesg
%{compldir}/findmnt
%{compldir}/flock
%{compldir}/hardlink
%{compldir}/fsck
%{compldir}/ionice
%{compldir}/ipcmk
%{compldir}/ipcrm
%{compldir}/ipcs
%{compldir}/logger
%{compldir}/losetup
%{compldir}/mkswap
%{compldir}/more
%{compldir}/mountpoint
%{compldir}/nsenter
%{compldir}/partx
%{compldir}/renice
%{compldir}/setsid
%{compldir}/swapoff
%{compldir}/swapon
%{compldir}/taskset
%{compldir}/unshare
%{_mandir}/man1/chrt.1*
%{_mandir}/man1/dmesg.1*
%{_mandir}/man1/flock.1*
%{_mandir}/man1/hardlink.1*
%{_mandir}/man1/ionice.1*
%{_mandir}/man1/ipcmk.1*
%{_mandir}/man1/ipcrm.1*
%{_mandir}/man1/ipcs.1*
%{_mandir}/man1/kill.1*
%{_mandir}/man1/logger.1*
%{_mandir}/man1/more.1*
%{_mandir}/man1/mountpoint.1*
%{_mandir}/man1/nsenter.1*
%{_mandir}/man1/renice.1*
%{_mandir}/man1/setsid.1*
%{_mandir}/man1/taskset.1*
%{_mandir}/man1/unshare.1*
%{_mandir}/man8/agetty.8*
%{_mandir}/man8/blkid.8*
%{_mandir}/man8/blockdev.8*
%{_mandir}/man8/findmnt.8*
%{_mandir}/man8/fsck.8*
%{_mandir}/man8/losetup.8*
%{_mandir}/man8/mkswap.8*
%{_mandir}/man8/mount.8*
%{_mandir}/man8/partx.8*
%{_mandir}/man8/swapoff.8*
%{_mandir}/man8/swapon.8*
%{_mandir}/man8/switch_root.8*
%{_mandir}/man8/umount.8*
%{_sbindir}/agetty
%{_sbindir}/blkid
%{_sbindir}/blockdev
%{_sbindir}/fsck
%{_sbindir}/losetup
%{_sbindir}/mkswap
%{_sbindir}/partx
%{_sbindir}/swapoff
%{_sbindir}/swapon
%{_sbindir}/switch_root
/etc/mtab
%files -n util-linux-user
%config(noreplace) %{_sysconfdir}/pam.d/chfn
%config(noreplace) %{_sysconfdir}/pam.d/chsh
@ -840,6 +863,7 @@ fi
%files -n uuidd
%{!?_licensedir:%global license %%doc}
%license Documentation/licenses/COPYING.GPL-2.0-or-later
%{_mandir}/man8/uuidd.8*
%{_sbindir}/uuidd
@ -847,10 +871,10 @@ fi
%dir %attr(2775, uuidd, uuidd) /var/lib/libuuid
%dir %attr(2775, uuidd, uuidd) /run/uuidd
%{compldir}/uuidd
%{_tmpfilesdir}/uuidd.conf
%files -n libfdisk
%{!?_licensedir:%global license %%doc}
%license Documentation/licenses/COPYING.LGPL-2.1-or-later libfdisk/COPYING
%{_libdir}/libfdisk.so.*
@ -861,6 +885,7 @@ fi
%files -n libsmartcols
%{!?_licensedir:%global license %%doc}
%license Documentation/licenses/COPYING.LGPL-2.1-or-later libsmartcols/COPYING
%{_libdir}/libsmartcols.so.*
@ -871,6 +896,7 @@ fi
%files -n libmount
%{!?_licensedir:%global license %%doc}
%license Documentation/licenses/COPYING.LGPL-2.1-or-later libmount/COPYING
%{_libdir}/libmount.so.*
@ -893,6 +919,7 @@ fi
%files -n libuuid
%{!?_licensedir:%global license %%doc}
%license Documentation/licenses/COPYING.BSD-3-Clause libuuid/COPYING
%{_libdir}/libuuid.so.*
@ -914,110 +941,11 @@ fi
%{_libdir}/pkgconfig/uuid.pc
%files -n %{pypkg}-libmount
%{!?_licensedir:%global license %%doc}
%license Documentation/licenses/COPYING.LGPL-2.1-or-later libmount/COPYING
%{_libdir}/python*/site-packages/libmount/
%changelog
* Wed Apr 19 2023 Karel Zak <kzak@redhat.com> - 2.39-0.5
- upgrade to v2.39-rc3 (fixes XFS and rw/ro issues)
* Wed Apr 5 2023 Karel Zak <kzak@redhat.com> - 2.39-0.4
- fix #2180593 (superblock reconfiguration libmount issue)
* Tue Apr 4 2023 Karel Zak <kzak@redhat.com> - 2.39-0.3
- fix spec file
* Tue Apr 4 2023 Karel Zak <kzak@redhat.com> - 2.39-0.2
- upgrade to v2.39-rc2
* Mon Mar 20 2023 Karel Zak <kzak@redhat.com> - 2.39-0.1
- upgrade to v2.39-rc1
https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39-ReleaseNotes
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.38.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Dec 17 2022 Florian Weimer <fweimer@redhat.com> - 2.38.1-3
- Backport upstream patch to fix C99 issue in kill
* Mon Aug 22 2022 Karel Zak <kzak@redhat.com> - 2.38.1-2
- improve tmpfiles.d use in spec file
* Thu Aug 4 2022 Karel Zak <kzak@redhat.com> - 2.38.1-1
- upgrade to v2.38.1
https://kernel.org/pub/linux/utils/util-linux/v2.38/v2.38.1-ReleaseNotes
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.38-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 2.38-4
- Rebuilt for Python 3.11
* Wed Apr 13 2022 Karel Zak <kzak@redhat.com> - 2.38-3
- fix spec file changelog order
* Wed Mar 30 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.38-2
- simplify creation of /etc/mtab symlink
* Wed Mar 30 2022 Karel Zak <kzak@redhat.com> - 2.38-1
- upgrade to v2.38
- don't (re)generate build-system
- modernize spec file style (thanks to Zbigniew)
* Thu Mar 17 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.38-0.5
- Drop very old upgrade scriptlet for libblkid
* Wed Mar 16 2022 Karel Zak <kzak@redhat.com> - 2.38-0.4
- upgrade to v2.38-rc3
https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.38/v2.38-ReleaseNotes
* Wed Feb 2 2022 Karel Zak <kzak@redhat.com> - 2.38-0.3
- add /usr/lib/tmpfiles.d/uuidd.conf (based on #2047952)
* Wed Feb 2 2022 Karel Zak <kzak@redhat.com> - 2.38-0.2
- release ownership of /var/log/lastlog
* Mon Jan 31 2022 Karel Zak <kzak@redhat.com> - 2.38-0.1
- upgrade to v2.38-rc1
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.37.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Aug 17 2021 Karel Zak <kzak@redhat.com> - 2.37.2-1
* upgrade to v2.37.2
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.37-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jul 14 2021 Karel Zak <kzak@redhat.com> - 2.37-5
- remove unused util-linux-60-raw.rules
* Wed Jul 14 2021 Karel Zak <kzak@redhat.com> - 2.37-4
- disable raw(8) - no more supported since Linux v5.14 (commit 03e4922f1c81fc2ed3a87b4f91a8d3aafc7e093)
- remove dependence on deprecated pcre2posix.h
- fix #1981729 - close_range() 3rd argument
* Wed Jun 16 2021 Richard W.M. Jones <rjones@redhat.com> - 2.37-3
- Rebuild for updated pcre2
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.37-2
- Rebuilt for Python 3.10
* Tue Jun 1 2021 Karel Zak <kzak@redhat.com> - 2.37-1
- upgrade to v2.37
- introduce util-linux-core subpackage
* Fri May 14 2021 Karel Zak <kzak@redhat.com> - 2.37-0.1
- upgrade to v2.37-rc2
https://kernel.org/pub/linux/utils/util-linux/v2.37/v2.37-ReleaseNotes
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.36.2-3
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Tue Mar 2 2021 Karel Zak <kzak@redhat.com> - 2.36.2-2
- spec file cleanup https://src.fedoraproject.org/rpms/util-linux/pull-request/9
* Fri Feb 12 2021 Karel Zak <kzak@redhat.com> - 2.36.2-1
- upgrade to stable upstream 2.36.2
https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36.2-ReleaseNotes

View File

@ -1 +0,0 @@
d /run/uuidd 2775 uuidd uuidd