From aaf95897816964ad14e0aa5c07a67bfaca593296 Mon Sep 17 00:00:00 2001 From: Viorel Munteanu Date: Sat, 12 Sep 2026 15:25:35 +0300 Subject: [PATCH] dev-embedded/rpi-eeprom: add 28.31 Signed-off-by: Viorel Munteanu --- dev-embedded/rpi-eeprom/Manifest | 2 + .../rpi-eeprom/rpi-eeprom-28.31.ebuild | 105 ++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 dev-embedded/rpi-eeprom/rpi-eeprom-28.31.ebuild diff --git a/dev-embedded/rpi-eeprom/Manifest b/dev-embedded/rpi-eeprom/Manifest index b2b019b2e691d..ca7e1cc66a8a3 100644 --- a/dev-embedded/rpi-eeprom/Manifest +++ b/dev-embedded/rpi-eeprom/Manifest @@ -4,3 +4,5 @@ DIST rpi-eeprom_28.28-1.debian.tar.xz 17344 BLAKE2B d4bd51f35c279604bcecc56971c4 DIST rpi-eeprom_28.28.orig.tar.gz 104738394 BLAKE2B 6f7cbcfc5a0a8103f1c03703d5a49a9153ba051bb30a24dec95277e7ef0be09b06cd8271656234933ab9dc5a742dd10c4d0b2cb86c23fd15aa94b07207b38d2e SHA512 e8a54ae1a9aea4b2deb9426c36de3f87ce7bf730f384708bb1d694288d6002b91fb866be14e1b4fe48f2b0f1f3a70593e7e7a3106a38553696673859c44c379d DIST rpi-eeprom_28.30-1.debian.tar.xz 17628 BLAKE2B eecfa5e31f0499a47052f4452f6328f11d77d4db02b4ab5bafe88fd06fdb9e0a5aaf42f2d0b289bdbcc9d45446828163d14343d97c3f8f65891c25f5525f031f SHA512 6d1bb3869d37d7171159dcc78e020fb0f5c5575927dec593ff38f4e38f3eebe22546e4c9fa29642264a312d04cfc1a1c22bcdb85690a6b5152892d703192d3f0 DIST rpi-eeprom_28.30.orig.tar.gz 106646291 BLAKE2B e1cf2dd0ef36a2d6fe8bcc167e99456d406632ac8bbef06f0269875eff7598a7bbc9ec6986e9451ebcb48d50a358a2642a8809dac38e14ab903c71f431ffe0b3 SHA512 2dc1a3bafc135eded44b606ed8bbe4c87cfd0f0cb529f34ba9b990e8d5ddefd5c7b29743c35db07e56538a9824cdd8639ecd92362b878c04d737fa85dc739f6a +DIST rpi-eeprom_28.31-1.debian.tar.xz 17808 BLAKE2B 25acf8cd49386cd426098df1434786e678f9abc51d2c0fe76c943eca1c10871ffe075ba24567434056660e64da232b4244ccc7cc24438383df7d9e696d1c1e1f SHA512 9c7a85b75f4ee10bee3304a1347f7cd2eb58d95f3a0cbd586bd51b059dbd504de114ec74a74fcda7f1ce8dc2bb827cc5590358a87df39e787de06d2d309f8d39 +DIST rpi-eeprom_28.31.orig.tar.gz 107181640 BLAKE2B 5a2199e1d50f0b130ae6605be6c65394679df48b4a4f2611c2b4c19b0d8307473533c0aea2a8b59328ca0782d4b124ec49643c921cb07b0a9a83cf89ee9be5f0 SHA512 5d41a26c19ca179a9f0d484641ff44fa3539f1bfdb0ff340bd09463745196615612c0a3666e5dc77e3465eeb34e2ec2d4ee39ff37ec3287fe9c6b72938ff5709 diff --git a/dev-embedded/rpi-eeprom/rpi-eeprom-28.31.ebuild b/dev-embedded/rpi-eeprom/rpi-eeprom-28.31.ebuild new file mode 100644 index 0000000000000..ae48c355306b5 --- /dev/null +++ b/dev-embedded/rpi-eeprom/rpi-eeprom-28.31.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..14} ) + +inherit python-r1 systemd + +# always assume _p1 if missing (use a default 1 for ver_cut 4). +MY_P="${PN}-$(ver_cut 1-2)" +MY_PATCH_VER="$(ver_cut 4)" +MY_BASE_URL="https://archive.raspberrypi.org/debian/pool/main/r/${PN}/${PN}_$(ver_cut 1-2)" +DESCRIPTION="Updater for Raspberry Pi 4/5 bootloader and the VL805 USB controller" +HOMEPAGE="https://github.com/raspberrypi/rpi-eeprom/" +SRC_URI="${MY_BASE_URL}-${MY_PATCH_VER:-1}.debian.tar.xz + ${MY_BASE_URL}.orig.tar.gz" +S="${WORKDIR}" + +LICENSE="BSD rpi-eeprom" +SLOT="0" +KEYWORDS="-* ~arm ~arm64" +IUSE="pi4 pi5" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + ^^ ( pi4 pi5 ) +" + +BDEPEND="sys-apps/help2man" +DEPEND="${PYTHON_DEPS}" +RDEPEND="${PYTHON_DEPS} + dev-embedded/raspberrypi-utils + >=sys-apps/flashrom-1.7.0 + sys-apps/pciutils" + +src_prepare() { + default + sed -i \ + -e 's:/etc/default/rpi-eeprom-update:/etc/conf.d/rpi-eeprom-update:' \ + "${MY_P}/rpi-eeprom-update" || die "Failed sed on rpi-eeprom-update" + sed -i \ + -e 's:/usr/bin/rpi-eeprom-update:/usr/sbin/rpi-eeprom-update:' \ + "debian/rpi-eeprom.rpi-eeprom-update.service" || die "Failed sed on rpi-eeprom.rpi-eeprom-update.service" + sed -i \ + -e 's:/usr/lib/firmware:/lib/firmware:' \ + "${MY_P}/rpi-eeprom-update-default" || die "Failed sed on rpi-eeprom-update-default" +} + +src_configure() { + use pi4 && export BROADCOM=2711 + use pi5 && export BROADCOM=2712 +} + +src_install() { + pushd "${MY_P}" 1>/dev/null || die "Cannot change into directory ${MY_P}" + + python_scriptinto /usr/sbin + python_foreach_impl python_newscript rpi-eeprom-config rpi-eeprom-config + + dosbin rpi-eeprom-update rpi-eeprom-digest rpi-bootloader-version + keepdir /var/lib/raspberrypi/bootloader/backup + + for dir in default latest critical stable beta; do + insinto /lib/firmware/raspberrypi/bootloader + doins -r firmware-$BROADCOM/${dir} + done + + dodoc firmware-$BROADCOM/{release-notes.md,versions.txt} + + help2man -N \ + --version-string="${PV}" --help-option="-h" \ + --name="Bootloader EEPROM configuration tool for the Raspberry Pi 4B" \ + --output=rpi-eeprom-config.1 ./rpi-eeprom-config || die "Failed to create manpage for rpi-eeprom-config" + + help2man -N \ + --version-string="${PV}" --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 || die "Failed to create manpage for rpi-eeprom-update" + + doman rpi-eeprom-update.1 rpi-eeprom-config.1 + + newconfd rpi-eeprom-update-default rpi-eeprom-update + + popd 1>/dev/null || die + + pushd debian 1>/dev/null || die "Cannot change into directory debian" + + systemd_newunit rpi-eeprom.rpi-eeprom-update.service rpi-eeprom-update.service + newdoc changelog changelog.Debian + + popd 1>/dev/null || die + + newinitd "${FILESDIR}/init.d_rpi-eeprom-update-1" "rpi-eeprom-update" +} + +pkg_postinst() { + elog 'To have rpi-eeprom-update run at each startup, enable and start either' + elog '/etc/init.d/rpi-eeprom-update (for openrc users)' + elog 'or' + elog 'rpi-eeprom-update.service (for systemd users)' + elog '/etc/conf.d/rpi-eeprom-update contains the configuration.' + elog 'FIRMWARE_RELEASE_STATUS="critical|stable|beta" determines' + elog 'which release track you get. "critical" is recommended and the default.' +}