firmware-<msm8916>: squash firmware blobs (MR 2619)

Squash the packaged venus firmware blobs using pil-squasher so only
one file needs to be loaded rather than many small ones. Linux detects
squashed (.mbn) vs non-squashed (.mdt + .b*) based on file contents
(not file name) so it is fine to install venus.mbn to venus.mdt.
This commit is contained in:
Minecrell 2021-10-19 10:20:17 +02:00 committed by Clayton Craft
parent 3193027687
commit 0b269a5601
No known key found for this signature in database
GPG key ID: 7A3461CA187CEA54
4 changed files with 52 additions and 21 deletions

View file

@ -1,6 +1,6 @@
# Maintainer: Ruby Iris Juric <ruby@srxl.me>
pkgname=firmware-motorola-harpia
pkgver=2
pkgver=3
pkgrel=0
pkgdesc="Firmware for Motorola Moto G4 Play"
url="https://github.com/Sorixelle/vendor_motorola_harpia"
@ -8,28 +8,35 @@ subpackages="$pkgname-wcnss-nv:wcnss_nv $pkgname-venus"
arch="aarch64"
license="proprietary"
options="!check !strip !archcheck !tracedeps pmb:cross-native"
makedepends="pil-squasher"
_commit="a81be710b0ff4ee7e5fd1962184dcd882cc13efc"
source="$pkgname-$_commit.tar.gz::$url/archive/$_commit.tar.gz"
builddir="$srcdir/vendor_motorola_harpia-$_commit"
_fwdir="/lib/firmware/postmarketos"
build() {
# venus.mbn exists already but seems a bit different
pil-squasher venus2.mbn venus.mdt
}
package() {
mkdir -p "$pkgdir"
}
wcnss_nv() {
pkgdesc="Motorola Moto G4 Play Wi-Fi/Bluetooth firmware configuration"
pkgdesc="Motorola Moto G4 Play WiFi/BT firmware configuration"
replaces="firmware-motorola-harpia-wcnss"
cd "$srcdir/vendor_motorola_harpia-$_commit"
install -Dm644 wlan/prima/WCNSS_qcom_wlan_nv.bin -t "$subpkgdir/$_fwdir/wlan/prima"
install -Dm644 "$builddir"/wlan/prima/WCNSS_qcom_wlan_nv.bin -t "$subpkgdir/$_fwdir/wlan/prima"
}
venus() {
pkgdesc="Motorola Moto G4 Play video firmware"
cd "$srcdir/vendor_motorola_harpia-$_commit"
install -Dm644 venus.b* -t "$subpkgdir/$_fwdir/qcom/venus-1.8"
install -Dm644 venus.mdt -t "$subpkgdir/$_fwdir/qcom/venus-1.8"
# Linux detects squashed (.mbn) vs non-squashed (.mdt + .b*) based on
# file contents, so it is fine to install venus.mbn to venus.mdt
install -Dm644 "$builddir"/venus2.mbn "$subpkgdir/$_fwdir"/qcom/venus-1.8/venus.mdt
}
sha512sums="56a7f815bea3d20a5ef0241ae109ac3823c6ac433e2a05389035b7005c7966d7a0a7719dbf5a562c6cf53c18cebd6893d31d27a6efc1a50c307565f873b1aa54 firmware-motorola-harpia-a81be710b0ff4ee7e5fd1962184dcd882cc13efc.tar.gz"

View file

