Currently, updex mimics sysupdated behavior and respects the CurrentSymlink directive, thus it creates this symlink in the staging dir (/var/lib/extensions.d). However, the symlink is not used, only provided as an indicator of the current sysext version when multiple versions are downloaded. In addition, updex createx a symlink to the most recently downloaded version of a sysext in the /var/lib/extensions directory. This symlink performs the important role of enabling systemd-sysext to see and merge the sysext filesystem, but it is implicitly provides a redundant implementation of "current version" indication.
Frostyard sysexts should not include the CurrentSymlink directive, but if it is missing in the transfer file, updex will fail to download the sysext.
Needed changes follow:
- updex should assume the name of the symlink in /var/lib/extensions will be named .raw given a transfer match patern of
<name>_@v_%w_%a.raw[.compression extensions]
- updex should not depend on CurrentSymlink (eg, symlink in staging dir) for managing the symlink in /var/lib/extensions at any point
- updex update/enable should notice if CurrentSymlink exists in a transfer file and if the named symlink exists, updex should remove it
Currently, updex mimics sysupdated behavior and respects the
CurrentSymlinkdirective, thus it creates this symlink in the staging dir (/var/lib/extensions.d). However, the symlink is not used, only provided as an indicator of the current sysext version when multiple versions are downloaded. In addition, updex createx a symlink to the most recently downloaded version of a sysext in the /var/lib/extensions directory. This symlink performs the important role of enabling systemd-sysext to see and merge the sysext filesystem, but it is implicitly provides a redundant implementation of "current version" indication.Frostyard sysexts should not include the CurrentSymlink directive, but if it is missing in the transfer file, updex will fail to download the sysext.
Needed changes follow:
<name>_@v_%w_%a.raw[.compression extensions]