diff --git a/dev-embedded/rpi-eeprom/Manifest b/dev-embedded/rpi-eeprom/Manifest index 2dc366c67c439..57dd3ead754cc 100644 --- a/dev-embedded/rpi-eeprom/Manifest +++ b/dev-embedded/rpi-eeprom/Manifest @@ -2,3 +2,5 @@ DIST rpi-eeprom_28.10-1.debian.tar.xz 16156 BLAKE2B bd7ca73976b4cc93b9ababcc2b23 DIST rpi-eeprom_28.10.orig.tar.gz 98480332 BLAKE2B e8189914dd7b75bd366c1f86c4e25bddc78fc845322c3bb9af43abcd6fd72d4589f188e1d826565cd13e15db8fa13c38b408fed2764736e9dd8dc73e26ced870 SHA512 9d38e9b32e5f9e54f66f73f82014b7e6576bda0421bbd1ba9cbfb4c2625dd3b7d5a7aa4a5b70e7ee79cfa66075741f4e7ef12c19171691437d2baa729b3ae30d DIST rpi-eeprom_28.12-1.debian.tar.xz 16288 BLAKE2B ec14352a196ef67dd87f6f9f3df79b671761225e2a630875eb1c3ac7481ff7b69a9ccf6d3a5736ed88c842ff18168005c2e9f9b22443b0a2ae9a3061e3d3f5ed SHA512 bba42c449a2d6dda91a709885fe0d791ab3acd69751dcbbc30c84059bf19d2e129a44fe91e446223d0b54f13e265c7f96292fdea6d58f323e81d0c80f83eee79 DIST rpi-eeprom_28.12.orig.tar.gz 99184104 BLAKE2B f80d413bae31525882942169c5cbef56a0b039cf34b4179f7b6bb799a419dd4c349b1648a41aff5d8035b667cc8f49e33463e8b3ca5132902a597ab2e91640bd SHA512 5315849da32ea9f02897c8a8c187f07aa11ee36b43729d1caef7781799edc21ed4d3f8684695a2a8ed9066aa9a4d1351064a69e362802ad3aef69d6ca4af5856 +DIST rpi-eeprom_28.14-1.debian.tar.xz 16516 BLAKE2B 90009c58f4eb65a8c48e9acd77829e3eb3623745bb14ce1b24e5073b6dac0e2850681395e2e9b80eaa198e6c40528281b3cc2b081abbb80a7fd7381ab8102051 SHA512 e0c8d5c87e5937eeca3c5ccf06d4dc86960ba6246f9049d5f2707d11d439d6ffac3b35270b8fac8e27a8350d97ac5236020d6ecb20142a96164f4dbd990aa091 +DIST rpi-eeprom_28.14.orig.tar.gz 101992209 BLAKE2B 70264fec2a73f6545db4971c80e70593c6c9d0cce108175b3ee53c0da4a8efcf4319e5e7635af502fa8185e31389fb9530b39f9bf1164db0e567cc8b9e0ecd12 SHA512 d3df1a4c7781c1d7535822f86edae994447186c60dc9d2177bb8bdf1227375bc2c548672260bb7656610f644fe48b97e0939b1c454a8cf1b33864ac5b159ae37 diff --git a/dev-embedded/rpi-eeprom/rpi-eeprom-28.14_p1.ebuild b/dev-embedded/rpi-eeprom/rpi-eeprom-28.14_p1.ebuild new file mode 100644 index 0000000000000..b48d15cd1dac2 --- /dev/null +++ b/dev-embedded/rpi-eeprom/rpi-eeprom-28.14_p1.ebuild @@ -0,0 +1,103 @@ +# 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 + +MY_P="${PN}-$(ver_cut 1-2)" +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}-$(ver_cut 4).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 + 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 + 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 + + 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.' +}