Overview
Request 1085752 superseded
- Move more packaging fixups in the fixlet script.
- Provide (Lua-based) file triggers and adapt systemd.spec accordingly (boo#1133764)
More specifically, file triggers handle automatically installations or updates
of files for sysusers, tmpfiles, hwdb, journal catalog, udev rules, sysctl and
binfmt.
Therefore it makes a bunch of systemd rpm macros (such as %udev_hwdb_update,
%udev_rules_update, %journal_catalog_update, %tmpfiles_create,
%sysusers_create and so on) not needed anymore. However before considering
simplifying your spec files beware that these changes are not available in SLE
yet and will probably never reach the current releases (latest one being
SLE15-SP5 as of this writing).
Macros dealing with unit restart/enabling (such as %systemd_pre,
%service_add_pre, %service_del_postun, ...) are still needed though. However
reloading of systemd instances (and thus restarting of units) are delayed
until the very end of the package install/update transaction and is now done
only once.
Nevertheless to fully take advantage of file triggers, users have to activate
a specific zypper transaction backend which is still considered as
experimental, see bsc#1041742 for details.
- Provide a (slighlty) customized version of systemd-update-helper. Some of the
systemd rpm macros rely now on the helper and delegate their work to it. Hence
we don't need to rebuild all packages anymore when the content of the rpm
macros must be updated/fixed.
- Drop an old fix for the persistent net rules (only needed on SLE). Factory
(fortunately) dropped the persistent net rule generator long time ago.
- Created by fbui
- In state superseded
- Superseded by 1088562
- Open review for opensuse-review-team
- Open review for openSUSE:Factory:Staging:A
Request History
fbui created request
- Move more packaging fixups in the fixlet script.
- Provide (Lua-based) file triggers and adapt systemd.spec accordingly (boo#1133764)
More specifically, file triggers handle automatically installations or updates
of files for sysusers, tmpfiles, hwdb, journal catalog, udev rules, sysctl and
binfmt.
Therefore it makes a bunch of systemd rpm macros (such as %udev_hwdb_update,
%udev_rules_update, %journal_catalog_update, %tmpfiles_create,
%sysusers_create and so on) not needed anymore. However before considering
simplifying your spec files beware that these changes are not available in SLE
yet and will probably never reach the current releases (latest one being
SLE15-SP5 as of this writing).
Macros dealing with unit restart/enabling (such as %systemd_pre,
%service_add_pre, %service_del_postun, ...) are still needed though. However
reloading of systemd instances (and thus restarting of units) are delayed
until the very end of the package install/update transaction and is now done
only once.
Nevertheless to fully take advantage of file triggers, users have to activate
a specific zypper transaction backend which is still considered as
experimental, see bsc#1041742 for details.
- Provide a (slighlty) customized version of systemd-update-helper. Some of the
systemd rpm macros rely now on the helper and delegate their work to it. Hence
we don't need to rebuild all packages anymore when the content of the rpm
macros must be updated/fixed.
- Drop an old fix for the persistent net rules (only needed on SLE). Factory
(fortunately) dropped the persistent net rule generator long time ago.
factory-auto added opensuse-review-team as a reviewer
Please review sources
factory-auto accepted review
Check script succeeded
licensedigger accepted review
ok
favogt_factory added favogt as a reviewer
See comment
favogt accepted review
dimstar_suse set openSUSE:Factory:Staging:A as a staging project
Being evaluated by staging project "openSUSE:Factory:Staging:A"
dimstar_suse accepted review
Picked "openSUSE:Factory:Staging:A"
superseded by 1088562
FWICT there's nothing which blocks those triggers from running during a transactional update and changing the running system.
/proc
is accessible, so sysctl and binfmt are modifiable...Hmm... but it's always been the case, no ?
I don't think this PR is changing anything in this regard, or am I missing something ?
FWICT sysctl.d changes are not applied at installation time yet
Actually, this is already dealt with: I completely missed the
if posix.access("/run/systemd/system") then
check.Only part I'm not sure yet is the udev hwdb update. FWICT that reads from
/etc
and writes the hwdb into/etc
, but it's possible that/etc
contents are modified afterwards. Wouldsystemd-hwdb-update.service
run on the next boot?That's not new with this SR though FWICT
Actually, I wonder whether the
ConditionNeedsUpdate
design works at all. It's just weird.so SOURCE7 (the one including the triggers) is only included when NOT using file triggers? that seems backwards
Good catch Dominique, thanks a lot !