diff options
author | Peter Alfredsen <crabbedhaloablution@icloud.com> | 2020-11-24 13:40:30 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2020-11-26 05:06:29 +0000 |
commit | 46fe1837f97b8d1580cc616c823c40b2e0d8accd (patch) | |
tree | ffd526c5e43e3eaec879302c0a89a5a9544f7473 /dev-embedded | |
parent | licenses/rpi-eeprom: new license for rpi-eeprom (diff) | |
download | gentoo-46fe1837f97b8d1580cc616c823c40b2e0d8accd.tar.gz gentoo-46fe1837f97b8d1580cc616c823c40b2e0d8accd.tar.bz2 gentoo-46fe1837f97b8d1580cc616c823c40b2e0d8accd.zip |
dev-embedded/rpi-eeprom: new package
rpi-eeprom updates the Raspberry Pi 4 bootloader and the
VL805 USB controller
Closes: https://bugs.gentoo.org/753431
Package-Manager: Portage-3.0.10, Repoman-3.0.2
Signed-off-by: Peter Alfredsen <crabbedhaloablution@icloud.com>
Closes: https://github.com/gentoo/gentoo/pull/18386
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-embedded')
-rw-r--r-- | dev-embedded/rpi-eeprom/Manifest | 2 | ||||
-rw-r--r-- | dev-embedded/rpi-eeprom/files/init.d_rpi-eeprom-update-1 | 18 | ||||
-rw-r--r-- | dev-embedded/rpi-eeprom/metadata.xml | 19 | ||||
-rw-r--r-- | dev-embedded/rpi-eeprom/rpi-eeprom-10.2_p1.ebuild | 95 |
4 files changed, 134 insertions, 0 deletions
diff --git a/dev-embedded/rpi-eeprom/Manifest b/dev-embedded/rpi-eeprom/Manifest new file mode 100644 index 000000000000..e29caef56709 --- /dev/null +++ b/dev-embedded/rpi-eeprom/Manifest @@ -0,0 +1,2 @@ +DIST rpi-eeprom_10.2-1.debian.tar.xz 7360 BLAKE2B e7959c4de4f3675632f0897b6f8abc811c80daa102ad3fcca672a0e0f9ce4b4da80fd616de7aa8896f0f5fe889a10a52d32eba34627858a173186292175f3bf9 SHA512 cf401c5f761fc8c5b463630d192c8af9da2ae2e55e178857d9c09198437f162f96af23836d20adda6054243c6b613b7cc5c90a70975b96bad574dc3b328caa22 +DIST rpi-eeprom_10.2.orig.tar.gz 7415652 BLAKE2B b1f56263c0037b2ba3bac2aecd9b5736736cf599bc68a743c065c853a20f56f18984816fdfb402bb499c3aa911dbe72376cec4647d87406cce2f4328b04cc2b1 SHA512 ea76a157ed57984fb0667e9171e3fbf7dba180e014faa9352b0c1904531dca9528b0e3204645a4af2b550670a52354b6b1be6af27e190d4523d8044f3349aa73 diff --git a/dev-embedded/rpi-eeprom/files/init.d_rpi-eeprom-update-1 b/dev-embedded/rpi-eeprom/files/init.d_rpi-eeprom-update-1 new file mode 100644 index 000000000000..c7570c344f39 --- /dev/null +++ b/dev-embedded/rpi-eeprom/files/init.d_rpi-eeprom-update-1 @@ -0,0 +1,18 @@ +#!/sbin/openrc-run +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Set configuration in /etc/conf.d/rpi-eeprom-update + +description="Raspberry Pi 4 bootloader and VL805 USB controller updater" +command="/usr/sbin/rpi-eeprom-update" +command_args="-a" + +depend() { + need localmount +} + +stop() { + # Nothing to stop + return 0; +} diff --git a/dev-embedded/rpi-eeprom/metadata.xml b/dev-embedded/rpi-eeprom/metadata.xml new file mode 100644 index 000000000000..a9b2bc66ba5f --- /dev/null +++ b/dev-embedded/rpi-eeprom/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>sam@gentoo.org</email> + <name>Sam James</name> + </maintainer> + <maintainer type="person"> + <email>crabbedhaloablution@icloud.com</email> + <name>Peter Alfredsen</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="github"> raspberrypi/rpi-eeprom</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-embedded/rpi-eeprom/rpi-eeprom-10.2_p1.ebuild b/dev-embedded/rpi-eeprom/rpi-eeprom-10.2_p1.ebuild new file mode 100644 index 000000000000..c2417ac6a249 --- /dev/null +++ b/dev-embedded/rpi-eeprom/rpi-eeprom-10.2_p1.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9} ) + +inherit python-r1 systemd + +DESCRIPTION="Updater for Raspberry Pi 4 bootloader and the VL805 USB controller" +HOMEPAGE="https://github.com/raspberrypi/rpi-eeprom/" +MY_P="${PN}-$(ver_cut 1-2)" +MY_BASE_URL="https://archive.raspberrypi.org/debian/pool/main/r/${PN}/${PN}_$(ver_cut 1-2)" +SRC_URI="${MY_BASE_URL}-$(ver_cut 4).debian.tar.xz + ${MY_BASE_URL}.orig.tar.gz" +SLOT="0" +LICENSE="BSD rpi-eeprom" +KEYWORDS="~arm ~arm64" +IUSE="" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND="sys-apps/help2man + ${PYTHON_DEPS}" +RDEPEND="sys-apps/flashrom + ${PYTHON_DEPS} + || ( + >=media-libs/raspberrypi-userland-0_pre20201022 + >=media-libs/raspberrypi-userland-bin-1.20201022 + )" + +S="${WORKDIR}" + +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" +} + +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 + keepdir /var/lib/raspberrypi/bootloader/backup + + for dir in critical stable beta; do + insinto /lib/firmware/raspberrypi/bootloader + doins -r firmware/${dir} + done + + dodoc firmware/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 + + 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 + + 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.' +} |