Github messages for voidlinux
 help / color / mirror / Atom feed
From: classabbyamp <classabbyamp@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] rpi-*: update and support rpi5
Date: Sat, 18 Nov 2023 05:02:20 +0100	[thread overview]
Message-ID: <20231118040220.v_Dfw4p72K9d3tMqGbXEP1AH3qsIcS3I6V2uL9_-9es@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-47288@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 642 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages rpi5
https://github.com/void-linux/void-packages/pull/47288

rpi-*: update and support rpi5
- rpi-kernel: update to 6.1.62.
- rpi-firmware: update to 20231102.
- New package: rpi-utils-20231105
- rpi-eeprom: update to 2023.11.09.

#### Testing the changes
- I tested the changes in this PR: **YES** (RPi5 glibc so far)

prebuilt packages and RPi5-compatible install images coming soon

[ci skip]


A patch file from https://github.com/void-linux/void-packages/pull/47288.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-rpi5-47288.patch --]
[-- Type: text/x-diff, Size: 21806 bytes --]

From cdaa7b93256d481a0678a7c2de9baa3336133a33 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 17 Nov 2023 13:48:03 -0500
Subject: [PATCH 1/4] rpi-kernel: update to 6.1.62.

- add rpi5 support and optimised kernel
- add support for BTRFS root
- add /proc/config.gz by default
---
 srcpkgs/rpi-kernel/template | 221 +++++++++++++++++++++++-------------
 srcpkgs/rpi5-kernel         |   1 +
 srcpkgs/rpi5-kernel-headers |   1 +
 3 files changed, 143 insertions(+), 80 deletions(-)
 create mode 120000 srcpkgs/rpi5-kernel
 create mode 120000 srcpkgs/rpi5-kernel-headers

diff --git a/srcpkgs/rpi-kernel/template b/srcpkgs/rpi-kernel/template
index 2fa1bb54b683e..d90257a9a044b 100644
--- a/srcpkgs/rpi-kernel/template
+++ b/srcpkgs/rpi-kernel/template
@@ -12,9 +12,9 @@
 #
 # Upstream documentation: https://www.raspberrypi.com/documentation/computers/linux_kernel.html
 pkgname=rpi-kernel
-version=6.1.54
+version=6.1.62
 revision=1
-_githash=fad58933544bb2a7b7db92847c25c79a83171fa6
+_githash=3fdb0eb8be5803a16fc308b8441cdcdeafbb944e
 archs="armv6l* armv7l* aarch64*"
 hostmakedepends="perl kmod uboot-mkimage openssl-devel bc bison flex xz"
 makedepends="ncurses-devel"
@@ -23,8 +23,10 @@ maintainer="Piraty <mail@piraty.dev>"
 license="GPL-2.0-only"
 homepage="http://www.kernel.org"
 distfiles="https://github.com/raspberrypi/linux/archive/${_githash}.tar.gz"
-checksum=1bd02902fae49351fb16ac0d5ccc3bf4d67aa0640006dbbf8846963519b01ab8
+checksum=a44b7d642fc2d80a8cfd05d0b461ecbff019680932754b3f9190bb22be9b8fe2
 python_version=3
+provides="rpi-kernel-${version}_${revision}"
+replaces="rpi5-kernel>=0"
 
 _kernver="${version}_${revision}"
 
@@ -51,28 +53,20 @@ case "$XBPS_TARGET_MACHINE" in
 	*) broken="No Raspberry Pi exists for this arch" ;;
 esac
 
+make_build_args=("-j$XBPS_MAKEJOBS" "ARCH=$_arch")
+make_install_args=("-j$XBPS_MAKEJOBS" "ARCH=$_arch")
+
 if [ "$CROSS_BUILD" ]; then
-	_cross="CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-"
-else
-	_cross=
+	make_build_args+=("CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-")
 fi
 
