[arch-commits] CVS update of arch/build/base/util-linux (PKGBUILD uuid-segfault.patch)
Tobias Powalowski
tpowa at archlinux.org
Sun May 20 15:50:43 UTC 2007
Date: Sunday, May 20, 2007 @ 11:50:43
Author: tpowa
Path: /home/cvs-arch/arch/build/base/util-linux
Added: uuid-segfault.patch (1.1)
Modified: PKGBUILD (1.31 -> 1.32)
'upgpkg: fixed uuid segfault'
---------------------+
PKGBUILD | 30 ++++++++++++++++---------
uuid-segfault.patch | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 80 insertions(+), 10 deletions(-)
Index: arch/build/base/util-linux/PKGBUILD
diff -u arch/build/base/util-linux/PKGBUILD:1.31 arch/build/base/util-linux/PKGBUILD:1.32
--- arch/build/base/util-linux/PKGBUILD:1.31 Fri Feb 2 04:21:30 2007
+++ arch/build/base/util-linux/PKGBUILD Sun May 20 11:50:43 2007
@@ -1,14 +1,15 @@
-# $Id: PKGBUILD,v 1.31 2007/02/02 09:21:30 jgc Exp $
+# $Id: PKGBUILD,v 1.32 2007/05/20 15:50:43 tpowa Exp $
# Maintainer: judd <jvinet at zeroflux.org>
pkgname=util-linux
pkgver=2.12
-pkgrel=10
+pkgrel=12
# util-linux has a really poor version scheme :(
# I'll try to handle this better when 2.13 comes around
_realver=2.12r
pkgdesc="Miscellaneous system utilities for Linux"
arch=(i686 x86_64)
depends=('bash' 'ncurses' 'zlib' 'e2fsprogs')
+license=('GPL')
source=(ftp://ftp.kernel.org/pub/linux/utils/util-linux/util-linux-${_realver}.tar.bz2
cramfs.patch cryptoloop-support.patch
mount-proto.patch
@@ -17,13 +18,20 @@
nfsmount-rollback.patch nfsv4.patch
util-linux-2.12r-missing_header-1.patch
util-linux-2.12r-missing_lseek-1.patch
- util-linux-2.12r-syscall_fixes-1.patch)
-md5sums=('af9d9e03038481fbf79ea3ac33f116f9' '9dd90e15c2eeefb40c265fe07f580f52'\
- 'afc01fd63a4d2995c1bb79e7573a24aa' 'b1b46004424f3a218625068cd49de536'\
- 'aae81015c1eec9a947b2f370512c407e' '1bc8dff5e2a9fbf1fbd73dd595f94965'\
- 'd87e5934cd5982ce307ffb350b2a2b37' '358baa44ce7e9bf527a7d1d3fb9fe85c'\
- '33ccc15d2e92caa6189b044f573fdcda' '5d6c86321c1ea74d7ed7cf57861da423'\
- 'e1c86c9859c242b300599cef277f03e1')
+ util-linux-2.12r-syscall_fixes-1.patch
+ uuid-segfault.patch)
+md5sums=('af9d9e03038481fbf79ea3ac33f116f9'
+ '9dd90e15c2eeefb40c265fe07f580f52'
+ 'afc01fd63a4d2995c1bb79e7573a24aa'
+ 'b1b46004424f3a218625068cd49de536'
+ 'aae81015c1eec9a947b2f370512c407e'
+ '1bc8dff5e2a9fbf1fbd73dd595f94965'
+ 'd87e5934cd5982ce307ffb350b2a2b37'
+ '358baa44ce7e9bf527a7d1d3fb9fe85c'
+ '33ccc15d2e92caa6189b044f573fdcda'
+ '5d6c86321c1ea74d7ed7cf57861da423'
+ 'e1c86c9859c242b300599cef277f03e1'
+ '48bd8d99c1a0e64262d05f1198b2b056')
# The cryptoloop-support.patch comes from the boys at Rock Linux
# (http://www.rocklinux.net/packages/util-linux.html)
@@ -46,7 +54,8 @@
patch -Np1 -i ${startdir}/src/util-linux-2.12r-missing_header-1.patch || return 1
patch -Np1 -i ${startdir}/src/util-linux-2.12r-missing_lseek-1.patch || return 1
patch -Np1 -i ${startdir}/src/util-linux-2.12r-syscall_fixes-1.patch || return 1
-
+ # fix uuid segfault
+ patch -Np1 -i ${startdir}/src/uuid-segfault.patch || return 1
sed -e 's%etc/adjtime%var/lib/hwclock/adjtime%' -i hwclock/hwclock.c
mkdir -p ${startdir}/pkg/var/lib/hwclock
./configure
@@ -54,4 +63,5 @@
make HAVE_SLN=yes ADD_RAW=yes DESTDIR=${startdir}/pkg install
rm -f ${startdir}/pkg/bin/kill
rm -f ${startdir}/pkg/usr/share/man/man1/kill.1
+ rm -f ${startdir}/pkg/usr/share/man/man5/nfs.5
}
Index: arch/build/base/util-linux/uuid-segfault.patch
diff -u /dev/null arch/build/base/util-linux/uuid-segfault.patch:1.1
--- /dev/null Sun May 20 11:50:43 2007
+++ arch/build/base/util-linux/uuid-segfault.patch Sun May 20 11:50:43 2007
@@ -0,0 +1,60 @@
+
+ The UUID code in the mount command is broken -- en example UUID= in the fstab
+ file is reason for SIGSEG when non-root user tries umount any device.
+ -- 03/30/2006 Karel Zak <kzak at redhat.com>
+
+--- util-linux-2.13-pre6/mount/mount_blkid.h.uuid 2006-03-29 15:34:24.000000000 +0200
++++ util-linux-2.13-pre6/mount/mount_blkid.h 2006-03-29 15:34:57.000000000 +0200
+@@ -8,5 +8,6 @@
+ extern const char *mount_get_devname_by_uuid(const char *uuid);
+ extern const char *mount_get_devname_by_label(const char *label);
+ extern const char *mount_get_volume_label_by_spec(const char *spec);
++extern const char *mount_get_volume_uuid_by_spec(const char *spec);
+ extern const char *mount_get_devname(const char *spec);
+ extern const char *mount_get_devname_for_mounting(const char *spec);
+--- util-linux-2.13-pre6/mount/mount_blkid.c.uuid 2006-03-29 15:33:44.000000000 +0200
++++ util-linux-2.13-pre6/mount/mount_blkid.c 2006-03-29 15:34:14.000000000 +0200
+@@ -21,6 +21,11 @@
+ }
+
+ const char *
++mount_get_volume_uuid_by_spec(const char *spec) {
++ return blkid_get_tag_value(blkid, "UUID", spec);
++}
++
++const char *
+ mount_get_devname(const char *spec) {
+ return blkid_get_devname(blkid, spec, 0);
+ }
+--- util-linux-2.13-pre6/mount/fstab.c.uuid 2006-03-29 15:29:28.000000000 +0200
++++ util-linux-2.13-pre6/mount/fstab.c 2006-03-29 15:36:30.000000000 +0200
+@@ -301,23 +301,19 @@
+ static int
+ has_label(const char *device, const char *label) {
+ const char *devlabel;
+- int ret;
+
+- devlabel = mount_get_volume_label_by_spec(device);
+- ret = !strcmp(label, devlabel);
+- /* free(devlabel); */
+- return ret;
++ if (!(devlabel = mount_get_volume_label_by_spec(device)))
++ return 0;
++ return !strcmp(label, devlabel);
+ }
+
+ static int
+ has_uuid(const char *device, const char *uuid){
+ const char *devuuid;
+- int ret;
+
+- devuuid = mount_get_devname_by_uuid(device);
+- ret = !strcmp(uuid, devuuid);
+- /* free(devuuid); */
+- return ret;
++ if (!(devuuid = mount_get_volume_uuid_by_spec(device)))
++ return 0;
++ return !strcmp(uuid, devuuid);
+ }
+
+ /* Find the entry (SPEC,FILE) in fstab */
More information about the arch-commits
mailing list