Hello, Seeing as Libreboot is no longer considered fit for building packages from under the FSDG, I have packaged gnuboot-utils as a replacement. Note though that this package might be changed soon as upstream stabilizes, though from my understanding the utils are stable anyway as they haven't been changed much if at all compared to older libreboot versions (when it was still FSDG compliant).
-- Kind Regards, Wael Karram.
From 7c98460008d48d2d28897b000277e55fb19fcb70 Mon Sep 17 00:00:00 2001 From: Wael Karram <[email protected]> Date: Fri, 13 Oct 2023 09:21:33 +0100 Subject: [PATCH] Packaged gnuboot utils as a replacement for the libreboot ones. --- pcr/gnuboot-utils/PKGBUILD | 175 +++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 pcr/gnuboot-utils/PKGBUILD diff --git a/pcr/gnuboot-utils/PKGBUILD b/pcr/gnuboot-utils/PKGBUILD new file mode 100644 index 000000000..fcaa9b1d5 --- /dev/null +++ b/pcr/gnuboot-utils/PKGBUILD @@ -0,0 +1,175 @@ +# Copyright (C) 2023 Denis 'GNUtoo' Carikli <[email protected]> +# Copyright (C) 2023 Wael Karram <[email protected]> +# SPDX-License-Identifier: CC0-1.0 +# Maintainer: Parabola Hackers <[email protected]> + +_pkgname=gnuboot +pkgname=gnuboot-utils +pkgrel=1 +_upstream_ver=0.1-rc1 +pkgver=0.1.gnuboot +pkgdesc="Misc. Coreboot/Gnuboot utils (bucts, cbfstool, ECtool, nvramtool, superiotool)" +url="https://savannah.gnu.org/projects/gnuboot/" +arch=('x86_64' 'i686' 'armv7h') +license=('GPL2') +makedepends=('pciutils' 'python' 'python-setuptools' 'flex') + +source=("https://ftp.gnu.org/gnu/gnuboot/gnuboot-${_upstream_ver}_src.tar.xz") +sha256sums=('523310ae43c3e0147de7a4173b4079553a04877938ab7af4376459550f6b6c40') + +prepare() { + #cd "$srcdir/${_pkgname}-${_upstream_ver}_src/coreboot/default/" + #patch \ + # -Np1 -i \ + # "${srcdir}/0001-cbfstool-enable-to-disable-Werror-in-standalone-buil.patch" + + # Replace sbin with bin in the makefiles. + cd "$srcdir/${_pkgname}-${_upstream_ver}_src/coreboot/default/util/bucts/" + sed 's#/sbin#/bin#' -i Makefile + cd "$srcdir/${_pkgname}-${_upstream_ver}_src/coreboot/default/util/cbfstool/" + sed 's#/sbin#/bin#' -i Makefile + cd "$srcdir/${_pkgname}-${_upstream_ver}_src/coreboot/default/util/cbmem/" + sed 's#/sbin#/bin#' -i Makefile + cd "$srcdir/${_pkgname}-${_upstream_ver}_src/coreboot/default/util/ectool/" + sed 's#/sbin#/bin#' -i Makefile + cd "$srcdir/${_pkgname}-${_upstream_ver}_src/coreboot/default/util/intelmetool/" + sed 's#/sbin#/bin#' -i Makefile + cd "$srcdir/${_pkgname}-${_upstream_ver}_src/coreboot/default/util/inteltool/" + sed 's#/sbin#/bin#' -i Makefile + cd "$srcdir/${_pkgname}-${_upstream_ver}_src/coreboot/default/util/nvramtool/" + sed 's#/sbin#/bin#' -i Makefile + cd "$srcdir/${_pkgname}-${_upstream_ver}_src/coreboot/default/util/superiotool/" + sed 's#/sbin#/bin#' -i Makefile + + # Remove uneeded files. + cd "$srcdir/${_pkgname}-${_upstream_ver}_src/coreboot/default/" + rm -rf tests + rm -rf spd + rm -rf payloads + rm -rf Documentation +} + +build() { + # Build ich9deblob, ich9gen, demefactory, ich9show, etc + cd "$srcdir/${_pkgname}-${_upstream_ver}_src" + make -C ich9utils + + # Get to the directory. + cd "$srcdir/${_pkgname}-${_upstream_ver}_src/coreboot/default/util/" + + # These tools uses port-mapped I/O which doesn't exist on armv7h, + # so they fails to compile when including sys/io.h. They also need + # port-mapped I/O to work so it's pointless to try to build them + # on armv7h. + if [ "${CARCH}" = "i686" -o "${CARCH}" = "x86_64" ] ; then + # Build bucts. + make -C bucts + + # Build ECtool. + make -C ectool + + # Build intelmetool. + make -C intelmetool + + # Build inteltool. + make -C inteltool + + # Build superiotool. + make -C superiotool + fi + + # Build bincfg. + make -C bincfg WERROR="" + + # Build cbfstool. + make -C cbfstool WERROR='' + + # Build cbmem. + make -C cbmem + + # Build ifdtool + make -C ifdtool + + # Build me_cleaner. + cd me_cleaner + python3 setup.py build + cd .. + + # Build nvramtool. + make -C nvramtool + + # Build spkmodem_recv. + make -C spkmodem_recv +} + +package() { + # Set directories up. + install -d "${pkgdir}"/usr/bin "${pkgdir}"/usr/share/man/man8 + + # Install ich9deblob, ich9gen, demefactory, ich9show, etc + cd "$srcdir/${_pkgname}-${_upstream_ver}_src/ich9utils" + for binary in ich9deblob ich9gen demefactory ich9show ; do + install -Dm755 "${binary}" "${pkgdir}"/usr/bin/"${binary}" + done + + # Get to the directory. + cd "$srcdir/${_pkgname}-${_upstream_ver}_src/coreboot/default/util/" + + # These tools uses port-mapped I/O which doesn't exist on armv7h, + # so they fails to compile when including sys/io.h. So we also need + # to skip their installation. + if [ "${CARCH}" = "i686" -o "${CARCH}" = "x86_64" ] ; then + # Install bucts. + install -Dm755 bucts/bucts "${pkgdir}"/usr/bin/bucts + + # Install ECtool. + make -C ectool install PREFIX="${pkgdir}"/usr + + # Install intelmetool. + make -C intelmetool install DESTDIR="${pkgdir}" PREFIX=/usr + + # Install inteltool. + make -C inteltool install DESTDIR="${pkgdir}" PREFIX=/usr + + # Install superiotool. + make -C superiotool install DESTDIR="${pkgdir}" PREFIX=/usr + fi + + # Install bincfg. + install -Dm755 bincfg/bincfg "${pkgdir}"/usr/bin/bincfg + + install -d "${pkgdir}"/usr/share/bincfg + for _file in ddr3_unregistered_spd_128.spec \ + ddr3_unregistered_spd_256.spec \ + ddr4_registered_spd_512.spec \ + ddr4_unbuffered_spd_512.spec \ + gbe-82579LM.set \ + gbe-82579LM.spec \ + gbe-ich9m.set \ + gbe-ich9m.spec \ + ifd-x200.set \ + ifd-x200.spec \ + it8718f-ec.spec ; do + install -Dm644 bincfg/"${_file}" "${pkgdir}"/usr/share/bincfg/"${_file}" + done + + # Install cbfstool. + make -C cbfstool install DESTDIR="${pkgdir}" PREFIX=/usr + + # Install cbmem. + make -C cbmem install DESTDIR="${pkgdir}" PREFIX=/usr + + # Install ifdtool. + make -C ifdtool install DESTDIR="${pkgdir}" PREFIX=/usr + + # Install me_cleaner. + cd me_cleaner + python3 setup.py install --root="$pkgdir/" --optimize=1 + cd .. + + # Install nvramtool. + make -C nvramtool install DESTDIR="${pkgdir}" PREFIX=/usr + + # Install spkmodem_recv. + make -C spkmodem_recv install PREFIX="${pkgdir}/usr" +} -- 2.42.0
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Dev mailing list [email protected] https://lists.parabola.nu/mailman/listinfo/dev
