summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/coreutils/0001-cp-don-t-reserve-a-device-number.patch77
-rw-r--r--core/coreutils/PKGBUILD11
-rw-r--r--core/kmod/PKGBUILD6
-rw-r--r--core/libseccomp/PKGBUILD24
-rw-r--r--core/openvpn/PKGBUILD8
-rw-r--r--core/s-nail/PKGBUILD8
-rw-r--r--core/systemd/PKGBUILD10
-rw-r--r--core/systemd/initcpio-install-systemd3
-rw-r--r--core/util-linux/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch98
-rw-r--r--core/util-linux/0001-switch_root-verify-initramfs-by-f_type-not-devno.patch59
-rw-r--r--core/util-linux/PKGBUILD22
-rw-r--r--core/util-linux/move_is_mountinfo.patch46
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