aboutsummaryrefslogtreecommitdiffstats
path: root/main/mkinitfs
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2019-05-29 13:22:33 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2019-05-29 13:23:32 +0200
commit2fad75b7228a57cd1553920bf8c27f1abc9746d9 (patch)
treeb3a87594eda79a096441454a79cd2e38bb6c777f /main/mkinitfs
parentc4a9e56424b800af5e2528b167fa34ebba1278e2 (diff)
downloadaports-2fad75b7228a57cd1553920bf8c27f1abc9746d9.tar.bz2
aports-2fad75b7228a57cd1553920bf8c27f1abc9746d9.tar.xz
main/mkinitfs: backport fix for cryptheader as regular file
Diffstat (limited to 'main/mkinitfs')
-rw-r--r--main/mkinitfs/0001-nlplug-findfs-fix-when-cryptheader-is-a-regular-file.patch45
-rw-r--r--main/mkinitfs/APKBUILD6
2 files changed, 49 insertions, 2 deletions
diff --git a/main/mkinitfs/0001-nlplug-findfs-fix-when-cryptheader-is-a-regular-file.patch b/main/mkinitfs/0001-nlplug-findfs-fix-when-cryptheader-is-a-regular-file.patch
new file mode 100644
index 0000000000..11c1300f06
--- /dev/null
+++ b/main/mkinitfs/0001-nlplug-findfs-fix-when-cryptheader-is-a-regular-file.patch
@@ -0,0 +1,45 @@
+From bedf249e829f34d51cc8c4e4eef864b9b6163450 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Wed, 29 May 2019 13:19:24 +0200
+Subject: [PATCH] nlplug-findfs: fix when cryptheader is a regular file
+
+Handle case when the crypt header is a normal file which is included in
+initramfs and not a blockdevice.
+---
+ nlplug-findfs.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/nlplug-findfs.c b/nlplug-findfs.c
+index 0283161..9f15de5 100644
+--- a/nlplug-findfs.c
++++ b/nlplug-findfs.c
+@@ -1213,6 +1213,13 @@ static void usage(int rc)
+ exit(rc);
+ }
+
++static int regular_file(const char *path)
++{
++ struct stat st;
++ int r = stat(path, &st);
++ return r == -1 ? 0 : S_ISREG(st.st_mode);
++}
++
+ int main(int argc, char *argv[])
+ {
+ struct pollfd fds[3];
+@@ -1262,6 +1269,12 @@ int main(int argc, char *argv[])
+ break;
+ case 'H':
+ conf.crypt.header.device = EARGF(usage(1));
++ /* the header may be in a regular file and not a device */
++ if (regular_file(conf.crypt.header.device)) {
++ snprintf(conf.crypt.header.devnode,
++ sizeof(conf.crypt.header.devnode),
++ "%s", conf.crypt.header.device);
++ }
+ break;
+ case 'h':
+ usage(0);
+--
+2.21.0
+
diff --git a/main/mkinitfs/APKBUILD b/main/mkinitfs/APKBUILD
index 3a10725663..b9e86fde1b 100644
--- a/main/mkinitfs/APKBUILD
+++ b/main/mkinitfs/APKBUILD
@@ -2,7 +2,7 @@
pkgname=mkinitfs
pkgver=3.4.2
_ver=${pkgver%_git*}
-pkgrel=0
+pkgrel=1
pkgdesc="Tool to generate initramfs images for Alpine"
url="https://git.alpinelinux.org/cgit/mkinitfs"
arch="all"
@@ -17,6 +17,7 @@ subpackages="$pkgname-doc"
install="$pkgname.pre-upgrade $pkgname.post-install $pkgname.post-upgrade"
triggers="$pkgname.trigger=/usr/share/kernel/*"
source="https://dev.alpinelinux.org/archive/$pkgname/$pkgname-$_ver.tar.xz
+ 0001-nlplug-findfs-fix-when-cryptheader-is-a-regular-file.patch
"
builddir="$srcdir/$pkgname-$_ver"
@@ -31,4 +32,5 @@ package() {
make install DESTDIR="$pkgdir"
}
-sha512sums="4eb28928052dddf7d092b1b18c868bc92435ad1702101db5973b9f4969bda89ccc4efb12cd7fd849037f6a663ef2e4a8b54f4b01747222dae5a9e8d1a31804bc mkinitfs-3.4.2.tar.xz"
+sha512sums="4eb28928052dddf7d092b1b18c868bc92435ad1702101db5973b9f4969bda89ccc4efb12cd7fd849037f6a663ef2e4a8b54f4b01747222dae5a9e8d1a31804bc mkinitfs-3.4.2.tar.xz
+0bca7e4f48b944eb8b802ea728393d76bf1132a165e7ca443394f06c79117fdbe284a3b233558ff527c96f2ce3a21adcc9df9cc93d287eb3e9dd1c16e938a3a2 0001-nlplug-findfs-fix-when-cryptheader-is-a-regular-file.patch"