[arch-commits] Commit in util-linux/repos (10 files)
Tom Gundersen
tomegun at archlinux.org
Wed Feb 29 16:45:33 UTC 2012
Date: Wednesday, February 29, 2012 @ 11:45:33
Author: tomegun
Revision: 151650
archrelease: copy trunk to testing-i686, testing-x86_64
Deleted:
util-linux/repos/testing-i686/PKGBUILD
util-linux/repos/testing-i686/lib-canonicalize-always-remove-tailing-slash.patch
util-linux/repos/testing-i686/libmount-canonicalize-all-paths-from-fs-tab.patch
util-linux/repos/testing-i686/libmount-canonicalize-targets-from-fstab-on-mount-a.patch
util-linux/repos/testing-i686/mount-new-cleanup-mount-a-return-codes.patch
util-linux/repos/testing-x86_64/PKGBUILD
util-linux/repos/testing-x86_64/lib-canonicalize-always-remove-tailing-slash.patch
util-linux/repos/testing-x86_64/libmount-canonicalize-all-paths-from-fs-tab.patch
util-linux/repos/testing-x86_64/libmount-canonicalize-targets-from-fstab-on-mount-a.patch
util-linux/repos/testing-x86_64/mount-new-cleanup-mount-a-return-codes.patch
--------------------------------------------------------------------------+
testing-i686/PKGBUILD | 64 ------
testing-i686/lib-canonicalize-always-remove-tailing-slash.patch | 37 ---
testing-i686/libmount-canonicalize-all-paths-from-fs-tab.patch | 27 --
testing-i686/libmount-canonicalize-targets-from-fstab-on-mount-a.patch | 55 -----
testing-i686/mount-new-cleanup-mount-a-return-codes.patch | 101 ----------
testing-x86_64/PKGBUILD | 64 ------
testing-x86_64/lib-canonicalize-always-remove-tailing-slash.patch | 37 ---
testing-x86_64/libmount-canonicalize-all-paths-from-fs-tab.patch | 27 --
testing-x86_64/libmount-canonicalize-targets-from-fstab-on-mount-a.patch | 55 -----
testing-x86_64/mount-new-cleanup-mount-a-return-codes.patch | 101 ----------
10 files changed, 568 deletions(-)
Deleted: testing-i686/PKGBUILD
===================================================================
--- testing-i686/PKGBUILD 2012-02-29 16:44:47 UTC (rev 151649)
+++ testing-i686/PKGBUILD 2012-02-29 16:45:33 UTC (rev 151650)
@@ -1,64 +0,0 @@
-# $Id$
-# Maintainer: Tom Gundersen <teg at jklm.no>
-# Contributor: judd <jvinet at zeroflux.org>
-
-pkgname=util-linux
-pkgver=2.21
-pkgrel=3
-pkgdesc="Miscellaneous system utilities for Linux"
-url="http://www.kernel.org/pub/linux/utils/util-linux/"
-arch=('i686' 'x86_64')
-groups=('base')
-depends=('udev')
-conflicts=('util-linux-ng')
-provides=("util-linux-ng=${pkgver}")
-license=('GPL2')
-options=('!libtool')
-source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v${pkgver}/${pkgname}-${pkgver}.tar.xz
- libmount-canonicalize-all-paths-from-fs-tab.patch
- lib-canonicalize-always-remove-tailing-slash.patch
- libmount-canonicalize-targets-from-fstab-on-mount-a.patch
- mount-new-cleanup-mount-a-return-codes.patch
- libmount-use-mount.-type-s-for-NFS-only.patch)
-optdepends=('perl: for chkdupexe support')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- # hardware clock
- sed -e 's%etc/adjtime%var/lib/hwclock/adjtime%' -i include/pathnames.h
-
- patch -p1 -i ../libmount-canonicalize-all-paths-from-fs-tab.patch
- patch -p1 -i ../lib-canonicalize-always-remove-tailing-slash.patch
- patch -p1 -i ../libmount-canonicalize-targets-from-fstab-on-mount-a.patch
- patch -p1 -i ../mount-new-cleanup-mount-a-return-codes.patch
- patch -p1 -i ../libmount-use-mount.-type-s-for-NFS-only.patch
-
- ./configure --prefix=/usr \
- --libdir=/usr/lib \
- --enable-write \
- --enable-raw \
- --disable-wall \
- --enable-new-mount
-
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- make DESTDIR="${pkgdir}" install
-
- cd "${pkgdir}"
-
- install -dm755 var/lib/hwclock
-
- # delete stray empty dir, fixed upstream
- rm -r usr/share/man/ru
-}
-md5sums=('208aa058f4117759d2939d1be7d662fc'
- 'c4011222a19b020d9b8465c3c7e443f6'
- '8c1bf7b10e22e2b835441e6ae2d804d6'
- '7b92423c588ed35229a9a166349c29a9'
- 'c483ab2d52609b5857d096b256a5075c'
- 'e31037773db7f3244b71db434f60e6f0')
Deleted: testing-i686/lib-canonicalize-always-remove-tailing-slash.patch
===================================================================
--- testing-i686/lib-canonicalize-always-remove-tailing-slash.patch 2012-02-29 16:44:47 UTC (rev 151649)
+++ testing-i686/lib-canonicalize-always-remove-tailing-slash.patch 2012-02-29 16:45:33 UTC (rev 151650)
@@ -1,37 +0,0 @@
-From 28074a0952469aebf021821d95238cfb964d13ff Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak at redhat.com>
-Date: Fri, 24 Feb 2012 21:26:11 +0100
-Subject: [PATCH 09/12] lib/canonicalize: always remove tailing slash
-
-Signed-off-by: Karel Zak <kzak at redhat.com>
----
- lib/canonicalize.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/lib/canonicalize.c b/lib/canonicalize.c
-index ab32c10..fd18af4 100644
---- a/lib/canonicalize.c
-+++ b/lib/canonicalize.c
-@@ -174,9 +174,16 @@ canonicalize_path(const char *path)
- if (path == NULL)
- return NULL;
-
-- if (!myrealpath(path, canonical, PATH_MAX+1))
-- return strdup(path);
--
-+ if (!myrealpath(path, canonical, PATH_MAX+1)) {
-+ char *res = strdup(path);
-+ if (res) {
-+ p = strrchr(res, '/');
-+ /* delete trailing slash */
-+ if (p && p > res && *(p + 1) == '\0')
-+ *p = '\0';
-+ }
-+ return res;
-+ }
-
- p = strrchr(canonical, '/');
- if (p && strncmp(p, "/dm-", 4) == 0 && isdigit(*(p + 4))) {
---
-1.7.9.2
-
Deleted: testing-i686/libmount-canonicalize-all-paths-from-fs-tab.patch
===================================================================
--- testing-i686/libmount-canonicalize-all-paths-from-fs-tab.patch 2012-02-29 16:44:47 UTC (rev 151649)
+++ testing-i686/libmount-canonicalize-all-paths-from-fs-tab.patch 2012-02-29 16:45:33 UTC (rev 151650)
@@ -1,27 +0,0 @@
-From 59e32a1f240c5f6a1d64d5e71a4a357245c34eaf Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak at redhat.com>
-Date: Fri, 24 Feb 2012 20:25:43 +0100
-Subject: [PATCH 07/12] libmount: canonicalize all paths from (fs)tab
-
-Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=797216
-Signed-off-by: Karel Zak <kzak at redhat.com>
----
- libmount/src/tab.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libmount/src/tab.c b/libmount/src/tab.c
-index 37f47bd..f10c1de 100644
---- a/libmount/src/tab.c
-+++ b/libmount/src/tab.c
-@@ -456,7 +456,7 @@ struct libmnt_fs *mnt_table_find_target(struct libmnt_table *tb, const char *pat
- while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
- char *p;
-
-- if (!fs->target || !mnt_fs_is_swaparea(fs) ||
-+ if (!fs->target || mnt_fs_is_swaparea(fs) ||
- (*fs->target == '/' && *(fs->target + 1) == '\0'))
- continue;
-
---
-1.7.9.2
-
Deleted: testing-i686/libmount-canonicalize-targets-from-fstab-on-mount-a.patch
===================================================================
--- testing-i686/libmount-canonicalize-targets-from-fstab-on-mount-a.patch 2012-02-29 16:44:47 UTC (rev 151649)
+++ testing-i686/libmount-canonicalize-targets-from-fstab-on-mount-a.patch 2012-02-29 16:45:33 UTC (rev 151650)
@@ -1,55 +0,0 @@
-From 6eba938376c2c870d9258ef9d7b6a3690cfa78dd Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak at redhat.com>
-Date: Fri, 24 Feb 2012 22:52:45 +0100
-Subject: [PATCH 11/12] libmount: canonicalize targets from fstab on mount -a
-
-Signed-off-by: Karel Zak <kzak at redhat.com>
----
- libmount/src/tab.c | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/libmount/src/tab.c b/libmount/src/tab.c
-index 66a9e4d..21b05c7 100644
---- a/libmount/src/tab.c
-+++ b/libmount/src/tab.c
-@@ -830,8 +830,8 @@ int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs)
- {
- char *root = NULL;
- struct libmnt_fs *src_fs;
-- const char *src, *tgt;
-- char *xsrc = NULL;
-+ const char *src;
-+ char *xsrc = NULL, *tgt;
- int flags = 0, rc = 0;
-
- assert(tb);
-@@ -852,7 +852,7 @@ int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs)
- src = xsrc = mnt_resolve_spec(mnt_fs_get_source(fstab_fs),
- tb->cache);
-
-- tgt = mnt_fs_get_target(fstab_fs);
-+ tgt = mnt_resolve_path(mnt_fs_get_target(fstab_fs), tb->cache);
-
- if (tgt && src && root) {
- struct libmnt_iter itr;
-@@ -870,7 +870,7 @@ int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs)
- * network filesystem source paths.
- */
- if (t && s && r &&
-- strcmp(t, tgt) == 0 &&
-+ streq_except_trailing_slash(t, tgt) &&
- streq_except_trailing_slash(s, src) &&
- strcmp(r, root) == 0)
- break;
-@@ -881,6 +881,8 @@ int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs)
-
- if (xsrc && !tb->cache)
- free(xsrc);
-+ if (!tb->cache)
-+ free(tgt);
-
- free(root);
- return rc;
---
-1.7.9.2
-
Deleted: testing-i686/mount-new-cleanup-mount-a-return-codes.patch
===================================================================
--- testing-i686/mount-new-cleanup-mount-a-return-codes.patch 2012-02-29 16:44:47 UTC (rev 151649)
+++ testing-i686/mount-new-cleanup-mount-a-return-codes.patch 2012-02-29 16:45:33 UTC (rev 151650)
@@ -1,101 +0,0 @@
-From 16b73aae8cb73df2974fd75c2a42ec3b92535851 Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak at redhat.com>
-Date: Fri, 24 Feb 2012 23:03:22 +0100
-Subject: [PATCH 12/12] mount: (new) cleanup mount -a return codes
-
-New return codes:
-
- 0 : all mounted (or all ignored)
- 64 : some mounted, some failed
- 32 : all failed
-
-Note that already mounted or ignored (filtered out by -t or -O)
-filesystems don't affect the final return code.
-
-The original mount(8) returns 0 instead of 64, so the situation
-"some mounted, some failed" cannot be detected.
-
-Signed-off-by: Karel Zak <kzak at redhat.com>
----
- sys-utils/mount.8 | 4 ++++
- sys-utils/mount.c | 23 +++++++++++++++++------
- 2 files changed, 21 insertions(+), 6 deletions(-)
-
-diff --git a/sys-utils/mount.8 b/sys-utils/mount.8
-index f1cff74..d18881b 100644
---- a/sys-utils/mount.8
-+++ b/sys-utils/mount.8
-@@ -2759,6 +2759,10 @@ mount failure
- .TP
- .BR 64
- some mount succeeded
-+.RE
-+
-+The command mount -a returns 0 (all success), 32 (all failed) or 64 (some
-+failed, some success).
-
- .SH NOTES
- The syntax of external mount helpers is:
-diff --git a/sys-utils/mount.c b/sys-utils/mount.c
-index 17991b0..3fbac04 100644
---- a/sys-utils/mount.c
-+++ b/sys-utils/mount.c
-@@ -182,6 +182,8 @@ static int mount_all(struct libmnt_context *cxt)
- struct libmnt_fs *fs;
- int mntrc, ignored, rc = MOUNT_EX_SUCCESS;
-
-+ int nsucc = 0, nerrs = 0;
-+
- itr = mnt_new_iter(MNT_ITER_FORWARD);
- if (!itr) {
- warn(_("failed to initialize libmount iterator"));
-@@ -197,31 +199,40 @@ static int mount_all(struct libmnt_context *cxt)
- printf(ignored == 1 ? _("%-25s: ignored\n") :
- _("%-25s: already mounted\n"),
- tgt);
--
- } else if (mnt_context_is_fork(cxt)) {
- if (mnt_context_is_verbose(cxt))
- printf("%-25s: mount successfully forked\n", tgt);
- } else {
-- rc |= mk_exit_code(cxt, mntrc);
-+ mk_exit_code(cxt, mntrc); /* to print warnings */
-
- if (mnt_context_get_status(cxt)) {
-- rc |= MOUNT_EX_SOMEOK;
-+ nsucc++;
-
- if (mnt_context_is_verbose(cxt))
- printf("%-25s: successfully mounted\n", tgt);
-- }
-+ } else
-+ nerrs++;
- }
- }
-
- if (mnt_context_is_parent(cxt)) {
- /* wait for mount --fork children */
-- int nerrs = 0, nchildren = 0;
-+ int nchildren = 0;
-+
-+ nerrs = 0, nsucc = 0;
-
- rc = mnt_context_wait_for_children(cxt, &nchildren, &nerrs);
- if (!rc && nchildren)
-- rc = nchildren == nerrs ? MOUNT_EX_FAIL : MOUNT_EX_SOMEOK;
-+ nsucc = nchildren - nerrs;
- }
-
-+ if (nerrs == 0)
-+ rc = MOUNT_EX_SUCCESS; /* all success */
-+ else if (nsucc == 0)
-+ rc = MOUNT_EX_FAIL; /* all failed */
-+ else
-+ rc = MOUNT_EX_SOMEOK; /* some success, some failed */
-+
- mnt_free_iter(itr);
- return rc;
- }
---
-1.7.9.2
-
Deleted: testing-x86_64/PKGBUILD
===================================================================
--- testing-x86_64/PKGBUILD 2012-02-29 16:44:47 UTC (rev 151649)
+++ testing-x86_64/PKGBUILD 2012-02-29 16:45:33 UTC (rev 151650)
@@ -1,64 +0,0 @@
-# $Id$
-# Maintainer: Tom Gundersen <teg at jklm.no>
-# Contributor: judd <jvinet at zeroflux.org>
-
-pkgname=util-linux
-pkgver=2.21
-pkgrel=3
-pkgdesc="Miscellaneous system utilities for Linux"
-url="http://www.kernel.org/pub/linux/utils/util-linux/"
-arch=('i686' 'x86_64')
-groups=('base')
-depends=('udev')
-conflicts=('util-linux-ng')
-provides=("util-linux-ng=${pkgver}")
-license=('GPL2')
-options=('!libtool')
-source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v${pkgver}/${pkgname}-${pkgver}.tar.xz
- libmount-canonicalize-all-paths-from-fs-tab.patch
- lib-canonicalize-always-remove-tailing-slash.patch
- libmount-canonicalize-targets-from-fstab-on-mount-a.patch
- mount-new-cleanup-mount-a-return-codes.patch
- libmount-use-mount.-type-s-for-NFS-only.patch)
-optdepends=('perl: for chkdupexe support')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- # hardware clock
- sed -e 's%etc/adjtime%var/lib/hwclock/adjtime%' -i include/pathnames.h
-
- patch -p1 -i ../libmount-canonicalize-all-paths-from-fs-tab.patch
- patch -p1 -i ../lib-canonicalize-always-remove-tailing-slash.patch
- patch -p1 -i ../libmount-canonicalize-targets-from-fstab-on-mount-a.patch
- patch -p1 -i ../mount-new-cleanup-mount-a-return-codes.patch
- patch -p1 -i ../libmount-use-mount.-type-s-for-NFS-only.patch
-
- ./configure --prefix=/usr \
- --libdir=/usr/lib \
- --enable-write \
- --enable-raw \
- --disable-wall \
- --enable-new-mount
-
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- make DESTDIR="${pkgdir}" install
-
- cd "${pkgdir}"
-
- install -dm755 var/lib/hwclock
-
- # delete stray empty dir, fixed upstream
- rm -r usr/share/man/ru
-}
-md5sums=('208aa058f4117759d2939d1be7d662fc'
- 'c4011222a19b020d9b8465c3c7e443f6'
- '8c1bf7b10e22e2b835441e6ae2d804d6'
- '7b92423c588ed35229a9a166349c29a9'
- 'c483ab2d52609b5857d096b256a5075c'
- 'e31037773db7f3244b71db434f60e6f0')
Deleted: testing-x86_64/lib-canonicalize-always-remove-tailing-slash.patch
===================================================================
--- testing-x86_64/lib-canonicalize-always-remove-tailing-slash.patch 2012-02-29 16:44:47 UTC (rev 151649)
+++ testing-x86_64/lib-canonicalize-always-remove-tailing-slash.patch 2012-02-29 16:45:33 UTC (rev 151650)
@@ -1,37 +0,0 @@
-From 28074a0952469aebf021821d95238cfb964d13ff Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak at redhat.com>
-Date: Fri, 24 Feb 2012 21:26:11 +0100
-Subject: [PATCH 09/12] lib/canonicalize: always remove tailing slash
-
-Signed-off-by: Karel Zak <kzak at redhat.com>
----
- lib/canonicalize.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/lib/canonicalize.c b/lib/canonicalize.c
-index ab32c10..fd18af4 100644
---- a/lib/canonicalize.c
-+++ b/lib/canonicalize.c
-@@ -174,9 +174,16 @@ canonicalize_path(const char *path)
- if (path == NULL)
- return NULL;
-
-- if (!myrealpath(path, canonical, PATH_MAX+1))
-- return strdup(path);
--
-+ if (!myrealpath(path, canonical, PATH_MAX+1)) {
-+ char *res = strdup(path);
-+ if (res) {
-+ p = strrchr(res, '/');
-+ /* delete trailing slash */
-+ if (p && p > res && *(p + 1) == '\0')
-+ *p = '\0';
-+ }
-+ return res;
-+ }
-
- p = strrchr(canonical, '/');
- if (p && strncmp(p, "/dm-", 4) == 0 && isdigit(*(p + 4))) {
---
-1.7.9.2
-
Deleted: testing-x86_64/libmount-canonicalize-all-paths-from-fs-tab.patch
===================================================================
--- testing-x86_64/libmount-canonicalize-all-paths-from-fs-tab.patch 2012-02-29 16:44:47 UTC (rev 151649)
+++ testing-x86_64/libmount-canonicalize-all-paths-from-fs-tab.patch 2012-02-29 16:45:33 UTC (rev 151650)
@@ -1,27 +0,0 @@
-From 59e32a1f240c5f6a1d64d5e71a4a357245c34eaf Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak at redhat.com>
-Date: Fri, 24 Feb 2012 20:25:43 +0100
-Subject: [PATCH 07/12] libmount: canonicalize all paths from (fs)tab
-
-Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=797216
-Signed-off-by: Karel Zak <kzak at redhat.com>
----
- libmount/src/tab.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libmount/src/tab.c b/libmount/src/tab.c
-index 37f47bd..f10c1de 100644
---- a/libmount/src/tab.c
-+++ b/libmount/src/tab.c
-@@ -456,7 +456,7 @@ struct libmnt_fs *mnt_table_find_target(struct libmnt_table *tb, const char *pat
- while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
- char *p;
-
-- if (!fs->target || !mnt_fs_is_swaparea(fs) ||
-+ if (!fs->target || mnt_fs_is_swaparea(fs) ||
- (*fs->target == '/' && *(fs->target + 1) == '\0'))
- continue;
-
---
-1.7.9.2
-
Deleted: testing-x86_64/libmount-canonicalize-targets-from-fstab-on-mount-a.patch
===================================================================
--- testing-x86_64/libmount-canonicalize-targets-from-fstab-on-mount-a.patch 2012-02-29 16:44:47 UTC (rev 151649)
+++ testing-x86_64/libmount-canonicalize-targets-from-fstab-on-mount-a.patch 2012-02-29 16:45:33 UTC (rev 151650)
@@ -1,55 +0,0 @@
-From 6eba938376c2c870d9258ef9d7b6a3690cfa78dd Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak at redhat.com>
-Date: Fri, 24 Feb 2012 22:52:45 +0100
-Subject: [PATCH 11/12] libmount: canonicalize targets from fstab on mount -a
-
-Signed-off-by: Karel Zak <kzak at redhat.com>
----
- libmount/src/tab.c | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/libmount/src/tab.c b/libmount/src/tab.c
-index 66a9e4d..21b05c7 100644
---- a/libmount/src/tab.c
-+++ b/libmount/src/tab.c
-@@ -830,8 +830,8 @@ int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs)
- {
- char *root = NULL;
- struct libmnt_fs *src_fs;
-- const char *src, *tgt;
-- char *xsrc = NULL;
-+ const char *src;
-+ char *xsrc = NULL, *tgt;
- int flags = 0, rc = 0;
-
- assert(tb);
-@@ -852,7 +852,7 @@ int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs)
- src = xsrc = mnt_resolve_spec(mnt_fs_get_source(fstab_fs),
- tb->cache);
-
-- tgt = mnt_fs_get_target(fstab_fs);
-+ tgt = mnt_resolve_path(mnt_fs_get_target(fstab_fs), tb->cache);
-
- if (tgt && src && root) {
- struct libmnt_iter itr;
-@@ -870,7 +870,7 @@ int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs)
- * network filesystem source paths.
- */
- if (t && s && r &&
-- strcmp(t, tgt) == 0 &&
-+ streq_except_trailing_slash(t, tgt) &&
- streq_except_trailing_slash(s, src) &&
- strcmp(r, root) == 0)
- break;
-@@ -881,6 +881,8 @@ int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs)
-
- if (xsrc && !tb->cache)
- free(xsrc);
-+ if (!tb->cache)
-+ free(tgt);
-
- free(root);
- return rc;
---
-1.7.9.2
-
Deleted: testing-x86_64/mount-new-cleanup-mount-a-return-codes.patch
===================================================================
--- testing-x86_64/mount-new-cleanup-mount-a-return-codes.patch 2012-02-29 16:44:47 UTC (rev 151649)
+++ testing-x86_64/mount-new-cleanup-mount-a-return-codes.patch 2012-02-29 16:45:33 UTC (rev 151650)
@@ -1,101 +0,0 @@
-From 16b73aae8cb73df2974fd75c2a42ec3b92535851 Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak at redhat.com>
-Date: Fri, 24 Feb 2012 23:03:22 +0100
-Subject: [PATCH 12/12] mount: (new) cleanup mount -a return codes
-
-New return codes:
-
- 0 : all mounted (or all ignored)
- 64 : some mounted, some failed
- 32 : all failed
-
-Note that already mounted or ignored (filtered out by -t or -O)
-filesystems don't affect the final return code.
-
-The original mount(8) returns 0 instead of 64, so the situation
-"some mounted, some failed" cannot be detected.
-
-Signed-off-by: Karel Zak <kzak at redhat.com>
----
- sys-utils/mount.8 | 4 ++++
- sys-utils/mount.c | 23 +++++++++++++++++------
- 2 files changed, 21 insertions(+), 6 deletions(-)
-
-diff --git a/sys-utils/mount.8 b/sys-utils/mount.8
-index f1cff74..d18881b 100644
---- a/sys-utils/mount.8
-+++ b/sys-utils/mount.8
-@@ -2759,6 +2759,10 @@ mount failure
- .TP
- .BR 64
- some mount succeeded
-+.RE
-+
-+The command mount -a returns 0 (all success), 32 (all failed) or 64 (some
-+failed, some success).
-
- .SH NOTES
- The syntax of external mount helpers is:
-diff --git a/sys-utils/mount.c b/sys-utils/mount.c
-index 17991b0..3fbac04 100644
---- a/sys-utils/mount.c
-+++ b/sys-utils/mount.c
-@@ -182,6 +182,8 @@ static int mount_all(struct libmnt_context *cxt)
- struct libmnt_fs *fs;
- int mntrc, ignored, rc = MOUNT_EX_SUCCESS;
-
-+ int nsucc = 0, nerrs = 0;
-+
- itr = mnt_new_iter(MNT_ITER_FORWARD);
- if (!itr) {
- warn(_("failed to initialize libmount iterator"));
-@@ -197,31 +199,40 @@ static int mount_all(struct libmnt_context *cxt)
- printf(ignored == 1 ? _("%-25s: ignored\n") :
- _("%-25s: already mounted\n"),
- tgt);
--
- } else if (mnt_context_is_fork(cxt)) {
- if (mnt_context_is_verbose(cxt))
- printf("%-25s: mount successfully forked\n", tgt);
- } else {
-- rc |= mk_exit_code(cxt, mntrc);
-+ mk_exit_code(cxt, mntrc); /* to print warnings */
-
- if (mnt_context_get_status(cxt)) {
-- rc |= MOUNT_EX_SOMEOK;
-+ nsucc++;
-
- if (mnt_context_is_verbose(cxt))
- printf("%-25s: successfully mounted\n", tgt);
-- }
-+ } else
-+ nerrs++;
- }
- }
-
- if (mnt_context_is_parent(cxt)) {
- /* wait for mount --fork children */
-- int nerrs = 0, nchildren = 0;
-+ int nchildren = 0;
-+
-+ nerrs = 0, nsucc = 0;
-
- rc = mnt_context_wait_for_children(cxt, &nchildren, &nerrs);
- if (!rc && nchildren)
-- rc = nchildren == nerrs ? MOUNT_EX_FAIL : MOUNT_EX_SOMEOK;
-+ nsucc = nchildren - nerrs;
- }
-
-+ if (nerrs == 0)
-+ rc = MOUNT_EX_SUCCESS; /* all success */
-+ else if (nsucc == 0)
-+ rc = MOUNT_EX_FAIL; /* all failed */
-+ else
-+ rc = MOUNT_EX_SOMEOK; /* some success, some failed */
-+
- mnt_free_iter(itr);
- return rc;
- }
---
-1.7.9.2
-
More information about the arch-commits
mailing list