summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pcr/abootimg/PKGBUILD46
-rw-r--r--pcr/abootimg/no-initrd.patch35
2 files changed, 81 insertions, 0 deletions
diff --git a/pcr/abootimg/PKGBUILD b/pcr/abootimg/PKGBUILD
new file mode 100644
index 000000000..22f46210b
--- /dev/null
+++ b/pcr/abootimg/PKGBUILD
@@ -0,0 +1,46 @@
+# Contributor: Bailey Fox <bfox200012@gmail.com>
+# Contributor: ajs124 < aur AT ajs124 DOT de >
+# Contributor: Benoit Favre <benoit.favre@gmail.com>
+# Contributor: Thomas Hebb <tommyhebb@gmail.com>
+# Contributor: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+
+pkgname=abootimg
+pkgver=0.6
+pkgrel=1
+pkgdesc="A tool to read/write/update old android boot images"
+arch=('i686' 'x86_64' 'arm' 'armv7h')
+url="https://github.com/ggrandou/abootimg"
+license=('GPL')
+depends=('util-linux' 'cpio')
+makedepends=('git')
+provides=('abootimg')
+source=("http://http.debian.net/debian/pool/main/a/abootimg/abootimg_${pkgver}.orig.tar.gz"
+ "http://http.debian.net/debian/pool/main/a/abootimg/abootimg_${pkgver}-1.diff.gz"
+ 'no-initrd.patch')
+sha512sums=('b96be8abe9bccfb7694c1d8f30b3a5dcc0e411b73fc78eb15f1488207032aa4737286be776b78e41bc14216e8d78ec768bbb2f91f0fe53192f08df8b6497d28f'
+ '66884cf42c7c2121065cec6e974f3c6d301e058231b910db8e4816ed5274d7e6eb6045d1649b059c468e6760b16046ae7ef58756c810967e47e6214e0fc0612f'
+ 'SKIP')
+
+prepare() {
+ cd "${srcdir}/abootimg-${pkgver}"
+ patch -p0 --binary < ../no-initrd.patch
+ patch -p1 --binary < ../abootimg_0.6-1.diff
+}
+
+build() {
+ cd "${srcdir}/abootimg-${pkgver}"
+
+ make
+ gzip -f debian/abootimg.1
+}
+
+package() {
+ cd "${srcdir}/abootimg-${pkgver}"
+
+ install -d "${pkgdir}/usr/bin"
+ install -d "${pkgdir}/usr/share/man/man1/"
+ install abootimg -t "${pkgdir}/usr/bin"
+ install pack-initrd "${pkgdir}/usr/bin/abootimg-pack-initrd"
+ install unpack-initrd "${pkgdir}/usr/bin/abootimg-unpack-initrd"
+ install debian/abootimg.1.gz -t "${pkgdir}/usr/share/man/man1/"
+}
diff --git a/pcr/abootimg/no-initrd.patch b/pcr/abootimg/no-initrd.patch
new file mode 100644
index 000000000..a523845fb
--- /dev/null
+++ b/pcr/abootimg/no-initrd.patch
@@ -0,0 +1,35 @@
+This patch incorporates a patch made by John Stultz <https://github.com/johnstultz-work> to allow abootimg to
+work with newer Android aboots that do not include an initrd
+--- abootimg.c 2019-03-12 03:16:42.335616885 -0500
++++ abootimg.c.1 2019-03-12 03:18:01.550892862 -0500
+@@ -163,7 +163,7 @@
+ "\n"
+ " bootimg has to be valid Android Boot Image, or the update will abort.\n"
+ "\n"
+- " abootimg --create <bootimg> [-c \"param=value\"] [-f <bootimg.cfg>] -k <kernel> -r <ramdisk> [-s <secondstage>]\n"
++ " abootimg --create <bootimg> [-c \"param=value\"] [-f <bootimg.cfg>] -k <kernel> [-r <ramdisk>] [-s <secondstage>]\n"
+ "\n"
+ " create a new image from scratch.\n"
+ " if the boot image file is a block device, sanity check will be performed to avoid overwriting a existing\n"
+@@ -291,7 +291,11 @@
+
+ if (!(img->header.ramdisk_size)) {
+ fprintf(stderr, "%s: ramdisk size is null\n", img->fname);
+- return 1;
++ /*
++ * On newer AOSP devices, system can be used as rootfs,
++ * resulting in no initrd being used. Thus this case should
++ * not be fatal.
++ */
+ }
+
+ unsigned page_size = img->header.page_size;
+@@ -932,7 +936,7 @@
+ break;
+
+ case create:
+- if (!bootimg->kernel_fname || !bootimg->ramdisk_fname) {
++ if (!bootimg->kernel_fname) {
+ print_usage();
+ break;
+ }