New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
macros.systemd.in: add %systemd_ordering #3776
Conversation
To remove the hard dependency on systemd, for packages, which function without a running systemd the %systemd_ordering macro can be used to ensure ordering in the rpm transaction. %systemd_ordering makes sure, the systemd rpm is installed prior to the package, so the %pre/%post scripts can execute the systemd parts. Installing systemd afterwards though, does not result in the same outcome.
|
Fedora policy prohibits creating deps from macros iirc, no? Also, this appears to be very fedora specific, hence I think this should better be added to the fedora downstream version instead of upstream? |
The FPC people have hinted that they don't object to using macros anymore. The rationale for this wasn't very technical, more of the lines of "a macro will obfuscate the deps", which doesn't make much sense because macros and generators are use a lot.
It really applies to any rpm based distro... The limitation is always the same: systemd must be installed in the initial transaction to preserve current semantics of how units are enabled. But this limitation is almost always satisfied. My only comment about the patch is that we should have some docs how the macros should be used in |
|
Actually the prohibition of %systemd_requires was already removed: https://fedorahosted.org/fpc/ticket/600. |
|
New FPC ticket: https://fedorahosted.org/fpc/ticket/644. |
At least since 1.1.17, pacemaker_remoted can stand for full-fledged PID1
hence it doubly does not make sense for its installation, e.g. in the
container, to bring systemd in (it may be blocked by other means, but
still). No need to modify anything about "%{post,...} remote" as
"%systemd_{post,...}" are resolved to silent, non-fatail systemctl
invocations.
Also simplify apply-when-defined for the main package in a similar way
already aplied.
References:
systemd/systemd@2424b6b
systemd/systemd#3776
At least since 1.1.17, pacemaker_remoted can stand for full-fledged PID1
hence it doubly does not make sense for its installation, e.g. in the
container, to bring systemd in (it may be blocked by other means, but
still). No need to modify anything about "%{post,...} remote" as
"%systemd_{post,...}" are resolved to silent, non-fatal systemctl
invocations.
Also simplify apply-when-defined for the main package in a similar way
already aplied.
References:
systemd/systemd@2424b6b
systemd/systemd#3776
At least since 1.1.17, pacemaker_remoted can stand for full-fledged PID1
hence it doubly does not make sense for its installation, e.g. in the
container, to bring systemd in (it may be blocked by other means, but
still). No need to modify anything about "%{post,...} remote" as
"%systemd_{post,...}" are resolved to silent, non-fatail systemctl
invocations.
Also simplify apply-when-defined for the main package in a similar way
already applied.
References:
systemd/systemd@2424b6b
systemd/systemd#3776
At least since 1.1.17, pacemaker_remoted can stand for full-fledged PID1
hence it doubly does not make sense for its installation, e.g. in the
container, to bring systemd in (it may be blocked by other means, but
still). No need to modify anything about "%{post,...} remote" as
"%systemd_{post,...}" are resolved to silent, non-fatal systemctl
invocations.
Also simplify apply-when-defined for the main package in a similar way
already applied.
References:
systemd/systemd@2424b6b
systemd/systemd#3776
At least since 1.1.17, pacemaker_remoted can stand for full-fledged PID1
hence it doubly does not make sense for its installation, e.g. in the
container, to bring systemd in (it may be blocked by other means, but
still). No need to modify anything about "%{post,...} remote" as
"%systemd_{post,...}" are resolved to silent, non-fatal systemctl
invocations.
Also simplify apply-when-defined for the main package in a similar way
already applied.
References:
systemd/systemd@2424b6b
systemd/systemd#3776
At least since 1.1.17, pacemaker_remoted can stand for full-fledged PID1
hence it doubly does not make sense for its installation, e.g. in the
container, to bring systemd in (it may be blocked by other means, but
still). No need to modify anything about "%{post,...} remote" as
"%systemd_{post,...}" are resolved to silent, non-fatal systemctl
invocations.
Also simplify apply-when-defined for the main package in a similar way
already applied.
References:
systemd/systemd@2424b6bd7
systemd/systemd#3776
At least since 1.1.17, pacemaker_remoted can stand for full-fledged PID1
hence it doubly does not make sense for its installation, e.g. in the
container, to bring systemd in (it may be blocked by other means, but
still). No need to modify anything about "%{post,...} remote" as
"%systemd_{post,...}" are resolved to silent, non-fatal systemctl
invocations.
Also simplify apply-when-defined for the main package in a similar way
already applied.
References:
systemd/systemd@2424b6bd7
systemd/systemd#3776
At least since 1.1.17, pacemaker_remoted can stand for full-fledged PID1
hence it doubly does not make sense for its installation, e.g. in the
container, to bring systemd in (it may be blocked by other means, but
still). No need to modify anything about "%{post,...} remote" as
"%systemd_{post,...}" are resolved to silent, non-fatal systemctl
invocations.
Also simplify apply-when-defined for the main package in a similar way
already applied.
References:
systemd/systemd@2424b6bd7
systemd/systemd#3776
To remove the hard dependency on systemd, for packages, which function
without a running systemd the %systemd_ordering macro can be used to
ensure ordering in the rpm transaction. %systemd_ordering makes sure,
the systemd rpm is installed prior to the package, so the %pre/%post
scripts can execute the systemd parts.
Installing systemd afterwards though, does not result in the same
outcome.