diff options
Diffstat (limited to 'util')
| -rwxr-xr-x | util/grubpo/grubpo.sh | 68 | ||||
| -rw-r--r-- | util/nvmutil/nvmutil.c | 10 | ||||
| -rw-r--r-- | util/spkmodem_recv/spkmodem-recv.c | 43 |
3 files changed, 90 insertions, 31 deletions
diff --git a/util/grubpo/grubpo.sh b/util/grubpo/grubpo.sh new file mode 100755 index 00000000..87abc735 --- /dev/null +++ b/util/grubpo/grubpo.sh @@ -0,0 +1,68 @@ +#!/bin/sh + +# SPDX-License-Identifier: MIT + +# Copyright (c) 2026 Leah Rowe + +set -u -e + +urlmain="https://www.mirrorservice.org/sites/libreboot.org/release/misc/grub" +urlbkup="https://mirror.math.princeton.edu/pub/libreboot/misc/grub" + +# script to grab GNU gettext po files from translationproject.org - +# i noticed that the grub bootstrap script grabs these at build time, +# without actually checking signatures, and they could change on the +# server upstream at any time + +# this means that the GRUB build process is currently non-deterministic, +# which is a violation of libreboot policy. + +tmpdir="`mktemp -d`" +tmpmod="`mktemp -d`" + +mkdir -p "$tmpdir" "$tmpmod" || exit 1 + +( +cd "$tmpdir" || exit 1 +wget --mirror --level=1 -nd -nv -A.po -P 'po/.reference' \ + https://translationproject.org/latest/grub/ || \ + exit 1 +find -type f > "$tmpmod/tmplist" || exit 1 +while read -r f; do + printf "%s\n" "${f#./}" >> "$tmpmod/module.list" + + # now make the actual config files, but don't use + # the main upstream, because those files can change + # at any time. we will, over time, manually update + # our mirrors + + pkgname="${f##*/}" + [ -z "$pkgname" ] && printf "ERR\n" && exit 1 + + pkgsum="`sha512sum "$f" | awk '{print $1}'`" + + mkdir -p "$tmpmod/$pkgname" || exit 1 + + printf "# SPDX-License-Identifier: GPL-3.0-or-later\n\n" >> \ + "$tmpmod/$pkgname/module.cfg" || exit 1 + + printf "subcurl=\"%s/%s\"\n" "$urlmain" "$pkgname" >> \ + "$tmpmod/$pkgname/module.cfg" || exit 1 + printf "subcurl_bkup=\"%s/%s\"\n" "$urlbkup" "$pkgname" >> \ + "$tmpmod/$pkgname/module.cfg" || exit 1 + printf "subhash=\"%s\"\n" "$pkgsum" >> "$tmpmod/$pkgname/module.cfg" + +done < "$tmpmod/tmplist" || exit 1; : +mv "$tmpmod/tmplist" "$tmpdir" || exit 1 +) + +printf "tmpdir for modules: '%s'\n" "$tmpmod" + +rm -f "module.list" || exit 1 + +printf "Check directory for lbmk files: '%s'\n" "$tmpmod" +printf "This directory has the PO files: '%s'\n" "$tmpdir" + +exit 0 + + diff --git a/util/nvmutil/nvmutil.c b/util/nvmutil/nvmutil.c index 05459bb7..b1469586 100644 --- a/util/nvmutil/nvmutil.c +++ b/util/nvmutil/nvmutil.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: MIT */ -/* Copyright (c) 2022-2025 Leah Rowe <leah@libreboot.org> */ +/* Copyright (c) 2022-2026 Leah Rowe <leah@libreboot.org> */ /* Copyright (c) 2023 Riku Viitanen <riku.viitanen@protonmail.com> */ #include <sys/stat.h> @@ -38,7 +38,7 @@ uint16_t mac[3] = {0, 0, 0}; ssize_t nf; size_t partsize, gbe[2]; uint8_t nvmPartChanged[2] = {0, 0}, do_read[2] = {1, 1}; -int flags, rfd, fd, part; +int flags, rfd, fd, part, e = 1; const char *strMac = NULL, *strRMac = "xx:xx:xx:xx:xx:xx", *filename = NULL; @@ -459,12 +459,10 @@ writeGbe(void) void swap(int partnum) { - size_t w, x; uint8_t *n = (uint8_t *) gbe[partnum]; - int e = 1; - for (w = NVM_SIZE * ((uint8_t *) &e)[0], x = 1; w < NVM_SIZE; - w += 2, x += 2) { + for (size_t w = NVM_SIZE * ((uint8_t *) &e)[0], x = 1; + w < NVM_SIZE; w += 2, x += 2) { n[w] ^= n[x]; n[x] ^= n[w]; n[w] ^= n[x]; diff --git a/util/spkmodem_recv/spkmodem-recv.c b/util/spkmodem_recv/spkmodem-recv.c index 4467282d..38ceb72a 100644 --- a/util/spkmodem_recv/spkmodem-recv.c +++ b/util/spkmodem_recv/spkmodem-recv.c @@ -5,7 +5,7 @@ /* Forked from coreboot's version, at util/spkmodem_recv/ in coreboot.git, * revision 5c2b5fcf2f9c9259938fd03cfa3ea06b36a007f0 as of 3 January 2022. * This version is heavily modified, re-written based on OpenBSD Kernel Source - * File Style Guide (KNF); this change is Copyright 2023 Leah Rowe. */ + * File Style Guide (KNF); this change is Copyright 2023,2026 Leah Rowe. */ #include <err.h> #include <errno.h> @@ -25,28 +25,24 @@ #define ERR() (errno = errno ? errno : ECANCELED) #define reset_char() ascii = 0, ascii_bit = 7 +#define err_if(x) if (x) err(ERR(), NULL) signed short frame[MAX_SAMPLES], pulse[MAX_SAMPLES]; int ringpos, debug, freq_data, freq_separator, sample_count, ascii_bit = 7; char ascii = 0; -void handle_audio(void); -void decode_pulse(void); int set_ascii_bit(void); -void print_char(void); -void print_stats(void); +void handle_audio(void), decode_pulse(void), print_char(void), + print_stats(void); int main(int argc, char *argv[]) { - int c; #ifdef __OpenBSD__ - if (pledge("stdio", NULL) == -1) - err(ERR(), "pledge"); + err_if (pledge("stdio", NULL) == -1); #endif - while ((c = getopt(argc, argv, "d")) != -1) - if (!(debug = (c == 'd'))) - err(errno = EINVAL, NULL); + for (int c; (c = getopt(argc, argv, "d")) != -1;) + err_if (!(debug = (c == 'd'))); setvbuf(stdout, NULL, _IONBF, 0); while (!feof(stdin)) handle_audio(); @@ -65,7 +61,6 @@ handle_audio(void) decode_pulse(); return; } - if (set_ascii_bit() < 0) print_char(); sample_count = 0; @@ -85,9 +80,8 @@ decode_pulse(void) if (ferror(stdin) != 0) err(ERR(), "Could not read from frame."); - if ((pulse[ringpos] = (abs(frame[ringpos]) > THRESHOLD) ? 1 : 0)) - ++freq_separator; - ++ringpos; + pulse[ringpos] = (abs(frame[ringpos]) > THRESHOLD) ? 1 : 0; + freq_separator += pulse[ringpos++]; ringpos %= MAX_SAMPLES; ++sample_count; } @@ -104,6 +98,15 @@ set_ascii_bit(void) } void +print_stats(void) +{ + long stdin_pos; + err_if ((stdin_pos = ftell(stdin)) == -1); + printf ("%d %d %d @%ld\n", freq_data, freq_separator, + FREQ_DATA_THRESHOLD, stdin_pos - sizeof(frame)); +} + +void print_char(void) { if (debug) @@ -112,13 +115,3 @@ print_char(void) printf("%c", ascii); reset_char(); } - -void -print_stats(void) -{ - long stdin_pos; - if ((stdin_pos = ftell(stdin)) == -1) - err(ERR(), NULL); - printf ("%d %d %d @%ld\n", freq_data, freq_separator, - FREQ_DATA_THRESHOLD, stdin_pos - sizeof(frame)); -} |
