diff --git a/.gitignore b/.gitignore index f2bff19..94ddde1 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ /util-linux-2.22.1.tar.xz /util-linux-2.22.2.tar.xz /util-linux-2.23-rc1.tar.xz +/util-linux-2.23-rc2.tar.xz diff --git a/0001-libblkid-fix-NTFS-prober-on-big-endian-machines.patch b/0001-libblkid-fix-NTFS-prober-on-big-endian-machines.patch deleted file mode 100644 index b469458..0000000 --- a/0001-libblkid-fix-NTFS-prober-on-big-endian-machines.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 45b048b340742402695741229f01b151cce871c9 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Wed, 27 Mar 2013 11:37:57 +0100 -Subject: [PATCH] libblkid: fix NTFS prober on big-endian machines - - MFT_RECORD_ATTR_VOLUME_NAME = cpu_to_le32(0x60), - ^ -./include/bitops.h:94:36: error: braced-group within expression -allowed only inside a function - -Signed-off-by: Karel Zak ---- - libblkid/src/superblocks/ntfs.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/libblkid/src/superblocks/ntfs.c b/libblkid/src/superblocks/ntfs.c -index 41c6b9c..c60a151 100644 ---- a/libblkid/src/superblocks/ntfs.c -+++ b/libblkid/src/superblocks/ntfs.c -@@ -75,8 +75,8 @@ struct file_attribute { - #define NTFS_MAX_CLUSTER_SIZE (64 * 1024) - - enum { -- MFT_RECORD_ATTR_VOLUME_NAME = cpu_to_le32(0x60), -- MFT_RECORD_ATTR_END = cpu_to_le32(0xffffffff) -+ MFT_RECORD_ATTR_VOLUME_NAME = 0x60, -+ MFT_RECORD_ATTR_END = 0xffffffff - }; - - static int probe_ntfs(blkid_probe pr, const struct blkid_idmag *mag) -@@ -186,9 +186,9 @@ static int probe_ntfs(blkid_probe pr, const struct blkid_idmag *mag) - if (!attr_len) - break; - -- if (attr->type == MFT_RECORD_ATTR_END) -+ if (le32_to_cpu(attr->type) == MFT_RECORD_ATTR_END) - break; -- if (attr->type == MFT_RECORD_ATTR_VOLUME_NAME) { -+ if (le32_to_cpu(attr->type) == MFT_RECORD_ATTR_VOLUME_NAME) { - unsigned int val_off = le16_to_cpu(attr->value_offset); - unsigned int val_len = le32_to_cpu(attr->value_len); - unsigned char *val = ((uint8_t *) attr) + val_off; --- -1.8.1.4 - diff --git a/0001-libmount-fix-user-mount-by-root-for-mount.-type-help.patch b/0001-libmount-fix-user-mount-by-root-for-mount.-type-help.patch deleted file mode 100644 index f6523b5..0000000 --- a/0001-libmount-fix-user-mount-by-root-for-mount.-type-help.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 17206c059dc2e42e7081079b76eafda68cc9a5b8 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Tue, 26 Mar 2013 16:05:07 +0100 -Subject: [PATCH] libmount: fix user-mount by root for mount. helpers - -Append options like "exec" "suid" and "dev" to mount. helpers -command line if the options are in fstab. This is relevant for root -user who calls mount(8) for fstab entries with "user,exec" etc. - -Signed-off-by: Karel Zak ---- - libmount/src/context_mount.c | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c -index 00738b4..3b280ab 100644 ---- a/libmount/src/context_mount.c -+++ b/libmount/src/context_mount.c -@@ -275,6 +275,28 @@ static int generate_helper_optstr(struct libmnt_context *cxt, char **optstr) - if (!*optstr) - return -ENOMEM; - -+ if (cxt->user_mountflags & MNT_MS_USER) { -+ /* -+ * This is unnecessary for real user-mounts as mount. -+ * helpers have to always follow fstab rather than mount -+ * options on command line. -+ * -+ * But if you call mount. as root then the helper follows -+ * command line. If there is (for example) "user,exec" in fstab -+ * then we have to manually append the "exec" back to the options -+ * string, bacause there is nothing like MS_EXEC (we have only -+ * MS_NOEXEC in mount flags and we don't care about the original -+ * mount string in libmount for VFS options). -+ */ -+ if (!(cxt->mountflags & MS_NOEXEC)) -+ mnt_optstr_append_option(optstr, "exec", NULL); -+ if (!(cxt->mountflags & MS_NOSUID)) -+ mnt_optstr_append_option(optstr, "suid", NULL); -+ if (!(cxt->mountflags & MS_NODEV)) -+ mnt_optstr_append_option(optstr, "dev", NULL); -+ } -+ -+ - if (cxt->flags & MNT_FL_SAVED_USER) - rc = mnt_optstr_set_option(optstr, "user", cxt->orig_user); - if (rc) --- -1.8.1.4 - diff --git a/0001-libmount-umount-crashes-when-trying-to-umount-a-non-.patch b/0001-libmount-umount-crashes-when-trying-to-umount-a-non-.patch deleted file mode 100644 index ed498b6..0000000 --- a/0001-libmount-umount-crashes-when-trying-to-umount-a-non-.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 52a285bf4e8d3a78d7211694977f5894a748bdac Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Mon, 25 Mar 2013 09:17:52 +0100 -Subject: [PATCH] libmount: umount crashes when trying to umount a - non-mountpoint -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Reported-by: Mantas Mikulėnas -Signed-off-by: Karel Zak ---- - libmount/src/context_umount.c | 4 ++-- - libmount/src/fs.c | 3 +++ - libmount/src/libmount.h.in | 2 +- - 3 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/libmount/src/context_umount.c b/libmount/src/context_umount.c -index 113c53e..96ae87a 100644 ---- a/libmount/src/context_umount.c -+++ b/libmount/src/context_umount.c -@@ -183,7 +183,7 @@ err: - static int lookup_umount_fs(struct libmnt_context *cxt) - { - const char *tgt; -- struct libmnt_fs *fs; -+ struct libmnt_fs *fs = NULL; - int rc; - - assert(cxt); -@@ -198,7 +198,7 @@ static int lookup_umount_fs(struct libmnt_context *cxt) - rc = mnt_context_find_umount_fs(cxt, tgt, &fs); - if (rc < 0) - return rc; -- if (!fs) { -+ if (rc == 1 || !fs) { - DBG(CXT, mnt_debug_h(cxt, "umount: cannot find %s in mtab", tgt)); - return 0; - } -diff --git a/libmount/src/fs.c b/libmount/src/fs.c -index 96c13d3..bb9006d 100644 ---- a/libmount/src/fs.c -+++ b/libmount/src/fs.c -@@ -129,6 +129,9 @@ struct libmnt_fs *mnt_copy_fs(struct libmnt_fs *dest, - { - const struct libmnt_fs *org = dest; - -+ if (!src) -+ return NULL; -+ - if (!dest) { - dest = mnt_new_fs(); - if (!dest) -diff --git a/libmount/src/libmount.h.in b/libmount/src/libmount.h.in -index ccd260d..bb18ba1 100644 ---- a/libmount/src/libmount.h.in -+++ b/libmount/src/libmount.h.in -@@ -318,7 +318,7 @@ extern void mnt_reset_fs(struct libmnt_fs *fs) - __ul_attribute__((nonnull)); - extern struct libmnt_fs *mnt_copy_fs(struct libmnt_fs *dest, - const struct libmnt_fs *src) -- __ul_attribute__((nonnull(2), warn_unused_result)); -+ __ul_attribute__((warn_unused_result)); - extern void *mnt_fs_get_userdata(struct libmnt_fs *fs) - __ul_attribute__((nonnull)); - extern int mnt_fs_set_userdata(struct libmnt_fs *fs, void *data); --- -1.8.1.4 - diff --git a/sources b/sources index 23dd002..50e47fe 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ a02aac97c74259ca1b24972c89147ca4 floppy-0.18.tar.bz2 -62a5e17c2710da8974e55c6fa5711122 util-linux-2.23-rc1.tar.xz +abf3d68b534237b9c336dd5bfbf058d9 util-linux-2.23-rc2.tar.xz diff --git a/util-linux.spec b/util-linux.spec index eb49d56..d832c36 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,16 +2,17 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.23 -Release: 0.3%{?dist} +Release: 0.4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux -%define upstream_version %{version}-rc1 +%define upstream_version %{version}-rc2 ### Macros %define floppyver 0.18 %define cytune_archs %{ix86} alpha %{arm} +%define compldir %{_datadir}/bash-completion/completions/ ### Dependencies BuildRequires: audit-libs-devel >= 1.0.6 @@ -27,7 +28,7 @@ Buildrequires: libuser-devel BuildRequires: libcap-ng-devel ### Sources -Source0: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.22/util-linux-%{upstream_version}.tar.xz +Source0: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.23/util-linux-%{upstream_version}.tar.xz Source1: util-linux-login.pamd Source2: util-linux-remote.pamd Source3: util-linux-chsh-chfn.pamd @@ -41,6 +42,7 @@ Source14: util-linux-runuser.pamd Source15: util-linux-runuser-l.pamd ### Obsoletes & Conflicts & Provides +Conflicts: bash-completion < 1:2.1-1 # su(1) and runuser(1) merged into util-linux v2.22 Conflicts: coreutils < 8.20 # eject has been merged into util-linux v2.22 @@ -86,13 +88,6 @@ Patch2: util-linux-2.19-floppy-generic.patch # 151635 - makeing /var/log/lastlog Patch3: util-linux-ng-2.22-login-lastlog.patch -### Upstream patches for v2.23-rc2 -### -Patch100: 0001-libmount-fix-user-mount-by-root-for-mount.-type-help.patch -Patch101: 0001-libmount-umount-crashes-when-trying-to-umount-a-non-.patch -Patch102: 0001-libblkid-fix-NTFS-prober-on-big-endian-machines.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 @@ -221,6 +216,8 @@ export SUID_LDFLAGS="-pie -Wl,-z,relro -Wl,-z,now" --with-systemdsystemunitdir=%{_unitdir} \ --disable-silent-rules \ --disable-wall \ + --disable-bfs \ + --disable-pg \ --enable-socket-activation \ --enable-chfn-chsh \ --enable-write \ @@ -229,7 +226,14 @@ export SUID_LDFLAGS="-pie -Wl,-z,relro -Wl,-z,now" --with-selinux \ --with-audit \ --with-utempter \ - --disable-makeinstall-chown + --disable-makeinstall-chown \ +%ifnarch %cytune_archs + --disable-cytune \ +%endif +%ifarch s390 s390x + --disable-hwclock \ + --disable-fdformat +%endif # build util-linux make %{?_smp_mflags} @@ -316,23 +320,15 @@ chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/sunhostid popd } +%ifnarch s390 s390x ln -sf hwclock ${RPM_BUILD_ROOT}%{_sbindir}/clock echo ".so man8/hwclock.8" > ${RPM_BUILD_ROOT}%{_mandir}/man8/clock.8 - -# unsupported on ix86 alpha armv4l -%ifnarch %cytune_archs -rm -f $RPM_BUILD_ROOT%{_bindir}/cytune $RPM_BUILD_ROOT%{_mandir}/man8/cytune.8* %endif # unsupported on s390 %ifarch s390 s390x -for I in /usr/{bin,sbin}/{fdformat,floppy} \ - %{_mandir}/man8/{fdformat,floppy}.8* \ - /usr/sbin/{hwclock,clock} \ - %{_mandir}/man8/{hwclock,clock}.8*; do - - rm -f $RPM_BUILD_ROOT$I -done +rm -f $RPM_BUILD_ROOT%{_sbindir}floppy +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/floppy.8* %endif # unsupported on SPARCs @@ -347,19 +343,6 @@ for I in /sbin/sfdisk \ done %endif -# deprecated commands -for I in /usr/sbin/mkfs.bfs /usr/sbin/sln \ - /usr/bin/chkdupexe %{_bindir}/line %{_bindir}/pg %{_bindir}/newgrp \ - /usr/sbin/shutdown /usr/sbin/vipw /usr/sbin/vigr; do - rm -f $RPM_BUILD_ROOT$I -done - -# deprecated man pages -for I in man1/chkdupexe.1 man1/line.1 man1/pg.1 man1/newgrp.1 \ - man8/mkfs.bfs.8 man8/vipw.8 man8/vigr; do - rm -rf $RPM_BUILD_ROOT%{_mandir}/${I}* -done - # deprecated docs for I in floppy-%{floppyver}/README.html; do rm -rf $I @@ -597,6 +580,7 @@ fi %{_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* @@ -606,6 +590,7 @@ fi %{_mandir}/man8/lsblk.8* %{_mandir}/man8/lslocks.8.gz %{_mandir}/man8/mkfs.8* +%{_mandir}/man8/mkfs.cramfs.8* %{_mandir}/man8/mkfs.minix.8* %{_mandir}/man8/mkswap.8* %{_mandir}/man8/mount.8* @@ -661,6 +646,85 @@ fi %{_sbindir}/switch_root %{_sbindir}/wipefs +%{compldir}/addpart +%{compldir}/blkdiscard +%{compldir}/blkid +%{compldir}/blockdev +%{compldir}/cal +%{compldir}/chcpu +%{compldir}/chfn +%{compldir}/chrt +%{compldir}/chsh +%{compldir}/col +%{compldir}/colcrt +%{compldir}/colrm +%{compldir}/column +%{compldir}/ctrlaltdel +%{compldir}/delpart +%{compldir}/dmesg +%{compldir}/eject +%{compldir}/fallocate +%{compldir}/fdisk +%{compldir}/findmnt +%{compldir}/flock +%{compldir}/fsck +%{compldir}/fsck.cramfs +%{compldir}/fsck.minix +%{compldir}/fsfreeze +%{compldir}/fstrim +%{compldir}/getopt +%{compldir}/hexdump +%{compldir}/ionice +%{compldir}/ipcrm +%{compldir}/ipcs +%{compldir}/isosize +%{compldir}/ldattach +%{compldir}/logger +%{compldir}/look +%{compldir}/losetup +%{compldir}/lsblk +%{compldir}/lscpu +%{compldir}/lslocks +%{compldir}/mcookie +%{compldir}/mkfs +%{compldir}/mkfs.cramfs +%{compldir}/mkfs.minix +%{compldir}/mkswap +%{compldir}/more +%{compldir}/mountpoint +%{compldir}/namei +%{compldir}/nsenter +%{compldir}/partx +%{compldir}/pivot_root +%{compldir}/prlimit +%{compldir}/raw +%{compldir}/readprofile +%{compldir}/rename +%{compldir}/renice +%{compldir}/resizepart +%{compldir}/rev +%{compldir}/rtcwake +%{compldir}/runuser +%{compldir}/script +%{compldir}/scriptreplay +%{compldir}/setarch +%{compldir}/setpriv +%{compldir}/setsid +%{compldir}/setterm +%{compldir}/su +%{compldir}/swaplabel +%{compldir}/swapon +%{compldir}/tailf +%{compldir}/taskset +%{compldir}/ul +%{compldir}/unshare +%{compldir}/utmpdump +%{compldir}/uuidgen +%{compldir}/wdctl +%{compldir}/whereis +%{compldir}/wipefs +%{compldir}/write + %ifnarch s390 s390x %{_sbindir}/clock %{_bindir}/floppy @@ -670,6 +734,8 @@ fi %{_mandir}/man8/floppy.8* %{_mandir}/man8/hwclock.8* %{_mandir}/man8/clock.8* +%{compldir}/fdformat +%{compldir}/hwclock %endif %ifnarch %{sparc} @@ -678,6 +744,8 @@ fi %{_sbindir}/sfdisk %{_mandir}/man8/cfdisk.8* %{_mandir}/man8/sfdisk.8* +%{compldir}/cfdisk +%{compldir}/sfdisk %endif %ifarch %{sparc} @@ -687,6 +755,7 @@ fi %ifarch %cytune_archs %{_bindir}/cytune %{_mandir}/man8/cytune.8* +%{compldir}/cytune %endif @@ -698,6 +767,7 @@ fi %{_unitdir}/* %dir %attr(2775, uuidd, uuidd) /var/lib/libuuid %dir %attr(2775, uuidd, uuidd) /run/uuidd +%{compldir}/uuidd %files -n libmount @@ -752,6 +822,9 @@ fi %{_libdir}/pkgconfig/uuid.pc %changelog +* Wed Apr 10 2013 Karel Zak 2.23-0.4 +- upgrade to the release 2.23-rc2 + * Wed Mar 27 2013 Karel Zak 2.23-0.3 - libblkid ntfs bugfix for build on s390 @@ -759,7 +832,7 @@ fi - add upstream patches for to fix umount and mount. * Fri Mar 22 2013 Karel Zak 2.23-0.1 -- upgrade to the release 2.22-rc1 +- upgrade to the release 2.23-rc1 ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.23/v2.23-ReleaseNotes - add nsenter and blkdiscard - remove tunelp