-do_configure() {
-	local target defconfig
-
-	case "$XBPS_TARGET_MACHINE" in
-		# for zero, 1
-		armv6l*) target=bcmrpi_defconfig ;;
-		# for 2
-		armv7l*) target=bcm2709_defconfig ;;
-		# for 3, 4, zero 2
-		aarch64*) target=bcm2711_defconfig ;;
-	esac
+_configure() {
+	local target="$1" defconfig
 
 	defconfig="arch/${_arch}/configs/${target}"
 	cp "$defconfig" .config
 
-	cat <<-! > "foo"
+	cat <<-! > void.config
 	CONFIG_CONNECTOR=y
 	CONFIG_HID_STEAM=y
 	CONFIG_PROC_EVENTS=y
@@ -113,15 +107,19 @@ do_configure() {
 	CONFIG_LZ4_COMPRESS=y
 	CONFIG_CRYPTO_RNG=y
 	CONFIG_CRYPTO_RNG_DEFAULT=y
+	CONFIG_BTRFS_FS=y
+	CONFIG_BTRFS_POSIX_ACL=y
+	CONFIG_IKCONFIG_PROC=y
 	!
 
 	while read -r line; do
+		local option="" str="" cmd=""
 		# skip comments
 		case "$line" in
 			"#"*) continue;;
 		esac
-		local option=${line%%=*} str=
-		local cmd="$(echo "$line" | cut -d= -f2)"
+		option="${line%%=*}"
+		cmd="$(echo "$line" | cut -d= -f2)"
 		case "$cmd" in
 			y) cmd="enable";;
 			n) cmd="disable";;
@@ -135,31 +133,27 @@ do_configure() {
 		./scripts/config \
 			--file .config \
 			"--$cmd" "$option" "${str//\"/}"
-	done < foo
+	done < void.config
 
-	make "${makejobs}" "${_cross}" ARCH="${_arch}" olddefconfig
+	make "${make_build_args[@]}" olddefconfig
 }
 