@ -1,16 +1,22 @@
pkgname=firmware-wileyfox-crackling
pkgver=3
pkgrel=1
pkgver=4
pkgrel=0
pkgdesc="Firmware for Wileyfox Swift"
url="https://rizzotherat.gitlab.io/firmware/"
subpackages="$pkgname-venus $pkgname-wcnss-nv:wcnss_nv"
arch="aarch64"
license="proprietary"
options="!check !strip !archcheck !tracedeps pmb:cross-native"
makedepends="pil-squasher"
source="https://rizzotherat.gitlab.io/firmware/crackling.tar.xz"
_fwdir="/lib/firmware/postmarketos"
build() {
# venus.mbn exists already but seems a bit different
pil-squasher venus2.mbn venus.mdt
}
package() {
# parent package is empty
mkdir -p "$pkgdir"
@ -18,14 +24,16 @@ package() {
venus() {
pkgdesc="Wileyfox Swift video firmware"
install -Dm644 "$srcdir"/venus.* -t "$subpkgdir/$_fwdir"/qcom/venus-1.8
# Linux detects squashed (.mbn) vs non-squashed (.mdt + .b*) based on
# file contents, so it is fine to install venus.mbn to venus.mdt
install -Dm644 "$srcdir"/venus2.mbn "$subpkgdir/$_fwdir"/qcom/venus-1.8/venus.mdt
}
wcnss_nv() {
pkgdesc="Wileyfox Swift WiFi/BT firmware configuration"
replaces="firmware-wileyfox-crackling-wcnss"
cd "$srcdir"
install -Dm644 WCNSS_* -t "$subpkgdir/$_fwdir"/wlan/prima
install -Dm644 "$srcdir"/WCNSS_qcom_wlan_nv.bin -t "$subpkgdir/$_fwdir"/wlan/prima
}
sha512sums="44e5c6d2ab28576548689bf43ecf5ac0a2ee42a49e0f993a459a59f80063775a00976bfe1a7db8d82ff82b92bf502832bf1c61ab456a131696f2fa5e09af16b3 crackling.tar.xz"

View file

@ -1,18 +1,25 @@
pkgname=firmware-alcatel-idol347
pkgver=2
pkgrel=1
pkgver=3
pkgrel=0
pkgdesc="Firmware for Alcatel OneTouch Idol 3 (4.7)"
url="https://github.com/vknecht/"
subpackages="$pkgname-venus $pkgname-wcnss-nv:wcnss_nv"
arch="aarch64"
license="proprietary"
options="!check !strip !archcheck !tracedeps pmb:cross-native"
makedepends="pil-squasher"
_repository="firmware-alcatel-idol347"
_commit="28317ed89bb9b568191ce2a6a5f4745a4c67b30f"
source="$pkgname-$_commit.tar.gz::$url/$_repository/archive/$_commit.tar.gz"
builddir="$srcdir/$_repository-$_commit"
_fwdir="/lib/firmware/postmarketos"
build() {
# venus.mbn exists already but seems a bit different
pil-squasher venus2.mbn venus.mdt
}
package() {
# parent package is empty
mkdir -p "$pkgdir"
@ -20,14 +27,16 @@ package() {
venus() {
pkgdesc="Alcatel OneTouch Idol 3 (4.7) video firmware"
install -Dm644 "$srcdir"/"$_repository"-"$_commit"/venus.* -t "$subpkgdir/$_fwdir"/qcom/venus-1.8
# Linux detects squashed (.mbn) vs non-squashed (.mdt + .b*) based on
# file contents, so it is fine to install venus.mbn to venus.mdt
install -Dm644 "$builddir"/venus2.mbn "$subpkgdir/$_fwdir"/qcom/venus-1.8/venus.mdt
}
wcnss_nv() {
pkgdesc="Alcatel OneTouch Idol 3 (4.7) WiFi/BT firmware configuration"
replaces="firmware-alcatel-idol347-wcnss"
cd "$srcdir"/"$_repository"-"$_commit"
install -Dm644 WCNSS_* -t "$subpkgdir/$_fwdir"/wlan/prima
install -Dm644 "$builddir"/WCNSS_qcom_wlan_nv.bin -t "$subpkgdir/$_fwdir"/wlan/prima
}
sha512sums="2199c08b6e07f1b11579c3acd70a4343e5b6a486b563039383450fc5a74584d3e62df63d5ac32592893460617990d9226b0178e4ebed507569321d027e995872 firmware-alcatel-idol347-28317ed89bb9b568191ce2a6a5f4745a4c67b30f.tar.gz"

View file

@ -1,5 +1,5 @@
pkgname=firmware-asus-z010d
pkgver=2
pkgver=3
pkgrel=0
pkgdesc="Firmware for Asus Zenfone Max ZC550KL"
url="https://gitlab.com/camillathechicken/firmware-max"
@ -7,6 +7,7 @@ subpackages="$pkgname-wcnss-nv:wcnss_nv $pkgname-venus"
arch="aarch64"
license="proprietary"
options="!check !strip !archcheck !tracedeps pmb:cross-native"
makedepends="pil-squasher"
_tag="v0.1"
_repo="firmware-max"
@ -16,6 +17,10 @@ builddir="$srcdir/$_repo-$_tag"
_fwdir="/lib/firmware/postmarketos"
build() {
pil-squasher venus2.mbn venus.mdt
}
package() {
# parent package is empty
mkdir -p "$pkgdir"
@ -24,13 +29,15 @@ package() {
wcnss_nv() {
pkgdesc="Asus Zenfone Max ZC550KL WiFi/BT firmware configuration"
replaces="firmware-asus-z010d-wcnss"
cd "$builddir"
install -Dm644 WCNSS_* -t "$subpkgdir/$_fwdir"/wlan/prima
install -Dm644 "$builddir"/WCNSS_qcom_wlan_nv.bin -t "$subpkgdir/$_fwdir"/wlan/prima
}
venus() {
pkgdesc="Asus Zenfone Max ZC550KL video firmware"
install -Dm644 "$builddir"/venus.* -t "$subpkgdir/$_fwdir"/qcom/venus-1.8
# Linux detects squashed (.mbn) vs non-squashed (.mdt + .b*) based on
# file contents, so it is fine to install venus.mbn to venus.mdt
install -Dm644 "$builddir"/venus2.mbn "$subpkgdir/$_fwdir"/qcom/venus-1.8/venus.mdt
}
sha512sums="870c4835de86aac68f29249d6f1545dc8b9ccdb4c3a19ed19eb3429c5d0ab40ed3ffceba36bf54b69a9e3ca2170fde66b2e357a8686580865bfa38e8b99e0cd6 firmware-asus-z010d-v0.1.tar.gz"