]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
mkosi-obs: append certs from mkosi.uefi.db/ to 'db'
authorLuca Boccassi <luca.boccassi@gmail.com>
Mon, 14 Apr 2025 01:19:14 +0000 (02:19 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Tue, 15 Apr 2025 14:11:05 +0000 (15:11 +0100)
Allow appending an arbitrary number of certs to the autoenrolled UEFI
db. Expects list of PEM formatted files. Only implemented for OBS
builds for now.

mkosi/resources/mkosi-obs/mkosi.postoutput

index e1fb12ee585a68fae83e4f2ffa65601498eb06da..9f9aa9dc2f327e2e9c906a3505d17c2b5ffb47e8 100755 (executable)
@@ -110,6 +110,15 @@ if ((${#DDIS[@]} > 0)); then
     cert-to-efi-sig-list -g "$guid" /usr/src/packages/SOURCES/_projectcert.crt db.esl
     cp db.esl KEK.esl
     cp db.esl PK.esl
+
+    # If there are any additional certs, concatenate them
+    for cert in /usr/src/packages/SOURCES/*/mkosi.uefi.db/*.crt; do
+        test -f "$cert" || continue
+        cert-to-efi-sig-list -g "$guid" "$cert" tmp.esl
+        cat tmp.esl >>db.esl
+        rm -f tmp.esl
+    done
+
     for i in *.esl; do
         sign-efi-sig-list -o -g "$guid" -t "$(date -d "@${SOURCE_DATE_EPOCH:-0}" "+%Y-%m-%d %H:%M:%S")" "${i%.esl}" "$i" "${i%.esl}.auth"
     done