-do_build() {
-	make "${makejobs}" "${_cross}" ARCH="${_arch}" prepare
-	make "${makejobs}" "${_cross}" ARCH="${_arch}" "${_image_target}" modules dtbs
-}
-
-do_install() {
-	local hdrdest="${DESTDIR}/usr/src/${sourcepkg}-headers-${_kernver}"
+_install() {
+	local _pkg="$1" _destdir="$2"
+	local hdrdest="usr/src/${_pkg}-headers-${_kernver}"
 
 	# Run depmod after compressing modules.
 	vsed -i -e '2iexit 0' scripts/depmod.sh
 
 	# Install kernel, firmware and modules
-	make "${makejobs}" ARCH="${_arch}" INSTALL_MOD_PATH="${DESTDIR}" modules_install
+	make "${make_install_args[@]}" INSTALL_MOD_PATH="${_destdir}" modules_install
 
 	# Install device tree blobs
-	make "${makejobs}" "ARCH=${_arch}" INSTALL_DTBS_PATH="${DESTDIR}/boot" dtbs_install
+	make "${make_install_args[@]}" INSTALL_DTBS_PATH="${_destdir}/boot" dtbs_install
 
 	# move dtbs that ended up in /boot/broadcom
-	if [ -d "${DESTDIR}/boot/broadcom" ]; then
-		mv "${DESTDIR}"/boot/broadcom/*dtb "${DESTDIR}/boot"
+	if [ -d "${_destdir}/boot/broadcom" ]; then
+		mv "${_destdir}"/boot/broadcom/*dtb "${_destdir}/boot"
 	fi
 
 	# Install kernel image
@@ -167,96 +161,118 @@ do_install() {
 
 	# Switch to /usr.
 	vmkdir usr
-	mv "${DESTDIR}/lib" "${DESTDIR}/usr"
+	mv "${_destdir}/lib" "${_destdir}/usr"
 
-	pushd "${DESTDIR}/usr/lib/modules/${_kernver}"
+	pushd "${_destdir}/usr/lib/modules/${_kernver}"
 	rm -f source build
-	ln -sf "../../../src/${sourcepkg}-headers-${_kernver}" build
+	ln -sf "../../../src/${_pkg}-headers-${_kernver}" build
 	popd
 
 	# Install required headers to build external modules
-	install -Dm644 Makefile "${hdrdest}/Makefile"
-	install -Dm644 Kbuild "${hdrdest}/Kbuild"
-	install -Dm644 kernel/Makefile "${hdrdest}/kernel/Makefile"
-	install -Dm644 .config "${hdrdest}/.config"
-	while read -r file; do
-		mkdir -p "${hdrdest}/$(dirname "$file")"
-		install -Dm644 "$file" "${hdrdest}/${file}"
-	done < <(find . -name 'Kconfig*')
-	while read -r file; do
-		mkdir -p "${hdrdest}/$(dirname $file)"
-		install -Dm644 "$file" "${hdrdest}/${file}"
-	done < <(find "arch/${_arch}" scripts -name module.lds -o -name Kbuild.platforms -o -name Platform)
-	mkdir -p "${hdrdest}/include"
+	vinstall Makefile 644 "${hdrdest}"
+	vinstall Kbuild 644 "${hdrdest}"
+	vinstall kernel/Makefile 644 "${hdrdest}/kernel"
+	vinstall .config 644 "${hdrdest}"
+	find . -name 'Kconfig*' | \
+		while read -r file; do
+		vinstall "$file" 644 "${hdrdest}/$(dirname "$file")"
+	done
+	find "arch/${_arch}" scripts -name module.lds -o -name Kbuild.platforms -o -name Platform | \
+		while read -r file; do
+		vinstall "$file" 644 "${hdrdest}/$(dirname "$file")"
+	done
+	vmkdir "${hdrdest}/include"
 
 	# Remove firmware stuff provided by the "linux-firmware" pkg.
-	rm -rf "${DESTDIR}/usr/lib/firmware"
+	rm -rf "${_destdir}/usr/lib/firmware"
 
-	for i in acpi asm-generic clocksource config crypto drm dt-bindings generated linux \
+	for d in acpi asm-generic clocksource config crypto drm dt-bindings generated linux \
 		math-emu media net pcmcia scsi sound trace uapi vdso video xen; do
-		[ -d include/$i ] && cp -a "include/$i" "${hdrdest}/include"
+		[ -d include/$d ] && vcopy "include/$d" "${hdrdest}/include"
 	done
 
 	# Remove helper binaries built for host,
 	# if generated files from the scripts/ directory need to be included,
 	# they need to be copied to ${hdrdest} before this step
 	if [ "$CROSS_BUILD" ]; then
-		make "${makejobs}" ARCH="${_arch}" _mrproper_scripts
+		make "${make_install_args[@]}" _mrproper_scripts
 		# remove host specific objects as well
 		find scripts -name '*.o' -delete
 	fi
 
 	# Copy files necessary for later builds.
-	cp Module.symvers "${hdrdest}"
-	cp -a scripts "${hdrdest}"
-	mkdir -p "${hdrdest}/security/selinux"
-	cp -a security/selinux/include "${hdrdest}/security/selinux"
-	mkdir -p "${hdrdest}/tools/include"
-	cp -a tools/include/tools "${hdrdest}/tools/include"
+	vinstall Module.symvers 644 "${hdrdest}"
+	vcopy scripts "${hdrdest}"
+	vmkdir "${hdrdest}/security/selinux"
+	vcopy security/selinux/include "${hdrdest}/security/selinux"
+	vmkdir "${hdrdest}/tools/include"
+	vcopy tools/include/tools "${hdrdest}/tools/include"
 	if [ -d "arch/${_arch}/tools" ]; then
-		cp -a "arch/${_arch}/tools" "${hdrdest}/arch/${_arch}"
+		vcopy "arch/${_arch}/tools" "${hdrdest}/arch/${_arch}"
 	fi
-	cp -a kernel/time/timeconst.bc "${hdrdest}/kernel/time"
-	cp -a kernel/bounds.c "${hdrdest}/kernel"
-	mkdir -p "${hdrdest}/arch/x86/entry/syscalls"
-	cp -a arch/x86/entry/syscalls/syscall_32.tbl "${hdrdest}/arch/x86/entry/syscalls"
+	vinstall kernel/time/timeconst.bc 644 "${hdrdest}/kernel/time"
+	vinstall kernel/bounds.c 644 "${hdrdest}/kernel"
+	vinstall arch/x86/entry/syscalls/syscall_32.tbl 644 "${hdrdest}/arch/x86/entry/syscalls"
 
 	# copy arch includes for external modules
-	mkdir -p "${hdrdest}/arch/${_arch}"
-	cp -a "arch/${_arch}/include" "${hdrdest}/arch/${_arch}"
+	vmkdir "${hdrdest}/arch/${_arch}"
+	vcopy "arch/${_arch}/include" "${hdrdest}/arch/${_arch}"
 
 	mkdir -p "${hdrdest}/arch/${_arch}/kernel"
-	cp "arch/${_arch}/Makefile" "${hdrdest}/arch/${_arch}"
-	cp "arch/${_arch}/kernel/asm-offsets.s" "${hdrdest}/arch/${_arch}/kernel"
+	vinstall "arch/${_arch}/Makefile" 644 "${hdrdest}/arch/${_arch}"
+	vinstall "arch/${_arch}/kernel/asm-offsets.s" 644 "${hdrdest}/arch/${_arch}/kernel"
 	if [ "$_arch" = "arm64" ] ; then
-		cp -a "arch/${_arch}/kernel/vdso" "${hdrdest}/arch/${_arch}/kernel/"
+		vcopy "arch/${_arch}/kernel/vdso" "${hdrdest}/arch/${_arch}/kernel/"
 	fi
 
 	# Add md headers
-	mkdir -p "${hdrdest}/drivers/md"
-	cp drivers/md/*.h "${hdrdest}/drivers/md"
+	vmkdir "${hdrdest}/drivers/md"
+	vcopy drivers/md/*.h "${hdrdest}/drivers/md"
 
 	# Add inotify.h
-	mkdir -p "${hdrdest}/include/linux"
-	cp include/linux/inotify.h "${hdrdest}/include/linux"
+	vinstall include/linux/inotify.h 644 "${hdrdest}/include/linux"
 
 	# Add wireless headers
-	mkdir -p "${hdrdest}/net/mac80211/"
-	cp net/mac80211/*.h "${hdrdest}/net/mac80211"
+	vmkdir "${hdrdest}/net/mac80211/"
+	vcopy net/mac80211/*.h "${hdrdest}/net/mac80211"
 
 	# Compress all modules with xz to save a few MBs.
-	msg_normal "$pkgver: compressing kernel modules with gzip, please wait...\n"
-	find "${DESTDIR}" -name '*.ko' | xargs -n1 -P0 gzip -9
+	msg_normal "$_pkg-$version: compressing kernel modules with gzip, please wait...\n"
+	find "${_destdir}" -name '*.ko' | xargs -n1 -P0 gzip -9
 
 	# ... and run depmod again.
-	depmod -b "${DESTDIR}/usr" -F System.map "${_kernver}"
+	depmod -b "${_destdir}/usr" -F System.map "${_kernver}"
+}
+
+do_configure() {
+	local target
+
+	case "$XBPS_TARGET_MACHINE" in
+		# for zero, 1
+		armv6l*) target=bcmrpi_defconfig ;;
+		# for 2
+		armv7l*) target=bcm2709_defconfig ;;
+		# for 3, 4, zero 2, 5
+		aarch64*) target=bcm2711_defconfig ;;
+	esac
+
+	_configure "$target"
+}
+
+do_build() {
+	make "${make_build_args[@]}" prepare
+	make "${make_build_args[@]}" "${_image_target}" modules dtbs
+}
+
+do_install() {
+	_install "$pkgname" "$DESTDIR"
 }
 
 subpackages="rpi-kernel-headers"
 
 case "$XBPS_TARGET_MACHINE" in
 	armv7l*) subpackages+=" rpi2-kernel rpi2-kernel-headers" ;;
-	aarch64*) subpackages+=" rpi3-kernel rpi3-kernel-headers rpi4-kernel rpi4-kernel-headers" ;;
+	aarch64*) subpackages+=" rpi3-kernel rpi3-kernel-headers rpi4-kernel rpi4-kernel-headers rpi5-kernel rpi5-kernel-headers" ;;
 esac
 
 rpi-kernel-headers_package() {
@@ -264,9 +280,54 @@ rpi-kernel-headers_package() {
 	noverifyrdeps=yes
 	noshlibprovides=yes
 	short_desc="${short_desc/kernel/kernel headers}"
+	provides="rpi-kernel-headers-${version}_${revision}"
+	replaces="rpi5-kernel-headers>=0"
 	pkg_install() {
 		vmove usr/src
-		vmove usr/lib/modules/${_kernver}/build
+		vmove "usr/lib/modules/${_kernver}/build"
+	}
+}
+
+_rpi5_short_desc="Linux kernel for Raspberry Pi 5 (${version%.*} series)"
+
+rpi5-kernel_package() {
+	nodebug=yes
+	nostrip=yes
+	noverifyrdeps=yes
+	noshlibprovides=yes
+	python_version=3
+	triggers="kernel-hooks"
+	# These files could be modified when an external module is built.
+	mutable_files="
+	 /usr/lib/modules/${_kernver}/modules.dep
+	 /usr/lib/modules/${_kernver}/modules.dep.bin
+	 /usr/lib/modules/${_kernver}/modules.symbols
+	 /usr/lib/modules/${_kernver}/modules.symbols.bin
+	 /usr/lib/modules/${_kernver}/modules.alias
+	 /usr/lib/modules/${_kernver}/modules.alias.bin
+	 /usr/lib/modules/${_kernver}/modules.devname"
+	short_desc="$_rpi5_short_desc"
+	provides="rpi-kernel-${version}_${revision}"
+	replaces="rpi-kernel>=0"
+	pkg_install() {
+		_configure "bcm2712_defconfig"
+		make "${make_build_args[@]}" prepare
+		make "${make_build_args[@]}" "${_image_target}" modules dtbs
+		_install "rpi5-kernel" "$PKGDESTDIR"
+	}
+}
+
+rpi5-kernel-headers_package() {
+	nostrip=yes
+	noverifyrdeps=yes
+	noshlibprovides=yes
+	short_desc="${_rpi5_short_desc/kernel/kernel headers}"
+	provides="rpi-kernel-headers-${version}_${revision}"
+	replaces="rpi-kernel-headers>=0"
+	pkg_install() {
+		mv "${PKGDESTDIR}/../rpi5-kernel-${version}/usr/src" "${PKGDESTDIR}"/usr/src
+		vmkdir "usr/lib/modules/${_kernver}"
+		mv "${PKGDESTDIR}/../rpi5-kernel-${version}/usr/lib/modules/${_kernver}/build" "${PKGDESTDIR}/usr/lib/modules/${_kernver}/build"
 	}
 }
 
diff --git a/srcpkgs/rpi5-kernel b/srcpkgs/rpi5-kernel
new file mode 120000
index 0000000000000..3b4ec073331b8
--- /dev/null
+++ b/srcpkgs/rpi5-kernel
@@ -0,0 +1 @@
+rpi-kernel
\ No newline at end of file
diff --git a/srcpkgs/rpi5-kernel-headers b/srcpkgs/rpi5-kernel-headers
new file mode 120000
index 0000000000000..3b4ec073331b8
--- /dev/null
+++ b/srcpkgs/rpi5-kernel-headers
@@ -0,0 +1 @@
+rpi-kernel
\ No newline at end of file

From 49bc94a773081ae1a79fd11e1d2d027759834f12 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 17 Nov 2023 13:50:05 -0500
Subject: [PATCH 2/4] rpi-firmware: update to 20231102.

add rpi5-specific firmware
---
 srcpkgs/rpi-firmware/template | 40 +++++++++++++----------------------
 1 file changed, 15 insertions(+), 25 deletions(-)

diff --git a/srcpkgs/rpi-firmware/template b/srcpkgs/rpi-firmware/template
index 0a2efa3b80db0..d251448948f95 100644
--- a/srcpkgs/rpi-firmware/template
+++ b/srcpkgs/rpi-firmware/template
@@ -1,12 +1,12 @@
 # Template file for 'rpi-firmware'
 pkgname=rpi-firmware
-version=20230925
+version=20231102
 revision=1
-_rpi_fw=6b37a457122714aa14b2c7df0926455173fd04f1
-_rpi_bt=9556b08ace2a1735127894642cc8ea6529c04c90
-_rpi_brcm=2c3a8701193ba23d0ef85cdf0d0c9e47baf03dfc
+_rpi_fw=83dafbc92c0e63f76ca2ecdd42462d56489d1c77
+_rpi_bt=d9d4741caba7314d6500f588b1eaa5ab387a4ff5
+_rpi_brcm=88aa085bfa1a4650e1ccd88896f8343c22a24055
 create_wrksrc=yes
-archs="armv6l* armv7l* aarch64*"
+archs="aarch64* armv6l* armv7l*"
 short_desc="Firmware files for the Raspberry Pi"
 maintainer="Piraty <mail@piraty.dev>"
 license="BSD-3-Clause, custom:Cypress"
@@ -14,26 +14,14 @@ homepage="https://github.com/raspberrypi/firmware"
 distfiles="
  https://github.com/raspberrypi/firmware/archive/${_rpi_fw}.tar.gz
  https://github.com/RPi-Distro/firmware-nonfree/archive/${_rpi_brcm}.tar.gz
- https://github.com/RPi-Distro/bluez-firmware/raw/${_rpi_bt}/broadcom/BCM43430A1.hcd
- https://github.com/RPi-Distro/bluez-firmware/raw/${_rpi_bt}/broadcom/BCM4345C0.hcd
- https://github.com/RPi-Distro/bluez-firmware/raw/${_rpi_bt}/broadcom/BCM43430B0.hcd
- https://github.com/RPi-Distro/bluez-firmware/raw/${_rpi_bt}/broadcom/BCM4345C5.hcd
- https://github.com/RPi-Distro/bluez-firmware/raw/${_rpi_bt}/synaptics/SYN43430A1.hcd>BCM43430A1.raspberrypi,model-zero-2-w.hcd
- https://github.com/RPi-Distro/bluez-firmware/raw/${_rpi_bt}/synaptics/SYN43430B0.hcd>BCM43430B0.raspberrypi,model-zero-2-w.hcd
+ https://github.com/RPi-Distro/bluez-firmware/archive/${_rpi_bt}.tar.gz
  https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/LICENCE.cypress>LICENCE.cypress"
-checksum="913986b1be22b8dc30a3e6a9b5a28316b1bbee7bec90040ddefff0d7512560f4
- 9156d90116b921d2e7938b52fad84fbe1d96df622a66c5db09569c735832387a
- c096ad4a5c3f06ed7d69eba246bf89ada9acba64a5b6f51b1e9c12f99bb1e1a7
- 51c45e77ddad91a19e96dc8fb75295b2087c279940df2634b23baf71b6dea42c
- 338c2c6631131f516bfc7e64ef0872bd0402e1f98ef9d0c900eef0c814d90a25
- fb9f4ec2df5301bd35f416384e103c012c5983024c49aa72fbbaf90177512caa
- 55071227c94d86369d04f9aff3bbfd4197a78a53dc350295123e1a8b048bba8f
- 338c2c6631131f516bfc7e64ef0872bd0402e1f98ef9d0c900eef0c814d90a25
+checksum="dd43e77ca1a8969cdb7f05dd72a57f90862071d5a93bdd6aea8246aba85689cf
+ bb3d8fed40546e03e29d9e635745433f8083391e62d6ff151c895b892776964a
+ ae076a08ece89624b0449ea2495b0dfe2ea1223f683f5b57f2b89966e6a093d6
  ae0db6cc4db33941148df0f67de53e76a77b1b5a46b3165edb7040aa2750015f"
 
-skip_extraction="BCM43430A1.hcd BCM4345C0.hcd BCM43430B0.hcd BCM4345C5.hcd
- BCM43430A1.raspberrypi,model-zero-2-w.hcd BCM43430B0.raspberrypi,model-zero-2-w.hcd
- LICENCE.cypress"
+skip_extraction="LICENCE.cypress"
 
 provides="linux-firmware-broadcom-${version}_${revision}"
 replaces="linux-firmware-broadcom>=0"
@@ -72,7 +60,9 @@ do_install() {
 	vcopy "firmware-nonfree-${_rpi_brcm}/debian/config/brcm80211/brcm/brcmfmac43456"* usr/lib/firmware/brcm
 	vcopy "firmware-nonfree-${_rpi_brcm}/debian/config/brcm80211/brcm/brcmfmac43436"* usr/lib/firmware/brcm
 
-	for file in "${XBPS_SRCDISTDIR}/${pkgname}-${version}/"*.hcd; do
-		vinstall "$file" 0644 usr/lib/firmware/brcm
-	done
+	vcopy "bluez-firmware-${_rpi_bt}/debian/firmware/broadcom/"*.hcd usr/lib/firmware/brcm
+
+	vmkdir usr/lib/firmware/synaptics
+	vcopy "bluez-firmware-${_rpi_bt}/debian/firmware/synaptics/"*.hcd usr/lib/firmware/synaptics
+	vlicense "bluez-firmware-${_rpi_bt}/debian/firmware/synaptics/LICENSE.synaptics"
 }

From 3b03ab3c8efb48089103f78893bc729086bf9410 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 17 Nov 2023 13:50:48 -0500
Subject: [PATCH 3/4] New package: rpi-utils-20231105

replaces rpi-userland:
https://github.com/raspberrypi/userland/blob/master/README.md
---
 .../rpi-utils/patches/no-overlaycheck.patch   | 14 +++++++++++++
 srcpkgs/rpi-utils/template                    | 20 +++++++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100644 srcpkgs/rpi-utils/patches/no-overlaycheck.patch
 create mode 100644 srcpkgs/rpi-utils/template

diff --git a/srcpkgs/rpi-utils/patches/no-overlaycheck.patch b/srcpkgs/rpi-utils/patches/no-overlaycheck.patch
new file mode 100644
index 0000000000000..3e64958e238d2
--- /dev/null
+++ b/srcpkgs/rpi-utils/patches/no-overlaycheck.patch
@@ -0,0 +1,14 @@
+This program is not very useful as a downstream, it seems to be only intended
+for internal QA. It also has a lot of weird things like hardcoding the prefixed
+cpp to use and putting a text file in /usr/bin.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -5,7 +5,6 @@
+ # List of subsidiary CMakeLists
+ add_subdirectory(dtmerge)
+ add_subdirectory(otpset)
+-add_subdirectory(overlaycheck)
+ add_subdirectory(ovmerge)
+ add_subdirectory(pinctrl)
+ add_subdirectory(raspinfo)
diff --git a/srcpkgs/rpi-utils/template b/srcpkgs/rpi-utils/template
new file mode 100644
index 0000000000000..bbb7472b72a33
--- /dev/null
+++ b/srcpkgs/rpi-utils/template
@@ -0,0 +1,20 @@
+# Template file for 'rpi-utils'
+pkgname=rpi-utils
+version=20231105
+revision=1
+_commit=84b1831fe16b784fb3e5bfbacf76b42a821ae720
+archs="armv6l* armv7l* aarch64*"
+build_style=cmake
+makedepends="dtc-devel"
+depends="python3 perl bash"
+short_desc="Collection of utilities for Raspberry Pi"
+maintainer="classabbyamp <void@placeviolette.net>"
+license="BSD-3-Clause"
+homepage="https://github.com/raspberrypi/utils"
+distfiles="https://github.com/raspberrypi/utils/archive/${_commit}.tar.gz"
+checksum=c97ad394e1694f41c2c6748b6e78621c74a51f20bf006c9579267f68d3157563
+python_version=3
+
+post_install() {
+	vlicense LICENCE
+}

From b1ad884add2dcffb65da247526fb56d568c4330e Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 17 Nov 2023 13:51:52 -0500
Subject: [PATCH 4/4] rpi-eeprom: update to 2023.11.09.

- install manpages (like is done in the debian rules)
- adds rpi5 firmware
---
 srcpkgs/rpi-eeprom/template | 30 +++++++++++++++++++++---------
 1 file changed, 21 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/rpi-eeprom/template b/srcpkgs/rpi-eeprom/template
index fb017a50966cd..55b7d396efeb5 100644
--- a/srcpkgs/rpi-eeprom/template
+++ b/srcpkgs/rpi-eeprom/template
@@ -1,17 +1,18 @@
 # Template file for 'rpi-eeprom'
 pkgname=rpi-eeprom
-version=2023.09.29
+version=2023.11.09
 revision=1
-_githash="4f2d676b4e2a9c2d9ee1ab42015ce711fde97afa"
-archs="armv7* aarch64*"
+_githash="6b14e84a2fb2e1f7220a404f65e7e0985f07c9e5"
+archs="armv7l* aarch64*"
 conf_files="/etc/default/rpi-eeprom-update"
-depends="binutils pciutils python3 rpi-firmware rpi-userland"
-short_desc="Bootloader and VL805 USB controller EEPROM update tool for RPi4"
+hostmakedepends="help2man python3"
+depends="binutils pciutils python3 rpi-firmware rpi-utils"
+short_desc="Bootloader and VL805 USB controller EEPROM update tool for RPi4/5"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause, custom:Proprietary"
 homepage="https://github.com/raspberrypi/rpi-eeprom/"
 distfiles="https://github.com/raspberrypi/rpi-eeprom/archive/${_githash}.tar.gz"
-checksum="189c5d37f3102247cec72619e3cb357d027ec526fa3c7373d3107bd6c9e30e29"
+checksum=3907711bb2ff78a0e9120709b72b04d6d010f93f79d525af0454d3d27a772aca
 python_version=3
 repository=nonfree
 
@@ -21,9 +22,20 @@ do_install() {
 	vbin rpi-eeprom-digest
 	vinstall rpi-eeprom-update-default 644 etc/default rpi-eeprom-update
 
-	vmkdir usr/lib/firmware/raspberrypi/bootloader
-	# need to figure out how to package both pi4 (2711) and pi5 (2712) fw
-	vcopy firmware-2711/* usr/lib/firmware/raspberrypi/bootloader/
+	help2man -N --version-string="${version}" --help-option="-h" \
+		--name="Checks whether the Raspberry Pi bootloader EEPROM is up-to-date and updates the EEPROM" \
+		--output=rpi-eeprom-update.1 ./rpi-eeprom-update
+	vman rpi-eeprom-update.1
+
+	help2man -N --version-string="${version}" --help-option="-h" \
+		--name="Bootloader EEPROM configuration tool for the Raspberry Pi 4/5" \
+		--output=rpi-eeprom-config.1 ./rpi-eeprom-config
+	vman rpi-eeprom-config.1
+
+	for soc in 2711 2712; do
+		vmkdir usr/lib/firmware/raspberrypi/bootloader-"$soc"
+		vcopy firmware-"$soc"/* usr/lib/firmware/raspberrypi/bootloader-"$soc"/
+	done
 
 	vlicense LICENSE
 }

  reply	other threads:[~2023-11-18  4:02 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-18  4:01 [PR PATCH] " classabbyamp
2023-11-18  4:02 ` classabbyamp [this message]
2023-11-18 19:54 ` [PR PATCH] [Updated] " classabbyamp
2023-11-19 19:19 ` classabbyamp
2023-11-20  3:17 ` classabbyamp
2023-11-21 11:57 ` 0x5c
2023-11-22 22:39 ` moabeat-berlin
2023-12-23 18:09 ` [PR PATCH] [Updated] " classabbyamp
2023-12-23 18:10 ` classabbyamp
2023-12-23 18:13 ` classabbyamp
2023-12-23 22:24 ` [PR PATCH] [Updated] " classabbyamp
2023-12-23 22:26 ` classabbyamp
2024-01-05 19:46 ` [PR PATCH] [Updated] " classabbyamp
2024-01-05 21:26 ` classabbyamp
2024-01-05 21:28 ` classabbyamp
2024-01-05 21:28 ` classabbyamp
2024-01-17 19:23 ` [PR PATCH] [Merged]: " classabbyamp

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231118040220.v_Dfw4p72K9d3tMqGbXEP1AH3qsIcS3I6V2uL9_-9es@z \
    --to=classabbyamp@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).