summaryrefslogtreecommitdiff
path: root/scripts/package-build/linux-kernel/build-linux-firmware.sh
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2026-08-08 19:46:46 +0000
committerChristian Breunig <christian@breunig.cc>2026-08-08 22:39:56 +0200
commit07a3aa72ea686cbc922a60418500975b83016d80 (patch)
treef8c2cbebf49c17fb7d73d8401c4f592b480d891f /scripts/package-build/linux-kernel/build-linux-firmware.sh
parent28b9d9d6bf304586bb4ba3529e5294047f649b73 (diff)
downloadvyos-build-07a3aa72ea686cbc922a60418500975b83016d80.tar.gz
vyos-build-07a3aa72ea686cbc922a60418500975b83016d80.zip
Kernel: T9181: replace fpm with real Debian packaging, drop fpm entirely
Convert build-nat-rtsp.sh, build-ipt-netflow.sh, build-intel-nic.sh, build-intel-qat.sh and build-linux-firmware.sh from fpm to debmake + debuild, matching the jool/realtek packaging style.
Diffstat (limited to 'scripts/package-build/linux-kernel/build-linux-firmware.sh')
-rwxr-xr-xscripts/package-build/linux-kernel/build-linux-firmware.sh49
1 files changed, 45 insertions, 4 deletions
diff --git a/scripts/package-build/linux-kernel/build-linux-firmware.sh b/scripts/package-build/linux-kernel/build-linux-firmware.sh
index e018bce8..d542327d 100755
--- a/scripts/package-build/linux-kernel/build-linux-firmware.sh
+++ b/scripts/package-build/linux-kernel/build-linux-firmware.sh
@@ -1,4 +1,5 @@
#!/bin/bash
+set -e
# All selected drivers are then precomfiled "make drivers/foo/bar.i" and we grep for
# the magic word "UNIQUE_ID_firmware" which identifies firmware files.
@@ -6,6 +7,7 @@
CWD=$(pwd)
LINUX_FIRMWARE="linux-firmware"
KERNEL_VAR_FILE=${CWD}/kernel-vars
+. ${CWD}/common.sh
. ${KERNEL_VAR_FILE}
@@ -87,10 +89,49 @@ done
echo "I: Create linux-firmware package"
rm -f ${VYOS_FIRMWARE_NAME}_*.deb
-fpm --input-type dir --output-type deb --name ${VYOS_FIRMWARE_NAME} \
- --maintainer "VyOS Package Maintainers <maintainers@vyos.net>" \
- --description "Binary firmware for various drivers in the Linux kernel" \
- --architecture all --version ${GIT_COMMIT} --deb-compression gz -C ${VYOS_FIRMWARE_DIR}
+
+PACKAGE_VERSION=$(debian_version "${GIT_COMMIT}")
+
+cd ${VYOS_FIRMWARE_DIR}
+
+debmake -n -y -p ${VYOS_FIRMWARE_NAME} -u ${PACKAGE_VERSION} \
+ -e maintainers@vyos.net -f "VyOS Package Maintainers"
+
+cat << EOF > debian/control
+Source: ${VYOS_FIRMWARE_NAME}
+Section: kernel
+Priority: optional
+Maintainer: VyOS Package Maintainers <maintainers@vyos.net>
+Build-Depends: debhelper-compat (= 13)
+Standards-Version: 4.5.1
+Rules-Requires-Root: no
+
+Package: ${VYOS_FIRMWARE_NAME}
+Architecture: all
+Depends: \${misc:Depends}
+Description: Binary firmware for various drivers in the Linux kernel
+ Firmware blobs assembled from linux-firmware.git for the drivers built
+ into the VyOS kernel.
+EOF
+
+cat << EOF > debian/rules
+#!/usr/bin/make -f
+PACKAGE_BUILD_DIR := debian/${VYOS_FIRMWARE_NAME}
+
+%:
+ dh \$@
+
+override_dh_auto_build:
+ @true
+
+override_dh_auto_install:
+ mkdir -p \${PACKAGE_BUILD_DIR}
+ cp -a lib \${PACKAGE_BUILD_DIR}/
+EOF
+
+debuild
+
+cd ${CWD}
rm -rf "${LINUX_FIRMWARE_BUILD_DIR}"
rm -rf ${VYOS_FIRMWARE_DIR}