diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2020-05-28 14:27:45 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2020-05-28 14:32:05 +0000 |
commit | ec584ac1d51a44ec86dd7a603b648b69668a1f8d (patch) | |
tree | 7d5378599cbe6e92ca74a26eb548332d707b2f9d | |
parent | 4a3fa3a81140b1e67aa61e09e85ed994658bc728 (diff) |
main/mkinitfs: backport performance fix for initramfs
-rw-r--r-- | main/mkinitfs/0001-mkinitfs-add-optional-support-for-pigz.patch | 46 | ||||
-rw-r--r-- | main/mkinitfs/APKBUILD | 9 |
2 files changed, 52 insertions, 3 deletions
diff --git a/main/mkinitfs/0001-mkinitfs-add-optional-support-for-pigz.patch b/main/mkinitfs/0001-mkinitfs-add-optional-support-for-pigz.patch new file mode 100644 index 00000000000..9f73cf775a2 --- /dev/null +++ b/main/mkinitfs/0001-mkinitfs-add-optional-support-for-pigz.patch @@ -0,0 +1,46 @@ +From 59204d36985de5ba2444d5f3e0d50a119287ec51 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net> +Date: Sat, 25 Jan 2020 12:04:32 +0100 +Subject: [PATCH] mkinitfs: add optional support for pigz + +pigz(1) is a parallel gzip implementation. As such, it significantly +faster than gzip(1). This patch uses pigz(1) instead of gzip(1), +if it is installed, otherwise it just falls back to gzip(1). This is +similar to the current pigz support in abuild. + +Without this patch: + + $ time mkinitfs + ==> initramfs: creating /boot/initramfs-lts + real 0m 38.19s + user 0m 35.47s + sys 0m 0.49s + +With this patch applied and pigz installed: + + ==> initramfs: creating /boot/initramfs-lts + real 0m 13.24s + user 0m 38.30s + sys 0m 0.56s + +This change was discussed on IRC with _ikke_ and mps. +--- + mkinitfs.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mkinitfs.in b/mkinitfs.in +index 9bd95f9..9676fce 100755 +--- a/mkinitfs.in ++++ b/mkinitfs.in +@@ -278,7 +278,7 @@ if [ -z "$list_sources" ] && [ -z "$quiet" ]; then + fi + + case "$initfscomp" in +- gzip) comp="gzip -9" ;; ++ gzip) comp="$(command -v pigz 2>/dev/null || echo gzip) -9" ;; + xz) cmd_exists xz; comp="xz -C crc32 -T 0" ;; + *) echo "Initramfs compression \"$initfscomp\" not supported!"; exit 1 ;; + esac +-- +2.26.2 + diff --git a/main/mkinitfs/APKBUILD b/main/mkinitfs/APKBUILD index 9b5653307e0..4b839c292ca 100644 --- a/main/mkinitfs/APKBUILD +++ b/main/mkinitfs/APKBUILD @@ -2,7 +2,7 @@ pkgname=mkinitfs pkgver=3.4.5 _ver=${pkgver%_git*} -pkgrel=2 +pkgrel=3 pkgdesc="Tool to generate initramfs images for Alpine" url="https://git.alpinelinux.org/cgit/mkinitfs" arch="all" @@ -15,7 +15,9 @@ depends="busybox>=1.28.2-r1 apk-tools>=2.9.1 lddtree>=1.25 kmod" 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/mkinitfs/mkinitfs-$_ver.tar.xz" +source="https://dev.alpinelinux.org/archive/mkinitfs/mkinitfs-$_ver.tar.xz + 0001-mkinitfs-add-optional-support-for-pigz.patch + " build() { make VERSION=$pkgver-r$pkgrel @@ -25,4 +27,5 @@ package() { make install DESTDIR="$pkgdir" } -sha512sums="e12f603dd9a51c0afbafeca7b4a061733514c4cf509b1dd61cc37c94e6102e5b3439d7a0379e1e4179aeaff13a382dab985c9737812e52803f038c1b2bb97cf8 mkinitfs-3.4.5.tar.xz" +sha512sums="e12f603dd9a51c0afbafeca7b4a061733514c4cf509b1dd61cc37c94e6102e5b3439d7a0379e1e4179aeaff13a382dab985c9737812e52803f038c1b2bb97cf8 mkinitfs-3.4.5.tar.xz +50411c3cddbfc49837d750620c57393dc8dfa7beb91f02816345fd66c8068b12d9aef266e50fd7cdc2b3b5fa81f477cbfaed00a2b264055cfd34b61ceb03e63a 0001-mkinitfs-add-optional-support-for-pigz.patch" |