summaryrefslogtreecommitdiff
path: root/core/util-linux
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-05-31 01:57:14 -0700
committerroot <root@rshg054.dnsready.net>2013-05-31 01:57:14 -0700
commit94a3b302f520438e919ef8706ce9cf42ad7c2e11 (patch)
tree7fa5b120c4fb8ccd67c09d5096bd7e1dc7d35b1c /core/util-linux
parent76ee9007095484a113d1856786b81e2d2fae8202 (diff)
Fri May 31 01:56:04 PDT 2013
Diffstat (limited to 'core/util-linux')
-rw-r--r--core/util-linux/0001-lib-loopdev-fix-loopcxt_check_size-to-work-with-blkd.patch57
-rw-r--r--core/util-linux/0001-libfdisk-do-not-use-va_list-in-the-Ask-API.patch163
-rw-r--r--core/util-linux/0001-losetup-use-warn_size-for-regular-files-only.patch26
-rw-r--r--core/util-linux/PKGBUILD28
4 files changed, 6 insertions, 268 deletions
diff --git a/core/util-linux/0001-lib-loopdev-fix-loopcxt_check_size-to-work-with-blkd.patch b/core/util-linux/0001-lib-loopdev-fix-loopcxt_check_size-to-work-with-blkd.patch
deleted file mode 100644
index 26da877ef..000000000
--- a/core/util-linux/0001-lib-loopdev-fix-loopcxt_check_size-to-work-with-blkd.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From e3b6cb87e0ba1304fa07ec316784de1c6243b28e Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak@redhat.com>
-Date: Mon, 13 May 2013 10:54:41 +0200
-Subject: [PATCH] lib/loopdev: fix loopcxt_check_size() to work with blkdevs
-
-The loopcxt_check_size() is workaround for kernels < v3.9, kernel has
-been fixed by commit 541c742a7559eb65f0e36d3e2338c2ca532a3e61.
-
-The function sets loopdev size according to backing file size. The
-problem is that the backing file could be a block device where
-stat.st_size is zero, so we have to use blkdev_get_size() for block
-devices.
-
-Addresses: https://bugs.archlinux.org/task/35193
-Reported-by: Dave Reisner <d@falconindy.com>
-Signed-off-by: Karel Zak <kzak@redhat.com>
----
- lib/loopdev.c | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/lib/loopdev.c b/lib/loopdev.c
-index c35e306..3b65b5d 100644
---- a/lib/loopdev.c
-+++ b/lib/loopdev.c
-@@ -1097,7 +1097,17 @@ static int loopcxt_check_size(struct loopdev_cxt *lc, int file_fd)
- if (fstat(file_fd, &st))
- return -errno;
-
-- expected_size = st.st_size;
-+ if (S_ISBLK(st.st_mode)) {
-+ if (blkdev_get_size(file_fd,
-+ (unsigned long long *) &expected_size))
-+ return -errno;
-+ } else
-+ expected_size = st.st_size;
-+
-+ if (expected_size == 0 || expected_size <= lc->info.lo_offset) {
-+ DBG(lc, loopdev_debug("failed to determine expected size"));
-+ return 0; /* ignore this error */
-+ }
-
- if (lc->info.lo_offset > 0)
- expected_size -= lc->info.lo_offset;
-@@ -1113,6 +1123,10 @@ static int loopcxt_check_size(struct loopdev_cxt *lc, int file_fd)
- return -errno;
-
- if (expected_size != size) {
-+ DBG(lc, loopdev_debug("warning: loopdev and expected "
-+ "size dismatch (%ju/%ju)",
-+ size, expected_size));
-+
- if (loopcxt_set_capacity(lc)) {
- /* ioctl not available */
- if (errno == ENOTTY || errno == EINVAL)
---
-1.8.2.3
-
diff --git a/core/util-linux/0001-libfdisk-do-not-use-va_list-in-the-Ask-API.patch b/core/util-linux/0001-libfdisk-do-not-use-va_list-in-the-Ask-API.patch
deleted file mode 100644
index 86bb6e572..000000000
--- a/core/util-linux/0001-libfdisk-do-not-use-va_list-in-the-Ask-API.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-From 4fb18cde32a6cb672090762c785d89a6ed02ef57 Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak@redhat.com>
-Date: Thu, 9 May 2013 13:06:02 +0200
-Subject: [PATCH] libfdisk: do not use va_list in the Ask API
-
- # fdisk /dev/sda
- Welcome to fdisk (util-linux 2.23).
-
- [...]
-
- Command (m for help): a
- Segmentation fault (core dumped)
-
-It's too fragile, the va_list implementation is architecture specific
-and it seems we need such thing in libfdisk at all.
-
-Reported-by: "Gabor Z. Papp" <gzp@papp.hu>
-Signed-off-by: Karel Zak <kzak@redhat.com>
----
- fdisks/fdisk-ask.c | 13 +++----------
- libfdisk/src/ask.c | 35 +++++++++--------------------------
- libfdisk/src/fdiskP.h | 2 --
- libfdisk/src/libfdisk.h | 2 --
- 4 files changed, 12 insertions(+), 40 deletions(-)
-
-diff --git a/fdisks/fdisk-ask.c b/fdisks/fdisk-ask.c
-index 7495d85..61dc0c2 100644
---- a/fdisks/fdisk-ask.c
-+++ b/fdisks/fdisk-ask.c
-@@ -167,7 +167,6 @@ static int ask_offset(struct fdisk_context *cxt,
- int ask_callback(struct fdisk_context *cxt, struct fdisk_ask *ask,
- void *data __attribute__((__unused__)))
- {
-- va_list ap;
- int rc = 0;
- char buf[BUFSIZ];
-
-@@ -180,23 +179,17 @@ int ask_callback(struct fdisk_context *cxt, struct fdisk_ask *ask,
- case FDISK_ASKTYPE_OFFSET:
- return ask_offset(cxt, ask, buf, sizeof(buf));
- case FDISK_ASKTYPE_INFO:
-- fdisk_ask_print_get_va(ask, ap);
-- vfprintf(stdout, fdisk_ask_print_get_mesg(ask), ap);
-+ fputs(fdisk_ask_print_get_mesg(ask), stdout);
- fputc('\n', stdout);
-- va_end(ap);
- break;
- case FDISK_ASKTYPE_WARNX:
-- fdisk_ask_print_get_va(ask, ap);
-- vfprintf(stderr, fdisk_ask_print_get_mesg(ask), ap);
-+ fputs(fdisk_ask_print_get_mesg(ask), stderr);
- fputc('\n', stderr);
-- va_end(ap);
- break;
- case FDISK_ASKTYPE_WARN:
-- fdisk_ask_print_get_va(ask, ap);
-- vfprintf(stderr, fdisk_ask_print_get_mesg(ask), ap);
-+ fputs(fdisk_ask_print_get_mesg(ask), stderr);
- errno = fdisk_ask_print_get_errno(ask);
- fprintf(stderr, ": %m\n");
-- va_end(ap);
- break;
- case FDISK_ASKTYPE_YESNO:
- fputc('\n', stdout);
-diff --git a/libfdisk/src/ask.c b/libfdisk/src/ask.c
-index d2325d5..cdb4d01 100644
---- a/libfdisk/src/ask.c
-+++ b/libfdisk/src/ask.c
-@@ -18,11 +18,6 @@ void fdisk_reset_ask(struct fdisk_ask *ask)
- case FDISK_ASKTYPE_NUMBER:
- free(ask->data.num.range);
- break;
-- case FDISK_ASKTYPE_WARNX:
-- case FDISK_ASKTYPE_WARN:
-- if (ask->data.print.has_va)
-- va_end(ask->data.print.va);
-- break;
- default:
- break;
- }
-@@ -452,44 +447,32 @@ int fdisk_ask_print_set_mesg(struct fdisk_ask *ask, const char *mesg)
- return 0;
- }
-
--/* caller has to call va_end(ap) */
--int fdisk_ask_print_get_va(struct fdisk_ask *ask, va_list ap)
--{
-- assert(ask);
-- assert(is_print_ask(ask));
-- va_copy(ap, ask->data.print.va);
-- return 0;
--}
--
--/* note that fdisk_free_ask() calls va_end() to free the private va list. */
--int fdisk_ask_print_set_va(struct fdisk_ask *ask, va_list ap)
--{
-- assert(ask);
-- va_copy(ask->data.print.va, ap);
-- ask->data.print.has_va = 1;
-- return 0;
--}
--
- static int do_vprint(struct fdisk_context *cxt, int errnum, int type,
- const char *fmt, va_list va)
- {
- struct fdisk_ask *ask;
- int rc;
-+ char *mesg;
-
- assert(cxt);
-
-+ if (vasprintf(&mesg, fmt, va) < 0)
-+ return -ENOMEM;
-+
- ask = fdisk_new_ask();
-- if (!ask)
-+ if (!ask) {
-+ free(mesg);
- return -ENOMEM;
-+ }
-
- fdisk_ask_set_type(ask, type);
-- fdisk_ask_print_set_mesg(ask, fmt);
-- fdisk_ask_print_set_va(ask, va);
-+ fdisk_ask_print_set_mesg(ask, mesg);
- if (errnum >= 0)
- fdisk_ask_print_set_errno(ask, errnum);
- rc = fdisk_do_ask(cxt, ask);
-
- fdisk_free_ask(ask);
-+ free(mesg);
- return rc;
- }
-
-diff --git a/libfdisk/src/fdiskP.h b/libfdisk/src/fdiskP.h
-index 570108c..ce42860 100644
---- a/libfdisk/src/fdiskP.h
-+++ b/libfdisk/src/fdiskP.h
-@@ -231,8 +231,6 @@ struct fdisk_ask {
- /* FDISK_ASKTYPE_{WARN,WARNX,..} */
- struct ask_print {
- const char *mesg;
-- va_list va;
-- unsigned int has_va:1;
- int errnum; /* errno */
- } print;
- /* FDISK_ASKTYPE_YESNO */
-diff --git a/libfdisk/src/libfdisk.h b/libfdisk/src/libfdisk.h
-index 0a23236..8a44067 100644
---- a/libfdisk/src/libfdisk.h
-+++ b/libfdisk/src/libfdisk.h
-@@ -182,8 +182,6 @@ extern int fdisk_ask_print_get_errno(struct fdisk_ask *ask);
- extern int fdisk_ask_print_set_errno(struct fdisk_ask *ask, int errnum);
- extern const char *fdisk_ask_print_get_mesg(struct fdisk_ask *ask);
- extern int fdisk_ask_print_set_mesg(struct fdisk_ask *ask, const char *mesg);
--extern int fdisk_ask_print_get_va(struct fdisk_ask *ask, va_list ap);
--extern int fdisk_ask_print_set_va(struct fdisk_ask *ask, va_list ap);
-
- #ifdef __cplusplus
- }
---
-1.8.2.3
-
diff --git a/core/util-linux/0001-losetup-use-warn_size-for-regular-files-only.patch b/core/util-linux/0001-losetup-use-warn_size-for-regular-files-only.patch
deleted file mode 100644
index afc875719..000000000
--- a/core/util-linux/0001-losetup-use-warn_size-for-regular-files-only.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b048b8af3a5568c90f6e0c2d56f6cb399dedb0d1 Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak@redhat.com>
-Date: Mon, 13 May 2013 11:00:47 +0200
-Subject: [PATCH] losetup: use warn_size() for regular files only
-
-Signed-off-by: Karel Zak <kzak@redhat.com>
----
- sys-utils/losetup.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sys-utils/losetup.c b/sys-utils/losetup.c
-index ccf120e..b44c9e5 100644
---- a/sys-utils/losetup.c
-+++ b/sys-utils/losetup.c
-@@ -380,7 +380,7 @@ static void warn_size(const char *filename, uint64_t size)
- struct stat st;
-
- if (!size) {
-- if (stat(filename, &st))
-+ if (stat(filename, &st) || S_ISBLK(st.st_mode))
- return;
- size = st.st_size;
- }
---
-1.8.2.3
-
diff --git a/core/util-linux/PKGBUILD b/core/util-linux/PKGBUILD
index c5bacea39..78e90224d 100644
--- a/core/util-linux/PKGBUILD
+++ b/core/util-linux/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 186531 2013-05-28 12:25:50Z dreisner $
+# $Id: PKGBUILD 186677 2013-05-30 12:45:22Z tomegun $
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=util-linux
-pkgver=2.23
-pkgrel=3
+pkgver=2.23.1
+pkgrel=1
pkgdesc="Miscellaneous system utilities for Linux"
url="http://www.kernel.org/pub/linux/utils/util-linux/"
arch=('i686' 'x86_64')
@@ -17,9 +17,6 @@ provides=("util-linux-ng=$pkgver" 'eject')
license=('GPL2')
options=('!libtool')
source=("ftp://ftp.kernel.org/pub/linux/utils/$pkgname/v2.23/$pkgname-$pkgver.tar.xz"
- 0001-lib-loopdev-fix-loopcxt_check_size-to-work-with-blkd.patch
- 0001-losetup-use-warn_size-for-regular-files-only.patch
- 0001-libfdisk-do-not-use-va_list-in-the-Ask-API.patch
uuidd.tmpfiles
pam-login
pam-common
@@ -30,25 +27,14 @@ backup=(etc/pam.d/chfn
etc/pam.d/su
etc/pam.d/su-l)
install=util-linux.install
-md5sums=('cf5e9bb402371beaaffc3a5f276d5783'
- 'fdb627fbb3d6a42e0b36978649b4c064'
- 'de0ba450945a60f27c5df86e64523d57'
- 'df949d15dbff01fe9fcda5d999a35b15'
+md5sums=('33ba55ce82f8e3b8d7a38fac0f62779a'
'a39554bfd65cccfd8254bb46922f4a67'
'4368b3f98abd8a32662e094c54e7f9b1'
'a31374fef2cba0ca34dfc7078e2969e4'
'fa85e5cce5d723275b14365ba71a8aad')
-prepare() {
- cd "$pkgname-$pkgver"
-
- patch -Np1 <"$srcdir"/0001-lib-loopdev-fix-loopcxt_check_size-to-work-with-blkd.patch
- patch -Np1 <"$srcdir"/0001-losetup-use-warn_size-for-regular-files-only.patch
- patch -Np1 <"$srcdir"/0001-libfdisk-do-not-use-va_list-in-the-Ask-API.patch
-}
-
build() {
- cd "${pkgname}-${pkgver}"
+ cd "$pkgname-$pkgver"
./configure --prefix=/usr \
--libdir=/usr/lib \
@@ -75,12 +61,10 @@ build() {
#}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "$pkgname-$pkgver"
make DESTDIR="${pkgdir}" install
- cd "${pkgdir}"
-
# setuid chfn and chsh
chmod 4755 "$pkgdir"/usr/bin/{newgrp,ch{sh,fn}}