forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 <[email protected]> Closes: gentoo#18386 Signed-off-by: Sam James <[email protected]>
- Loading branch information
1 parent
ec9cf27
commit 46fe183
Showing
4 changed files
with
134 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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>[email protected]</email> | ||
<name>Sam James</name> | ||
</maintainer> | ||
<maintainer type="person"> | ||
<email>[email protected]</email> | ||
<name>Peter Alfredsen</name> | ||
</maintainer> | ||
<maintainer type="project"> | ||
<email>[email protected]</email> | ||
<name>Proxy Maintainers</name> | ||
</maintainer> | ||
<upstream> | ||
<remote-id type="github"> raspberrypi/rpi-eeprom</remote-id> | ||
</upstream> | ||
</pkgmetadata> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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.' | ||
} |