Date: Monday, July 28, 2014 @ 15:15:25 Author: dreisner Revision: 218249
upgpkg: util-linux 2.25-3 - backport fix for 'fdisk -l' regression Added: util-linux/trunk/0001-fdisk-fix-l-device.patch Modified: util-linux/trunk/PKGBUILD -------------------------------+ 0001-fdisk-fix-l-device.patch | 61 ++++++++++++++++++++++++++++++++++++++++ PKGBUILD | 14 +++++++-- 2 files changed, 72 insertions(+), 3 deletions(-) Added: 0001-fdisk-fix-l-device.patch =================================================================== --- 0001-fdisk-fix-l-device.patch (rev 0) +++ 0001-fdisk-fix-l-device.patch 2014-07-28 13:15:25 UTC (rev 218249) @@ -0,0 +1,61 @@ +From 52d92543ffb8efb56036f316a1072d8fbba62c38 Mon Sep 17 00:00:00 2001 +From: Karel Zak <[email protected]> +Date: Mon, 28 Jul 2014 11:57:10 +0200 +Subject: [PATCH] fdisk: fix -l [<device>] + + * don't use err(), but warn(), so don't stop after the first error + + * display all errors when "-l <device> ..." specified + + * display only EACCES errors when list whole disks from + /proc/partitions ("fdisk -l" ) + +Reported-by: Boian Bonev <[email protected]> +Addresses: https://github.com/karelzak/util-linux/pull/106 +Signed-off-by: Karel Zak <[email protected]> +--- + disk-utils/fdisk.c | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/disk-utils/fdisk.c b/disk-utils/fdisk.c +index 8d57dbb..46e632a 100644 +--- a/disk-utils/fdisk.c ++++ b/disk-utils/fdisk.c +@@ -670,10 +670,13 @@ static int is_ide_cdrom_or_tape(char *device) + return ret; + } + +-static void print_device_pt(struct fdisk_context *cxt, char *device) ++static void print_device_pt(struct fdisk_context *cxt, char *device, int warnme) + { +- if (fdisk_context_assign_device(cxt, device, 1) != 0) /* read-only */ +- err(EXIT_FAILURE, _("cannot open %s"), device); ++ if (fdisk_context_assign_device(cxt, device, 1) != 0) { /* read-only */ ++ if (warnme || errno == EACCES) ++ warn(_("cannot open %s"), device); ++ return; ++ } + + list_disk_geometry(cxt); + +@@ -717,7 +720,7 @@ static void print_all_devices_pt(struct fdisk_context *cxt) + if (!cn) + continue; + if (!is_ide_cdrom_or_tape(cn)) +- print_device_pt(cxt, cn); ++ print_device_pt(cxt, cn, 0); + free(cn); + } + fclose(f); +@@ -912,7 +915,7 @@ int main(int argc, char **argv) + if (argc > optind) { + int k; + for (k = optind; k < argc; k++) +- print_device_pt(cxt, argv[k]); ++ print_device_pt(cxt, argv[k], 1); + } else + print_all_devices_pt(cxt); + break; +-- +2.0.3 + Modified: PKGBUILD =================================================================== --- PKGBUILD 2014-07-27 21:59:54 UTC (rev 218248) +++ PKGBUILD 2014-07-28 13:15:25 UTC (rev 218249) @@ -6,7 +6,7 @@ pkgbase=util-linux pkgname=(util-linux libutil-linux) pkgver=2.25 -pkgrel=2 +pkgrel=3 pkgdesc="Miscellaneous system utilities for Linux" url="http://www.kernel.org/pub/linux/utils/util-linux/" arch=('i686' 'x86_64') @@ -17,13 +17,21 @@ uuidd.tmpfiles pam-login pam-common - pam-su) + pam-su + 0001-fdisk-fix-l-device.patch) md5sums=('4c78fdef4cb882caafad61e33cafbc14' 'a39554bfd65cccfd8254bb46922f4a67' '4368b3f98abd8a32662e094c54e7f9b1' 'a31374fef2cba0ca34dfc7078e2969e4' - 'fa85e5cce5d723275b14365ba71a8aad') + 'fa85e5cce5d723275b14365ba71a8aad' + '93cf977a7abc6f30152295e2aef453fa') +prepare() { + cd "$pkgname-$pkgver" + + patch -Np1 <"$srcdir"/0001-fdisk-fix-l-device.patch +} + build() { cd "$pkgname-$pkgver"
