From ac86b5e760dc0ba6a38cbfdaed7b94c92979f40c Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 27 May 2022 14:15:17 +0200 Subject: [PATCH] community/firmware-qcom-db410c: upgrade to 1036.1 (except -wcnss) (MR 3163) While the newer "Linux board support package" has newer versions for the "modem" and "venus" firmware, the "wcnss" firmware is actually older than the one in the previous 1034.2.1 release. To avoid downgrading it, it is still packaged from the old release in a separate APKBUILD. (It is probably also better tested than the new release...) [ci:skip-vercheck]: non-zero pkgrel is intended to match old package [ci:skip-build] already built successfully in CI --- .../firmware-qcom-db410c-wcnss/APKBUILD | 46 +++++++++++++++++++ .../community/firmware-qcom-db410c/APKBUILD | 28 ++++------- 2 files changed, 55 insertions(+), 19 deletions(-) create mode 100644 device/community/firmware-qcom-db410c-wcnss/APKBUILD diff --git a/device/community/firmware-qcom-db410c-wcnss/APKBUILD b/device/community/firmware-qcom-db410c-wcnss/APKBUILD new file mode 100644 index 000000000..f250a0fb1 --- /dev/null +++ b/device/community/firmware-qcom-db410c-wcnss/APKBUILD @@ -0,0 +1,46 @@ +pkgname=firmware-qcom-db410c-wcnss +pkgver=1034.2.1 +pkgrel=3 +pkgdesc="DragonBoard 410c WiFi/BT firmware" +url="https://releases.linaro.org/96boards/dragonboard410c/qualcomm/firmware/" +subpackages="$pkgname-doc" +arch="aarch64 armv7" +license="custom" +options="!check !strip !archcheck !tracedeps pmb:cross-native" +makedepends="mtools pil-squasher" +source="https://releases.linaro.org/96boards/dragonboard410c/qualcomm/firmware/linux-board-support-package-r$pkgver.zip" +builddir="$srcdir/linux-board-support-package-r$pkgver" + +# This package is a replacement for linux-firmware-qcom (packaging only necessary +# firmware plus some missing ones), so it's packaged in /qcom, not /postmarketos. +replaces="linux-firmware-qcom" +_fwdir="/lib/firmware/qcom" + +unpack() { + default_unpack + + # Extract firmware files from FAT file system image + mcopy -i "$builddir"/bootloaders-linux/NON-HLOS.bin -p -m -v \ + ::image/wcnss.* "$builddir" +} + +build() { + pil-squasher wcnss.mbn wcnss.mdt +} + +package() { + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE + install -Dm644 NOTICE.txt "$pkgdir"/usr/share/licenses/$pkgname/NOTICE + + # Use this firmware by default for devices that can use unsigned firmware + provides="firmware-qcom-msm8916-wcnss" + provider_priority=100 + + install -Dm644 "$builddir"/wcnss.mbn -t "$pkgdir/$_fwdir"/apq8016/ + + # Still link to old location in case this is installed on other devices + mkdir -p "$pkgdir"/lib/firmware/postmarketos + ln -s "$_fwdir"/apq8016/wcnss.mbn "$pkgdir"/lib/firmware/postmarketos/wcnss.mdt +} + +sha512sums="4b5d0250552ff3b0a55af9395e62064299a1240f22a5f50383de95723db964351412fa2b38f24fe73fdeb613366e0eb6b3c335600c238546db783ca84647e2d2 linux-board-support-package-r1034.2.1.zip" diff --git a/device/community/firmware-qcom-db410c/APKBUILD b/device/community/firmware-qcom-db410c/APKBUILD index 61c7b1d0c..707ca338e 100644 --- a/device/community/firmware-qcom-db410c/APKBUILD +++ b/device/community/firmware-qcom-db410c/APKBUILD @@ -1,11 +1,11 @@ pkgname=firmware-qcom-db410c -pkgver=1034.2.1 -pkgrel=2 +pkgver=1036.1 +pkgrel=0 pkgdesc="Firmware for DragonBoard 410c" url="https://releases.linaro.org/96boards/dragonboard410c/qualcomm/firmware/" subpackages=" $pkgname-doc - $pkgname-wcnss $pkgname-wcnss-nv:wcnss_nv + $pkgname-wcnss-nv:wcnss_nv $pkgname-modem $pkgname-venus " @@ -26,11 +26,10 @@ unpack() { # Extract firmware files from FAT file system image mcopy -i "$builddir"/bootloaders-linux/NON-HLOS.bin -p -m -v \ - ::image/mba.mbn ::image/modem.* ::image/wcnss.* "$builddir" + ::image/mba.mbn ::image/modem.* "$builddir" } build() { - pil-squasher wcnss.mbn wcnss.mdt pil-squasher modem.mbn modem.mdt pil-squasher venus.mbn proprietary-linux/venus.mdt } @@ -46,19 +45,8 @@ modem() { install -Dm644 "$builddir"/modem.mbn -t "$subpkgdir/$_fwdir"/apq8016/ } -wcnss() { - pkgdesc="DragonBoard 410c WiFi/BT firmware" - - # Use this firmware by default for devices that can use unsigned firmware - provides="firmware-qcom-msm8916-wcnss" - provider_priority=100 - - install -Dm644 "$builddir"/wcnss.mbn -t "$subpkgdir/$_fwdir"/apq8016/ - - # Still link to old location in case this is installed on other devices - mkdir -p "$subpkgdir"/lib/firmware/postmarketos - ln -s "$_fwdir"/apq8016/wcnss.mbn "$subpkgdir"/lib/firmware/postmarketos/wcnss.mdt -} +# For some reason the wcnss firmware in r1036.1 is actually older than the one +# in r1034.2.1, so firmware-qcom-db410c-wcnss is packaged separately. wcnss_nv() { pkgdesc="DragonBoard 410c WiFi/BT firmware configuration" @@ -78,4 +66,6 @@ venus() { install -Dm644 "$builddir"/venus.mbn "$subpkgdir/$_fwdir"/venus-1.8/venus.mdt } -sha512sums="4b5d0250552ff3b0a55af9395e62064299a1240f22a5f50383de95723db964351412fa2b38f24fe73fdeb613366e0eb6b3c335600c238546db783ca84647e2d2 linux-board-support-package-r1034.2.1.zip" +sha512sums=" +99316352669c488b26d93353e0408c0b761809f41b9e13630fdf4de393e36f72477847bd2f8e893e8c98bb94c82a615d3fc4a615db1055df7314269c514bae0e linux-board-support-package-r1036.1.zip +"