I'm generally familiar with how systemd presets work but I'm at a bit of
loss as to how part of all the magic works. To best explain my
confusion, let me say that I make a customized live spin of Fedora and I
have a package we'll call "my-dist" which is similar in nature to the
"fedora-release" package in that it provides a custom preset file. I
still use fedora-release because this spin is not *that* customized, so
it's best to think of this as an extension. I have another package
we'll call "my-service" which has a systemd service unit file and all
the usual %systemd_post, etc. macros. When I boot my live spin I find
that my-service is not enabled despite the preset in my-dist. I can
"systemctl preset-all" to rectify this so I believe most requirements
are correct. I do see that livemedia-creator installs my-service
*before* it installs my-dist so if the %systemd_post is called as each
rpm is installed that would explain my problem because my custom preset
isn't present yet.
How does Fedora itself accomplish this??? I don't see every package
providing a service having a dependency on fedora-release to address
this ordering issue. I can certainly stick the "systemctl preset-all"
into the %post of my kickstart as final cleanup, but that feels dirty
and wrong. Similarly, I don't wish to have to have a "Requires:
my-dist" in every one of "my-service" and other packages like it. I've
scrutinized fedora-release.spec and didn't see anything all that
different than what I have in my-dist.