Skip to content

Drop redundant staging dir symlink for sysext files #84

@bsherman

Description

@bsherman

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:

  1. 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]
  2. updex should not depend on CurrentSymlink (eg, symlink in staging dir) for managing the symlink in /var/lib/extensions at any point
  3. updex update/enable should notice if CurrentSymlink exists in a transfer file and if the named symlink exists, updex should remove it

Metadata

Metadata

Assignees

No one assigned

    Labels

    ReadyYeti has finished — needs human attention

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions