diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/coreutils/0001-cp-don-t-reserve-a-device-number.patch | 77 | ||||
-rw-r--r-- | core/coreutils/PKGBUILD | 11 | ||||
-rw-r--r-- | core/kmod/PKGBUILD | 6 | ||||
-rw-r--r-- | core/libseccomp/PKGBUILD | 24 | ||||
-rw-r--r-- | core/openvpn/PKGBUILD | 8 | ||||
-rw-r--r-- | core/s-nail/PKGBUILD | 8 | ||||
-rw-r--r-- | core/systemd/PKGBUILD | 10 | ||||
-rw-r--r-- | core/systemd/initcpio-install-systemd | 3 | ||||
-rw-r--r-- | core/util-linux/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch | 98 | ||||
-rw-r--r-- | core/util-linux/0001-switch_root-verify-initramfs-by-f_type-not-devno.patch | 59 | ||||
-rw-r--r-- | core/util-linux/PKGBUILD | 22 | ||||
-rw-r--r-- | core/util-linux/move_is_mountinfo.patch | 46 |
12 files changed, 347 insertions, 25 deletions
diff --git a/core/coreutils/0001-cp-don-t-reserve-a-device-number.patch b/core/coreutils/0001-cp-don-t-reserve-a-device-number.patch new file mode 100644 index 000000000..1f276b4a4 --- /dev/null +++ b/core/coreutils/0001-cp-don-t-reserve-a-device-number.patch @@ -0,0 +1,77 @@ +From d0294ff3b90430750a631556277c75f1a555dd44 Mon Sep 17 00:00:00 2001 +From: Paul Eggert <eggert@cs.ucla.edu> +Date: Thu, 3 Apr 2014 09:48:22 -0700 +Subject: [PATCH] cp: don't reserve a device number + +* src/copy.c (copy_internal): Replace dev_t arg DEVICE with struct +stat pointer arg PARENT. All callers changed. This removes an +unwarranted assumption that dev_t values of 0 cannot occur in file +systems. See: http://bugs.gnu.org/17179 +--- + src/copy.c | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) + +diff --git a/src/copy.c b/src/copy.c +index 781cc1e..d471a77 100644 +--- a/src/copy.c ++++ b/src/copy.c +@@ -117,7 +117,7 @@ struct dir_list + #define DEST_INFO_INITIAL_CAPACITY 61 + + static bool copy_internal (char const *src_name, char const *dst_name, +- bool new_dst, dev_t device, ++ bool new_dst, struct stat const *parent, + struct dir_list *ancestors, + const struct cp_options *x, + bool command_line_arg, +@@ -621,7 +621,7 @@ copy_dir (char const *src_name_in, char const *dst_name_in, bool new_dst, + char *dst_name = file_name_concat (dst_name_in, namep, NULL); + bool first_dir_created = *first_dir_created_per_command_line_arg; + +- ok &= copy_internal (src_name, dst_name, new_dst, src_sb->st_dev, ++ ok &= copy_internal (src_name, dst_name, new_dst, src_sb, + ancestors, &non_command_line_options, false, + &first_dir_created, + &local_copy_into_self, NULL); +@@ -1725,9 +1725,8 @@ should_dereference (const struct cp_options *x, bool command_line_arg) + /* Copy the file SRC_NAME to the file DST_NAME. The files may be of + any type. NEW_DST should be true if the file DST_NAME cannot + exist because its parent directory was just created; NEW_DST should +- be false if DST_NAME might already exist. DEVICE is the device +- number of the parent directory, or 0 if the parent of this file is +- not known. ANCESTORS points to a linked, null terminated list of ++ be false if DST_NAME might already exist. A nonnull PARENT describes the ++ parent directory. ANCESTORS points to a linked, null terminated list of + devices and inodes of parent directories of SRC_NAME. COMMAND_LINE_ARG + is true iff SRC_NAME was specified on the command line. + FIRST_DIR_CREATED_PER_COMMAND_LINE_ARG is both input and output. +@@ -1737,7 +1736,7 @@ should_dereference (const struct cp_options *x, bool command_line_arg) + static bool + copy_internal (char const *src_name, char const *dst_name, + bool new_dst, +- dev_t device, ++ struct stat const *parent, + struct dir_list *ancestors, + const struct cp_options *x, + bool command_line_arg, +@@ -2434,7 +2433,7 @@ copy_internal (char const *src_name, char const *dst_name, + } + + /* Decide whether to copy the contents of the directory. */ +- if (x->one_file_system && device != 0 && device != src_sb.st_dev) ++ if (x->one_file_system && parent && parent->st_dev != src_sb.st_dev) + { + /* Here, we are crossing a file system boundary and cp's -x option + is in effect: so don't copy the contents of this directory. */ +@@ -2827,7 +2826,7 @@ copy (char const *src_name, char const *dst_name, + top_level_dst_name = dst_name; + + bool first_dir_created_per_command_line_arg = false; +- return copy_internal (src_name, dst_name, nonexistent_dst, 0, NULL, ++ return copy_internal (src_name, dst_name, nonexistent_dst, NULL, NULL, + options, true, + &first_dir_created_per_command_line_arg, + copy_into_self, rename_succeeded); +-- +1.9.1 + diff --git a/core/coreutils/PKGBUILD b/core/coreutils/PKGBUILD index a367cabdc..26113ba39 100644 --- a/core/coreutils/PKGBUILD +++ b/core/coreutils/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 207977 2014-03-16 10:09:10Z bpiotrowski $ +# $Id: PKGBUILD 210100 2014-04-09 22:21:54Z thomas $ # Maintainer: Sébastien "Seblu" Luttringer # Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> # Contributor: Allan McRae <allan@archlinux.org> @@ -6,7 +6,7 @@ pkgname=coreutils pkgver=8.22 -pkgrel=3 +pkgrel=4 pkgdesc='The basic file, shell and text manipulation utilities of the GNU operating system' arch=('i686' 'x86_64') license=('GPL3') @@ -15,14 +15,17 @@ groups=('base') depends=('glibc' 'pam' 'acl' 'gmp' 'libcap' 'openssl') install=$pkgname.install source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig} - coreutils-8.22-shuf-segfault.patch) + coreutils-8.22-shuf-segfault.patch + 0001-cp-don-t-reserve-a-device-number.patch) md5sums=('8fb0ae2267aa6e728958adc38f8163a2' 'SKIP' - '94f7e6f373f37beb236caabed8fcdb52') + '94f7e6f373f37beb236caabed8fcdb52' + 'ac3825f60b6e0300e375f656a3667c52') prepare() { cd $pkgname-$pkgver patch -p1 -i ../coreutils-8.22-shuf-segfault.patch + patch -p1 -i ../0001-cp-don-t-reserve-a-device-number.patch } build() { diff --git a/core/kmod/PKGBUILD b/core/kmod/PKGBUILD index 9856163cc..7b26d0742 100644 --- a/core/kmod/PKGBUILD +++ b/core/kmod/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 203021 2014-01-01 17:44:12Z dreisner $ +# $Id: PKGBUILD 210102 2014-04-09 22:21:57Z thomas $ # Maintainer: Dave Reisner <dreisner@archlinux.org> pkgname=kmod -pkgver=16 +pkgver=17 pkgrel=1 pkgdesc="Linux kernel module handling" arch=('i686' 'x86_64') @@ -16,7 +16,7 @@ conflicts=('module-init-tools') replaces=('module-init-tools') source=("ftp://ftp.kernel.org/pub/linux/utils/kernel/$pkgname/$pkgname-$pkgver.tar.xz" "depmod-search.conf") -md5sums=('3006a0287211212501cdfe1211b29f09' +md5sums=('bc36d28b12dcb2b664a35411560c5610' 'dd62cbf62bd8f212f51ef8c43bec9a77') build() { diff --git a/core/libseccomp/PKGBUILD b/core/libseccomp/PKGBUILD new file mode 100644 index 000000000..fa8af7a77 --- /dev/null +++ b/core/libseccomp/PKGBUILD @@ -0,0 +1,24 @@ +# Maintainer: Daniel Micay <danielmicay@gmail.com> +# Contributor: Patryk Kowalczyk < patryk at kowalczyk dot ws> + +pkgname=libseccomp +pkgver=2.1.1 +pkgrel=1 +pkgdesc='Enhanced seccomp library' +arch=('i686' 'x86_64') +license=('LGPL2.1') +url="http://sourceforge.net/projects/libseccomp/" +depends=('glibc') +source=("http://downloads.sourceforge.net/project/$pkgname/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz") + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} +md5sums=('1f41207b29e66a7e5e375dd48a64de85') diff --git a/core/openvpn/PKGBUILD b/core/openvpn/PKGBUILD index cce0d84ec..4696adad5 100644 --- a/core/openvpn/PKGBUILD +++ b/core/openvpn/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 199780 2013-11-16 09:28:42Z thomas $ +# $Id: PKGBUILD 210195 2014-04-11 09:28:05Z thomas $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=openvpn -pkgver=2.3.2 -pkgrel=2 +pkgver=2.3.3 +pkgrel=1 pkgdesc="An easy-to-use, robust, and highly configurable VPN (Virtual Private Network)" arch=(i686 x86_64) url="http://openvpn.net/index.php/open-source.html" @@ -14,7 +14,7 @@ install=openvpn.install source=(http://swupdate.openvpn.net/community/releases/openvpn-${pkgver}.tar.gz http://swupdate.openvpn.net/community/releases/openvpn-${pkgver}.tar.gz.asc openvpn@.service) -md5sums=('06e5f93dbf13f2c19647ca15ffc23ac1' +md5sums=('5c66ea3143ac884a3075521bd74ede06' 'SKIP' '71fab8d1c2aa3a1f2609e259eaaf88b3') diff --git a/core/s-nail/PKGBUILD b/core/s-nail/PKGBUILD index 961fd0f87..3dfdf6870 100644 --- a/core/s-nail/PKGBUILD +++ b/core/s-nail/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 207126 2014-03-07 04:54:01Z bisson $ +# $Id: PKGBUILD 210186 2014-04-10 21:57:03Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Sergej Pupykin <pupykin.s@arch@gmail.com> # Contributor: Andreas Wagner <Andreas.Wagner@em.uni-frankfurt.de> pkgname=s-nail -pkgver=14.6.2 +pkgver=14.6.4 pkgrel=1 pkgdesc='Mail processing system with a command syntax reminiscent of ed' url='http://sdaoden.users.sourceforge.net/code.html#s-nail' @@ -14,7 +14,7 @@ arch=('i686' 'x86_64') depends=('openssl') optdepends=('smtp-forwarder: for sending mail') source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}-${pkgver//./_}.tar.xz") -sha1sums=('626debfe8516f8a29eec0e69274c1f26e1858172') +sha1sums=('f1aee095030283a75957aca0f16373ad53c28987') groups=('base') backup=('etc/mail.rc') @@ -37,7 +37,7 @@ build() { check() { cd "${srcdir}/${pkgname}-${pkgver}" - make test || true + make test } package() { diff --git a/core/systemd/PKGBUILD b/core/systemd/PKGBUILD index 54a29a82e..b9b1befb2 100644 --- a/core/systemd/PKGBUILD +++ b/core/systemd/PKGBUILD @@ -4,12 +4,12 @@ pkgbase=systemd pkgname=('systemd' 'libsystemd' 'systemd-sysvcompat') pkgver=212 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url="http://www.freedesktop.org/wiki/Software/systemd" makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gobject-introspection' 'gperf' 'gtk-doc' 'intltool' 'kmod' 'libcap' 'libgcrypt' 'libmicrohttpd' 'libxslt' - 'libutil-linux' 'linux-api-headers' 'pam' 'python' 'python-lxml' 'quota-tools' 'xz') + 'util-linux' 'linux-api-headers' 'pam' 'python' 'python-lxml' 'quota-tools' 'xz') options=('strip' 'debug') source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" 'initcpio-hook-udev' @@ -17,7 +17,7 @@ source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" 'initcpio-install-udev') md5sums=('257a75fff826ff91cb1ce567091cf270' '29245f7a240bfba66e2b1783b63b6b40' - '5e04f468a13ae2b9d6a9dfc77c49a7d1' + '66cca7318e13eaf37c5b7db2efa69846' 'bde43090d4ac0ef048e3eaee8202a407') build() { @@ -48,13 +48,13 @@ package_systemd() { pkgdesc="system and service manager" license=('GPL2' 'LGPL2.1' 'MIT') depends=('acl' 'bash' 'dbus' 'glib2' 'kbd' 'kmod' 'hwids' 'libcap' 'libgcrypt' - 'libsystemd' 'pam' 'libseccomp' 'libutil-linux' 'xz') + 'libsystemd' 'pam' 'libseccomp' 'util-linux' 'xz') provides=('nss-myhostname' "systemd-tools=$pkgver" "udev=$pkgver") replaces=('nss-myhostname' 'systemd-tools' 'udev') conflicts=('nss-myhostname' 'systemd-tools' 'udev') optdepends=('python: systemd library bindings' 'cryptsetup: required for encrypted block devices' - 'libmicrohttpd: systemd-journal-gatewayd' + 'libmicrohttpd: remote journald capabilities' 'quota-tools: kernel-level quota management' 'systemd-sysvcompat: symlink package to provide sysvinit binaries') backup=(etc/dbus-1/system.d/org.freedesktop.systemd1.conf diff --git a/core/systemd/initcpio-install-systemd b/core/systemd/initcpio-install-systemd index 93d547bfc..81ae8eb97 100644 --- a/core/systemd/initcpio-install-systemd +++ b/core/systemd/initcpio-install-systemd @@ -103,8 +103,9 @@ build() { add_binary /usr/lib/systemd/systemd /init add_binary /usr/bin/systemd-tmpfiles - # generate sysroot.mount and sysroot-usr.mount + # generators add_file "/usr/lib/systemd/system-generators/systemd-fstab-generator" + add_file "/usr/lib/systemd/system-generators/systemd-gpt-auto-generator" # udev rules and systemd units map add_udev_rule "$rules" \ diff --git a/core/util-linux/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch b/core/util-linux/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch new file mode 100644 index 000000000..01a8d441b --- /dev/null +++ b/core/util-linux/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch @@ -0,0 +1,98 @@ +From 6c373810f5b1d32824371e9dff6ee5a006388f98 Mon Sep 17 00:00:00 2001 +From: Karel Zak <kzak@redhat.com> +Date: Thu, 20 Feb 2014 16:59:11 +0100 +Subject: [PATCH] libmount: FS id and parent ID could be zero +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It seems that linux 3.14 is able to produce things like: + + 19 0 8:3 / / rw,relatime - ext4 /dev/sda3 rw,data=ordered + ^ + +Reported-by: Mantas Mikulėnas <grawity@gmail.com> +Signed-off-by: Karel Zak <kzak@redhat.com> +--- + libmount/src/tab.c | 12 ++++-------- + misc-utils/findmnt.c | 5 +++-- + 2 files changed, 7 insertions(+), 10 deletions(-) + +diff --git a/libmount/src/tab.c b/libmount/src/tab.c +index 4c2f8a4..332312b 100644 +--- a/libmount/src/tab.c ++++ b/libmount/src/tab.c +@@ -505,7 +505,7 @@ int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root) + assert(tb); + assert(root); + +- if (!tb || !root) ++ if (!tb || !root || !is_mountinfo(tb)) + return -EINVAL; + + DBG(TAB, mnt_debug_h(tb, "lookup root fs")); +@@ -515,8 +515,6 @@ int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root) + mnt_reset_iter(&itr, MNT_ITER_FORWARD); + while(mnt_table_next_fs(tb, &itr, &fs) == 0) { + int id = mnt_fs_get_parent_id(fs); +- if (!id) +- break; /* @tab is not a mountinfo file? */ + + if (!*root || id < root_id) { + *root = fs; +@@ -524,7 +522,7 @@ int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root) + } + } + +- return root_id ? 0 : -EINVAL; ++ return *root ? 0 : -EINVAL; + } + + /** +@@ -545,15 +543,13 @@ int mnt_table_next_child_fs(struct libmnt_table *tb, struct libmnt_iter *itr, + struct libmnt_fs *fs; + int parent_id, lastchld_id = 0, chld_id = 0; + +- if (!tb || !itr || !parent) ++ if (!tb || !itr || !parent || !is_mountinfo(tb)) + return -EINVAL; + + DBG(TAB, mnt_debug_h(tb, "lookup next child of '%s'", + mnt_fs_get_target(parent))); + + parent_id = mnt_fs_get_id(parent); +- if (!parent_id) +- return -EINVAL; + + /* get ID of the previously returned child */ + if (itr->head && itr->p != itr->head) { +@@ -584,7 +580,7 @@ int mnt_table_next_child_fs(struct libmnt_table *tb, struct libmnt_iter *itr, + } + } + +- if (!chld_id) ++ if (!*chld) + return 1; /* end of iterator */ + + /* set the iterator to the @chld for the next call */ +diff --git a/misc-utils/findmnt.c b/misc-utils/findmnt.c +index fb21174..988cd73 100644 +--- a/misc-utils/findmnt.c ++++ b/misc-utils/findmnt.c +@@ -822,8 +822,9 @@ static int tab_is_tree(struct libmnt_table *tb) + if (!itr) + return 0; + +- if (mnt_table_next_fs(tb, itr, &fs) == 0) +- rc = mnt_fs_get_id(fs) > 0 && mnt_fs_get_parent_id(fs) > 0; ++ rc = (mnt_table_next_fs(tb, itr, &fs) == 0 && ++ mnt_fs_is_kernel(fs) && ++ mnt_fs_get_root(fs)); + + mnt_free_iter(itr); + return rc; +-- +1.9.1 + diff --git a/core/util-linux/0001-switch_root-verify-initramfs-by-f_type-not-devno.patch b/core/util-linux/0001-switch_root-verify-initramfs-by-f_type-not-devno.patch new file mode 100644 index 000000000..56191a30e --- /dev/null +++ b/core/util-linux/0001-switch_root-verify-initramfs-by-f_type-not-devno.patch @@ -0,0 +1,59 @@ +From 751c39383adaf5ff5a860516238d524b0e20f835 Mon Sep 17 00:00:00 2001 +From: Dave Reisner <dreisner@archlinux.org> +Date: Wed, 2 Apr 2014 10:41:30 -0400 +Subject: [PATCH] switch_root: verify initramfs by f_type, not devno + +As of linux 3.14, the initramfs device will have both major and +minor 0, causing our paranoia check to fail. Make this version agnostic +by checking the filesystem type, rather than a device number. + +[adopted from master for backport into 2.24.x branch] + +Signed-off-by: Dave Reisner <dreisner@archlinux.org> +--- + sys-utils/switch_root.c | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +diff --git a/sys-utils/switch_root.c b/sys-utils/switch_root.c +index f26f7da..40e222d 100644 +--- a/sys-utils/switch_root.c ++++ b/sys-utils/switch_root.c +@@ -23,6 +23,7 @@ + #include <sys/mount.h> + #include <sys/types.h> + #include <sys/stat.h> ++#include <sys/statfs.h> + #include <sys/param.h> + #include <fcntl.h> + #include <stdio.h> +@@ -33,6 +34,8 @@ + #include <ctype.h> + #include <dirent.h> + ++#include <linux/magic.h> ++ + #include "c.h" + #include "nls.h" + #include "closestream.h" +@@ -174,12 +177,12 @@ static int switchroot(const char *newroot) + if (cfd >= 0) { + pid = fork(); + if (pid <= 0) { +- if (fstat(cfd, &sb) == 0) { +- if (sb.st_dev == makedev(0, 1)) +- recursiveRemove(cfd); +- else +- warn(_("old root filesystem is not an initramfs")); +- } ++ struct statfs stfs; ++ if (fstatfs(cfd, &stfs) == 0 && ++ (stfs.f_type == RAMFS_MAGIC || stfs.f_type == TMPFS_MAGIC)) ++ recursiveRemove(cfd); ++ else ++ warn(_("old root filesystem is not an initramfs")); + + if (pid == 0) + exit(EXIT_SUCCESS); +-- +1.9.1 + diff --git a/core/util-linux/PKGBUILD b/core/util-linux/PKGBUILD index 9bf8e36bc..64d725582 100644 --- a/core/util-linux/PKGBUILD +++ b/core/util-linux/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 208808 2014-03-27 14:42:47Z fyan $ +# $Id: PKGBUILD 210105 2014-04-09 22:22:03Z thomas $ # Maintainer: Tom Gundersen <teg@jklm.no> # Maintainer: Dave Reisner <dreisner@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> @@ -6,7 +6,7 @@ pkgbase=util-linux pkgname=(util-linux libutil-linux) pkgver=2.24.1 -pkgrel=4 +pkgrel=6 pkgdesc="Miscellaneous system utilities for Linux" url="http://www.kernel.org/pub/linux/utils/util-linux/" arch=('i686' 'x86_64') @@ -19,12 +19,26 @@ source=("ftp://ftp.kernel.org/pub/linux/utils/$pkgname/v2.24/$pkgname-$pkgver.ta uuidd.tmpfiles pam-login pam-common - pam-su) + pam-su + move_is_mountinfo.patch + 0001-switch_root-verify-initramfs-by-f_type-not-devno.patch + 0001-libmount-FS-id-and-parent-ID-could-be-zero.patch) md5sums=('88d46ae23ca599ac5af9cf96b531590f' 'a39554bfd65cccfd8254bb46922f4a67' '4368b3f98abd8a32662e094c54e7f9b1' 'a31374fef2cba0ca34dfc7078e2969e4' - 'fa85e5cce5d723275b14365ba71a8aad') + 'fa85e5cce5d723275b14365ba71a8aad' + '4cdc5f9a6e51b032274761a82937d438' + 'b7ca79a0d5318b7cd813bb2573a3f9a9' + '2f4bc305bd11d6bfaa81e6c1eb0c6f1b') + +prepare() { + cd "$pkgname-$pkgver" + + patch -p1 -i "${srcdir}/move_is_mountinfo.patch" + patch -p1 -i "${srcdir}/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch" + patch -p1 -i "${srcdir}/0001-switch_root-verify-initramfs-by-f_type-not-devno.patch" +} build() { cd "$pkgname-$pkgver" diff --git a/core/util-linux/move_is_mountinfo.patch b/core/util-linux/move_is_mountinfo.patch new file mode 100644 index 000000000..ad9387efc --- /dev/null +++ b/core/util-linux/move_is_mountinfo.patch @@ -0,0 +1,46 @@ +diff --git a/libmount/src/tab.c b/libmount/src/tab.c +index 3633b6a..8ae49c8 100644 +--- a/libmount/src/tab.c ++++ b/libmount/src/tab.c +@@ -47,6 +47,20 @@ + #include "strutils.h" + #include "loopdev.h" + ++static int is_mountinfo(struct libmnt_table *tb) ++{ ++ struct libmnt_fs *fs; ++ ++ if (!tb) ++ return 0; ++ ++ fs = list_first_entry(&tb->ents, struct libmnt_fs, ents); ++ if (fs && mnt_fs_is_kernel(fs) && mnt_fs_get_root(fs)) ++ return 1; ++ ++ return 0; ++} ++ + /** + * mnt_new_table: + * +@@ -1229,20 +1335,6 @@ err: + return NULL; + } + +-static int is_mountinfo(struct libmnt_table *tb) +-{ +- struct libmnt_fs *fs; +- +- if (!tb) +- return 0; +- +- fs = list_first_entry(&tb->ents, struct libmnt_fs, ents); +- if (fs && mnt_fs_is_kernel(fs) && mnt_fs_get_root(fs)) +- return 1; +- +- return 0; +-} +- + /** + * mnt_table_is_fs__mounted: + * @tb: /proc/self/mountinfo file |