summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD217
1 files changed, 105 insertions, 112 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 40c206cbf07f..065ece651d01 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,76 +7,69 @@ pkgdesc="Android image for running in Anbox with Houdini and SuperSU"
arch=('x86_64')
url="https://anbox.io/"
license=('custom')
-makedepends=(
- 'unzip'
- 'squashfs-tools'
-)
-provides=(
- 'anbox-image'
-)
-conflicts=(
- 'anbox-image'
-)
+makedepends=('unzip' 'squashfs-tools')
+provides=('anbox-image')
+conflicts=('anbox-image')
source=(
- "https://build.anbox.io/android-images/${pkgver//./\/}/android_amd64.img"
- "houdini_y.sfs::http://dl.android-x86.org/houdini/7_y/houdini.sfs"
- "houdini_z.sfs::http://dl.android-x86.org/houdini/7_z/houdini.sfs"
- "http://supersuroot.org/downloads/SuperSU-v2.82-201705271822.zip"
- "media_codecs.xml"
- "media_codecs_google_video.xml"
- "media_codecs_google_audio.xml"
- "media_codecs_google_telephony.xml"
+ "https://build.anbox.io/android-images/${pkgver//./\/}/android_amd64.img"
+ "https://github.com/redchenjs/aur-packages/releases/download/anbox-image/houdini_y.sfs"
+ "https://github.com/redchenjs/aur-packages/releases/download/anbox-image/houdini_z.sfs"
+ "http://supersuroot.org/downloads/SuperSU-v2.82-201705271822.zip"
+ "media_codecs.xml"
+ "media_codecs_google_video.xml"
+ "media_codecs_google_audio.xml"
+ "media_codecs_google_telephony.xml"
)
md5sums=(
- '26874452a6521ec2e37400670d438e33'
- '7ebf618b1af94a02322d9f2d2610090b'
- '5ca37e1629edb7d13b18751b72dc98ad'
- '8755c94775431f20bd8de368a2c7a179'
- 'a638728bc2413d908f5eb44a9f09e947'
- '599598e70060eb74c119cf7dac0ce466'
- '43193761081a04ca18a28d4a6e039950'
- '91f5f3e5c31f8e221ae8f318527dcb83'
+ '26874452a6521ec2e37400670d438e33'
+ '7ebf618b1af94a02322d9f2d2610090b'
+ '5ca37e1629edb7d13b18751b72dc98ad'
+ '8755c94775431f20bd8de368a2c7a179'
+ 'a638728bc2413d908f5eb44a9f09e947'
+ '599598e70060eb74c119cf7dac0ce466'
+ '43193761081a04ca18a28d4a6e039950'
+ '91f5f3e5c31f8e221ae8f318527dcb83'
)
build () {
- cd "$srcdir"
-
- # unpack anbox image
- mkdir -p squashfs-root
- rm -rf ./squashfs-root/*
- unsquashfs -f -d ./squashfs-root ./android_amd64.img
-
- # load houdini_y
- mkdir -p houdini_y
- rm -rf ./houdini_y/*
- unsquashfs -f -d ./houdini_y ./houdini_y.sfs
-
- mkdir -p ./squashfs-root/system/lib/arm
- cp -r ./houdini_y/* ./squashfs-root/system/lib/arm
- mv ./squashfs-root/system/lib/arm/libhoudini.so ./squashfs-root/system/lib/libhoudini.so
-
- # load houdini_z
- mkdir -p houdini_z
- rm -rf ./houdini_z/*
- unsquashfs -f -d ./houdini_z ./houdini_z.sfs
-
- mkdir -p ./squashfs-root/system/lib64/arm64
- cp -r ./houdini_z/* ./squashfs-root/system/lib64/arm64
- mv ./squashfs-root/system/lib64/arm64/libhoudini.so ./squashfs-root/system/lib64/libhoudini.so
-
- # add houdini parser
- mkdir -p ./squashfs-root/system/etc/binfmt_misc
- echo ':arm_exe:M::\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28::/system/lib/arm/houdini:P' >> ./squashfs-root/system/etc/binfmt_misc/arm_exe
- echo ':arm_dyn:M::\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x28::/system/lib/arm/houdini:P' >> ./squashfs-root/system/etc/binfmt_misc/arm_dyn
- echo ':arm64_exe:M::\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7::/system/lib64/arm64/houdini64:P' >> ./squashfs-root/system/etc/binfmt_misc/arm64_exe
- echo ':arm64_dyn:M::\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7::/system/lib64/arm64/houdini64:P' >> ./squashfs-root/system/etc/binfmt_misc/arm64_dyn
-
- # add features
- sed -i '/<\/permissions>/d' ./squashfs-root/system/etc/permissions/anbox.xml
- sed -i '/<unavailable-feature name=\"android.hardware.wifi\" \/>/d' ./squashfs-root/system/etc/permissions/anbox.xml
- sed -i '/<unavailable-feature name=\"android.hardware.bluetooth\" \/>/d' ./squashfs-root/system/etc/permissions/anbox.xml
-
- echo ' <feature name="android.hardware.touchscreen" />
+ cd "$srcdir"
+
+ # unpack anbox image
+ mkdir -p squashfs-root
+ rm -rf ./squashfs-root/*
+ unsquashfs -f -d ./squashfs-root ./android_amd64.img
+
+ # load houdini_y
+ mkdir -p houdini_y
+ rm -rf ./houdini_y/*
+ unsquashfs -f -d ./houdini_y ./houdini_y.sfs
+
+ mkdir -p ./squashfs-root/system/lib/arm
+ cp -r ./houdini_y/* ./squashfs-root/system/lib/arm
+ mv ./squashfs-root/system/lib/arm/libhoudini.so ./squashfs-root/system/lib/libhoudini.so
+
+ # load houdini_z
+ mkdir -p houdini_z
+ rm -rf ./houdini_z/*
+ unsquashfs -f -d ./houdini_z ./houdini_z.sfs
+
+ mkdir -p ./squashfs-root/system/lib64/arm64
+ cp -r ./houdini_z/* ./squashfs-root/system/lib64/arm64
+ mv ./squashfs-root/system/lib64/arm64/libhoudini.so ./squashfs-root/system/lib64/libhoudini.so
+
+ # add houdini parser
+ mkdir -p ./squashfs-root/system/etc/binfmt_misc
+ echo ':arm_exe:M::\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28::/system/lib/arm/houdini:P' >> ./squashfs-root/system/etc/binfmt_misc/arm_exe
+ echo ':arm_dyn:M::\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x28::/system/lib/arm/houdini:P' >> ./squashfs-root/system/etc/binfmt_misc/arm_dyn
+ echo ':arm64_exe:M::\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7::/system/lib64/arm64/houdini64:P' >> ./squashfs-root/system/etc/binfmt_misc/arm64_exe
+ echo ':arm64_dyn:M::\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7::/system/lib64/arm64/houdini64:P' >> ./squashfs-root/system/etc/binfmt_misc/arm64_dyn
+
+ # add features
+ sed -i '/<\/permissions>/d' ./squashfs-root/system/etc/permissions/anbox.xml
+ sed -i '/<unavailable-feature name=\"android.hardware.wifi\" \/>/d' ./squashfs-root/system/etc/permissions/anbox.xml
+ sed -i '/<unavailable-feature name=\"android.hardware.bluetooth\" \/>/d' ./squashfs-root/system/etc/permissions/anbox.xml
+
+ echo ' <feature name="android.hardware.touchscreen" />
<feature name="android.hardware.audio.output" />
<feature name="android.hardware.camera" />
<feature name="android.hardware.camera.any" />
@@ -88,57 +81,57 @@ build () {
<feature name="android.hardware.screen.landscape" />
<feature name="android.hardware.wifi" />
<feature name="android.hardware.bluetooth" />' >> ./squashfs-root/system/etc/permissions/anbox.xml
- echo '</permissions>' >> ./squashfs-root/system/etc/permissions/anbox.xml
-
- # set processors
- sed -i '/^ro.product.cpu.abilist=x86_64,x86/ s/$/,arm64-v8a,armeabi-v7a,armeabi/' ./squashfs-root/system/build.prop
- sed -i '/^ro.product.cpu.abilist32=x86/ s/$/,armeabi-v7a,armeabi/' ./squashfs-root/system/build.prop
- sed -i '/^ro.product.cpu.abilist64=x86_64/ s/$/,arm64-v8a/' ./squashfs-root/system/build.prop
-
- # enable nativebridge
- echo 'persist.sys.nativebridge=1' >> ./squashfs-root/system/build.prop
- sed -i 's/ro.dalvik.vm.native.bridge=0/ro.dalvik.vm.native.bridge=libhoudini.so/' ./squashfs-root/default.prop
-
- # enable opengles
- echo 'ro.opengles.version=131072' >> ./squashfs-root/system/build.prop
-
- # install supersu
- rm -f ./squashfs-root/system/bin/su
- rm -f ./squashfs-root/system/xbin/su
- rm -f ./squashfs-root/system/sbin/su
-
- mkdir -p ./squashfs-root/system/bin/.ext
- chmod 777 ./squashfs-root/system/bin/.ext
- install -Dm 755 ./x64/su ./squashfs-root/system/bin/.ext/.su
- install -Dm 755 ./x64/su ./squashfs-root/system/xbin/su
- install -Dm 755 ./x64/su ./squashfs-root/system/xbin/daemonsu
- install -Dm 755 ./x64/supolicy ./squashfs-root/system/xbin/supolicy
- install -Dm 644 ./x64/libsupol.so ./squashfs-root/system/lib64/libsupol.so
-
- mkdir -p ./squashfs-root/system/app/SuperSU
- chmod 755 ./squashfs-root/system/app/SuperSU
- install -Dm 644 ./common/Superuser.apk ./squashfs-root/system/app/SuperSU/Superuser.apk
-
- rm ./squashfs-root/system/bin/app_process
- ln -s /system/xbin/daemonsu ./squashfs-root/system/bin/app_process
- mv ./squashfs-root/system/bin/app_process64 ./squashfs-root/system/bin/app_process64_original
- ln -s /system/xbin/daemonsu ./squashfs-root/system/bin/app_process64
- cp ./squashfs-root/system/bin/app_process64_original ./squashfs-root/system/bin/app_process_init
-
- chmod +w ./squashfs-root/system/etc/init.goldfish.sh
- echo '/system/xbin/daemonsu --auto-daemon &' >> ./squashfs-root/system/etc/init.goldfish.sh
- chmod -w ./squashfs-root/system/etc/init.goldfish.sh
- echo 1 > ./squashfs-root/system/etc/.installed_su_daemon
-
- # install media codecs
- cp media_codec*.xml ./squashfs-root/system/etc/
+ echo '</permissions>' >> ./squashfs-root/system/etc/permissions/anbox.xml
+
+ # set processors
+ sed -i '/^ro.product.cpu.abilist=x86_64,x86/ s/$/,arm64-v8a,armeabi-v7a,armeabi/' ./squashfs-root/system/build.prop
+ sed -i '/^ro.product.cpu.abilist32=x86/ s/$/,armeabi-v7a,armeabi/' ./squashfs-root/system/build.prop
+ sed -i '/^ro.product.cpu.abilist64=x86_64/ s/$/,arm64-v8a/' ./squashfs-root/system/build.prop
+
+ # enable nativebridge
+ echo 'persist.sys.nativebridge=1' >> ./squashfs-root/system/build.prop
+ sed -i 's/ro.dalvik.vm.native.bridge=0/ro.dalvik.vm.native.bridge=libhoudini.so/' ./squashfs-root/default.prop
+
+ # enable opengles
+ echo 'ro.opengles.version=131072' >> ./squashfs-root/system/build.prop
+
+ # install supersu
+ rm -f ./squashfs-root/system/bin/su
+ rm -f ./squashfs-root/system/xbin/su
+ rm -f ./squashfs-root/system/sbin/su
+
+ mkdir -p ./squashfs-root/system/bin/.ext
+ chmod 777 ./squashfs-root/system/bin/.ext
+ install -Dm 755 ./x64/su ./squashfs-root/system/bin/.ext/.su
+ install -Dm 755 ./x64/su ./squashfs-root/system/xbin/su
+ install -Dm 755 ./x64/su ./squashfs-root/system/xbin/daemonsu
+ install -Dm 755 ./x64/supolicy ./squashfs-root/system/xbin/supolicy
+ install -Dm 644 ./x64/libsupol.so ./squashfs-root/system/lib64/libsupol.so
+
+ mkdir -p ./squashfs-root/system/app/SuperSU
+ chmod 755 ./squashfs-root/system/app/SuperSU
+ install -Dm 644 ./common/Superuser.apk ./squashfs-root/system/app/SuperSU/Superuser.apk
+
+ rm ./squashfs-root/system/bin/app_process
+ ln -s /system/xbin/daemonsu ./squashfs-root/system/bin/app_process
+ mv ./squashfs-root/system/bin/app_process64 ./squashfs-root/system/bin/app_process64_original
+ ln -s /system/xbin/daemonsu ./squashfs-root/system/bin/app_process64
+ cp ./squashfs-root/system/bin/app_process64_original ./squashfs-root/system/bin/app_process_init
+
+ chmod +w ./squashfs-root/system/etc/init.goldfish.sh
+ echo '/system/xbin/daemonsu --auto-daemon &' >> ./squashfs-root/system/etc/init.goldfish.sh
+ chmod -w ./squashfs-root/system/etc/init.goldfish.sh
+ echo 1 > ./squashfs-root/system/etc/.installed_su_daemon
+
+ # install media codecs
+ cp media_codec*.xml ./squashfs-root/system/etc/
}
package() {
- cd "$srcdir"
+ cd "$srcdir"
- # repack image
- mksquashfs ./squashfs-root ./android.img -noappend -b 131072 -comp xz -Xbcj x86
+ # repack image
+ mksquashfs ./squashfs-root ./android.img -noappend -b 131072 -comp xz -Xbcj x86
- install -Dm 644 ./android.img "$pkgdir/var/lib/anbox/android.img"
+ install -Dm 644 ./android.img "$pkgdir/var/lib/anbox/android.img"
}