Help needed to install sysexts (e.g. emacs)

Hello, I am trying to install emacs via the sysext mechanism. Admittedly I don’t grok sysexts just yet but using [1,2] I’ve pieced together the following commands

#!/bin/sh

# Run those commands if you have not yet installed any sysext on your system:
sudo install -d -m 0755 -o 0 -g 0 /var/lib/extensions /var/lib/extensions.d
sudo restorecon -RFv /var/lib/extensions /var/lib/extensions.d

install_sysext() {
  SYSEXT="${1}"
  URL="https://github.com/m2Giles/fedora-sysexts/releases/download/m2os-bluefin"
  sudo install -d -m 0755 -o 0 -g 0 /etc/sysupdate.${SYSEXT}.d
  sudo restorecon -RFv /etc/sysupdate.${SYSEXT}.d
  curl --silent --fail --location "${URL}/${SYSEXT}.conf" \
    | sudo tee "/etc/sysupdate.${SYSEXT}.d/${SYSEXT}.conf"
  sudo /usr/lib/systemd/systemd-sysupdate update --component "${SYSEXT}"
}

install_sysext emacs-bluefin

After executing, the stdout was

Relabeled /etc/sysupdate.emacs-bluefin.d from unconfined_u:object_r:etc_t:s0 to system_u:object_r:etc_t:s0
[Transfer]
Verify=false

[Source]
Type=url-file
Path=https://github.com/m2Giles/fedora-sysexts/releases/download/m2os-bluefin/
MatchPattern=emacs-bluefin-@v-%a.raw

[Target]
InstancesMax=2
Type=regular-file
Path=/var/lib/extensions.d/
MatchPattern=emacs-bluefin-@v-%a.raw
CurrentSymlink=/var/lib/extensions/emacs-bluefin.raw
Discovering installed instances…
Discovering available instances…
⤵️ Acquiring manifest file https://github.com/m2Giles/fedora-sysexts/releases/download/m2os-bluefin/SHA256SUMS…
Pulling 'https://github.com/m2Giles/fedora-sysexts/releases/download/m2os-bluefin/SHA256SUMS'.
Downloading 641B for https://github.com/m2Giles/fedora-sysexts/releases/download/m2os-bluefin/SHA256SUMS.
Acquired 641B.
Download of https://github.com/m2Giles/fedora-sysexts/releases/download/m2os-bluefin/SHA256SUMS complete.
Operation completed successfully.
Exiting.
Determining installed update sets…
Determining available update sets…
Selected update '41.20250504' for install.
Making room for 1 updates…
Removed no instances.
⤵️ Acquiring https://github.com/m2Giles/fedora-sysexts/releases/download/m2os-bluefin/emacs-bluefin-41.20250504-x86-64.raw → /var/lib/extensions.d/emacs-bluefin-41.20250504-x86-64.raw...
Pulling 'https://github.com/m2Giles/fedora-sysexts/releases/download/m2os-bluefin/emacs-bluefin-41.20250504-x86-64.raw', saving as '/var/lib/extensions.d/.#sysupdateemacs-bluefin-41.20250504-x86-64.raw05b8f58226ac4ba6'.
Downloading 174.4M for https://github.com/m2Giles/fedora-sysexts/releases/download/m2os-bluefin/emacs-bluefin-41.20250504-x86-64.raw.
Got 1% of https://github.com/m2Giles/fedora-sysexts/releases/download/m2os-bluefin/emacs-bluefin-41.20250504-x86-64.raw.
Got 54% of https://github.com/m2Giles/fedora-sysexts/releases/download/m2os-bluefin/emacs-bluefin-41.20250504-x86-64.raw. 1s left at 66.5M/s.
Acquired 174.4M.
Download of https://github.com/m2Giles/fedora-sysexts/releases/download/m2os-bluefin/emacs-bluefin-41.20250504-x86-64.raw complete.
Operation completed successfully.
Exiting.
Successfully acquired 'https://github.com/m2Giles/fedora-sysexts/releases/download/m2os-bluefin/emacs-bluefin-41.20250504-x86-64.raw'.
Successfully installed 'https://github.com/m2Giles/fedora-sysexts/releases/download/m2os-bluefin/emacs-bluefin-41.20250504-x86-64.raw' (url-file) as '/var/lib/extensions.d/emacs-bluefin-41.20250504-x86-64.raw' (regular-file).
Updated symlink '/var/lib/extensions/emacs-bluefin.raw' → '../extensions.d/emacs-bluefin-41.20250504-x86-64.raw'.
✨ Successfully installed update '41.20250504'.

But when I try to run sudo systemctl restart systemd-sysext.service, the installation seems to have failed as shown below

❯ systemctl status systemd-sysext.service
× systemd-sysext.service - Merge System Extension Images into /usr/ and /opt/
     Loaded: loaded (/usr/lib/systemd/system/systemd-sysext.service; enabled; preset: enabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf, 50-keep-warm.conf
     Active: failed (Result: exit-code) since Sun 2025-05-04 22:11:27 EDT; 15s ago
 Invocation: 05a89c9e05874365ae831b8d8b13a3b1
       Docs: man:systemd-sysext.service(8)
    Process: 97777 ExecStart=systemd-sysext refresh (code=exited, status=1/FAILURE)
   Main PID: 97777 (code=exited, status=1/FAILURE)
   Mem peak: 3.5M
        CPU: 23ms

May 04 22:11:27 galp3-bluefin systemd[1]: Starting systemd-sysext.service - Merge System Extension Images into /usr/ and>
May 04 22:11:27 galp3-bluefin systemd-sysext[97777]: Failed to read metadata for image emacs-bluefin: No medium found
May 04 22:11:27 galp3-bluefin systemd[1]: systemd-sysext.service: Main process exited, code=exited, status=1/FAILURE
May 04 22:11:27 galp3-bluefin systemd[1]: systemd-sysext.service: Failed with result 'exit-code'.
May 04 22:11:27 galp3-bluefin systemd[1]: Failed to start systemd-sysext.service - Merge System Extension Images into /u>
 ESCOC

Can someone help me decipher what is meant by May 04 22:11:27 galp3-bluefin systemd-sysext[97777]: Failed to read metadata for image emacs-bluefin: No medium found ?

References

[1] emacs | extensions.fcos.fr
[2] Discord

Could the problem be that those sysexts are built for bluefin 41 and you’re on 42 already?

I managed to install the emacs sysext from the upstream which are built for fedora 42 but I still had to use systemd-sysext -force merge because sysexts check compatibility by matching ID in /etc/os-release. This is probably not good practice in general, I just figured emacs wouldn’t cause too much mischief.

No I am still on 41

● Booted image: ghcr.io/ublue-os/bluefin-dx:stable
        Digest: sha256:62e32420104d10773b5b1ef845561d82772e6a4fb2099ab8589ca0477d4a7bf5 (amd64)
       Version: 41.20250504.2 (2025-05-04T06:05:48Z)

I tried your command

❯ sudo systemd-sysext --force merge
Failed to read metadata for image emacs-bluefin: No medium found

Which is the same error as above.