#7 Fix missing directory in treecompose-post.sh
Merged by pbrobinson. Opened by pwhalen.
Unknown source main

Download 7.patch

F37 composes have been failing recently due to a missing directory, this adds it.

Signed-off-by: Paul Whalen pwhalen@redhat.com

Wonder if systemd should be shipping/owning that directory. What's it used for, I'm guessing journald config snippets?

Right, it's a temporary workaround for ostree installations. From coreos:

https://github.com/coreos/fedora-coreos-config/blob/testing-devel/overlay.d/05core/usr/lib/systemd/journald.conf.d/10-coreos-persistent.conf

We have the same thing in Fedora CoreOS. It's not part of systemd by default as they directly ship their defaults in the main config file.

Fixes: https://pagure.io/fedora-iot/ostree/c/179518bbab031d6c523ffaff66bae88a2e11ed0d?branch=main

From https://pagure.io/fedora-iot/ostree/pull-request/6

Users/sysadmins are expected to write their configs in /etc. Here we write it in /usr as we are providing the config as part of the distribution, changing systemd defaults.

We have the same thing in Fedora CoreOS. It's not part of systemd by default as they directly ship their defaults in the main config file.

The usual way packages deal with that is that if they expect config snippets to go in a specific directory, whether it's defaults they ship, or defaults they would want others to ship, it to create and own the directory.

That way we don't have to fix it multiple times, if these config files go away, or the default moves elsewhere, does the directory get cleaned up or does it just hang around for ever?

Yes, this fixes it, but it seems like a hack to me.

The usual way packages deal with that is that if they expect config snippets to go in a specific directory, whether it's defaults they ship, or defaults they would want others to ship, it to create and own the directory.

I don't know why systemd does not ship those directories by default. From https://man7.org/linux/man-pages/man5/journald.conf.5.html, they ship neither:

/etc/systemd/journald.conf.d/*.conf
/usr/lib/systemd/journald.conf.d/*.conf

@zbyszek might know more.

That way we don't have to fix it multiple times, if these config files go away, or the default moves elsewhere, does the directory get cleaned up or does it just hang around for ever?

As this is in /usr, it's fully owned by ostree/rpm-ostree. Thus if we remove those lines from the rpm-ostree manifest / post script, it will be gone from the image (file & directory).

Yes, this fixes it, but it seems like a hack to me.

Note that this replaces this previous workaround (https://pagure.io/fedora-iot/ostree/c/179518bbab031d6c523ffaff66bae88a2e11ed0d?branch=main) which was less desirable as it was modifying the default configuration in /etc.

Friendly ping. This PR is the fix for the immediate issue here. We can discuss further how to best move forward in the IoT issue tracker (is it BZ or somewhere else?)

Gentle ping

Proper fix here: https://src.fedoraproject.org/rpms/systemd/pull-request/83

Pull-Request has been closed by pbrobinson

Above PR has been closed. We should probably do this one to fix IoT and revisit later.

Pull-Request has been reopened by pbrobinson

Pull-Request has been merged by pbrobinson

Metadata