diff --git a/overlay.d/15fcos/usr/lib/systemd/system-preset/45-fcos.preset b/overlay.d/15fcos/usr/lib/systemd/system-preset/45-fcos.preset index 95d8087d2b..eb19f43ebb 100644 --- a/overlay.d/15fcos/usr/lib/systemd/system-preset/45-fcos.preset +++ b/overlay.d/15fcos/usr/lib/systemd/system-preset/45-fcos.preset @@ -6,3 +6,6 @@ enable fwupd-refresh.timer # Check if wifi firmwares are missing when NetworkManager-wifi is installed # https://github.com/coreos/fedora-coreos-tracker/issues/1575 enable coreos-check-wireless-firmwares.service +# Strip extraneous field in aleph files to avoid bootupctl failing +# https://github.com/coreos/fedora-coreos-tracker/issues/1724 +enable coreos-fix-aleph-file.service diff --git a/overlay.d/15fcos/usr/lib/systemd/system/coreos-fix-aleph-file.service b/overlay.d/15fcos/usr/lib/systemd/system/coreos-fix-aleph-file.service new file mode 100644 index 0000000000..3c1423b9c1 --- /dev/null +++ b/overlay.d/15fcos/usr/lib/systemd/system/coreos-fix-aleph-file.service @@ -0,0 +1,14 @@ +# Remove after the next barrier release +# https://github.com/coreos/fedora-coreos-tracker/issues/1724 + +[Unit] +Description=Remove extra attribute from aleph file + +[Service] +Type=oneshot +ExecStart=/usr/libexec/coreos-fix-aleph-file +RemainAfterExit=yes +MountFlags=slave + +[Install] +WantedBy=multi-user.target diff --git a/overlay.d/15fcos/usr/libexec/coreos-fix-aleph-file b/overlay.d/15fcos/usr/libexec/coreos-fix-aleph-file new file mode 100755 index 0000000000..bc4f3f9506 --- /dev/null +++ b/overlay.d/15fcos/usr/libexec/coreos-fix-aleph-file @@ -0,0 +1,22 @@ +#!/usr/bin/bash + +# This script removes the extra `version` field +# which was shipped in a couple of builds +# when switching to the `build` field +# To be removed after the next barrier release. +# see https://github.com/coreos/fedora-coreos-tracker/issues/1724 for more details + +set -euo pipefail + +ALEPH_FILE=/sysroot/.coreos-aleph-version.json + +if $(jq 'has("build") and has("version")' ${ALEPH_FILE}) ; then + # remount /sysroot as writable + mount -o rw,remount /sysroot + + # remove field "build" + fixed_aleph=$(jq 'del(.build)' ${ALEPH_FILE}) + + # write back updated file with jq pretty-print + echo $fixed_aleph | jq > ${ALEPH_FILE} exit 0 +fi