# Copyright (C) 2022 Denis 'GNUtoo' Carikli # Copyright (C) 2022 Wael Karram # SPDX-License-Identifier: CC0-1.0 # Maintainers: Parabola hackers pkgname=libreboot-utils pkgrel=2 _upstream_ver=20211122 pkgver=4.15.libreboot${_upstream_ver} pkgdesc="Misc. Coreboot/Libreboot utils (bucts, cbfstool, ECtool, nvramtool, superiotool)" url="https://libreboot.org/" arch=('x86_64' 'i686' 'armv7h') license=('GPL2') makedepends=('pciutils') _mirror="https://mirrors.mit.edu/libreboot" # use a mirror per libreboot's request source=(${_mirror}/testing/${_upstream_ver}/libreboot-${_upstream_ver}_src.tar.xz{,.sig}) sha256sums=('e8a610e51e668c34627a6d9c048c554592fd2c2ab4dbcad83c85c06d132e5ad1' '4442fc225383e1edf8f45e1aecba81868ae43db19978f15c17828389364c0434') sha512sums=('3eac75b33bc6d2874c3ca1ad2392db7287992cf91d37879bb3244dbd6716bc7ffa3f8d31e15d821899e91a55b6fe665d918bea4e9da92e5e98345e9bcbe1bb95' '3a532ecef550ef27b723845544e91ff6b13ed6f2f1188d40fdeb7b3c416be619ff58103c3b01cd52ff88c28df6d419d2113b92d0b8ba36d1a74cfc16f70e0e63') validpgpkeys=('98CCDDF8E56047F475C044BDD0C62464FA8B4856') # Leah Rowe prepare() { # Replace sbin with bin in the makefiles. cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/bucts/" sed 's#/sbin#/bin#' -i Makefile cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/cbfstool/" sed 's#/sbin#/bin#' -i Makefile cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/ectool/" sed 's#/sbin#/bin#' -i Makefile cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/nvramtool/" sed 's#/sbin#/bin#' -i Makefile cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/superiotool/" sed 's#/sbin#/bin#' -i Makefile # Remove uneeded files. cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/" rm -rf tests rm -rf spd rm -rf payloads rm -rf Documentation } build() { # Get to the directory. cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/" # Bucts uses port-mapped I/O which doesn't exist on armv7h, so # it fails to compile when including sys/io.h. And it's only # useful for x86 computers anyway as it's supposed to run on # computers with an I945 chipset. # # Note that it could also be dangerous to use for people that # are not installing Libreboot or that don't know what they # are doing. In case it happens, removing the CMOS battery and # all other power sources should reset the BUC.TS register to # its default value and enable the computer to boot again. if [ "${CARCH}" = "i686" -o "${CARCH}" = "x86_64" ] ; then # Build bucts. make -C bucts fi # Build cbfstool. case "${CARCH}" in armv7h) make -C cbfstool;; #i686) make -C cbfstool;; #broken x86_64) make -C cbfstool;; esac # Build ECtool. make -C ectool # Build nvramtool. make -C nvramtool # Build superiotool. make -C superiotool } package() { # Get to the directory. cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/" # Set directories up. install -d "${pkgdir}"/usr/bin "${pkgdir}"/usr/share/man/man8 # Install bucts. install -Dm755 bucts/bucts "${pkgdir}"/usr/bin/bucts # Install cbfstool. case "${CARCH}" in armv7h) install -Dm755 cbfstool/cbfstool "${pkgdir}"/usr/bin/cbfstool;; #i686) install -Dm755 cbfstool/cbfstool "${pkgdir}"/usr/bin/cbfstool;; #broken x86_64) install -Dm755 cbfstool/cbfstool "${pkgdir}"/usr/bin/cbfstool;; esac # Install ECtool. install -Dm755 ectool/ectool "${pkgdir}"/usr/bin/ectool # Install nvramtool. install -Dm755 nvramtool/nvramtool "${pkgdir}"/usr/bin/nvramtool install -m644 nvramtool/cli/nvramtool.8 "${pkgdir}"/usr/share/man/man8 # Install superiotool. install -Dm755 superiotool/superiotool "${pkgdir}"/usr/bin/superiotool install -m644 superiotool/superiotool.8 "${pkgdir}"/usr/share/man/man8 }