Overview

Request 576778 accepted

- Fix %systemd_post(): it's never called during package removal
Also make it useful by restoring its original implementation.
- Import more definitions from upstream (v237)
- Fix system_user_post macro for usage with RPM 4.14, backport from
https://github.com/systemd/systemd/commit/e67ba783.
- Move macros.systemd in /usr/lib/rpm
The file is not supposed to be customized by the user.
- Make %systemd_add_pre() more similar to %systemd_add_post()
The main advantage is that we pass only one argument to
systemd-sysv-convert script. The later can now be improved/rewritten
to handle only one argument and return a useful exit status.
- Make sure to apply presets if packages start shipping units during upgrades (bsc#1071543)
If a package started shipping units during upgrade only sysv
migration was done. However if the package didn't ship any sysv
scripts before no presets were applied.
Now during upgrades, preset are always applied (still only during
the first time the units are installed) then followed by the sysv
migration machinery.
The downside of this is that migrated services can have symlinks in
both runlevel.target.wants/ (created by the sysv migration) and in
the directory specified by the [Install] sections (created by
"systemctl preset")...
The whole thing should be rewritten.
- Make sure to clean up "new-in-upgrade" tag file (bsc#1059627)
The tag file might have been incorrectly left by a preceding update.
- Restore previous changes
- Revert previous changes
Also added reasons why the previous changes would be needed.
- Don't execute systemd-tmpfiles if we run in transactional update
mode
If you do transactional updates, it doesn't make any sense to
execute the tmpfiles. They will only create a lot of directories,
files or symlinks in empty directories without any use and later
hidden under the real mount points. With transactional updates, you
should do such things always during the boot phase, as designed by
systemd (and like Fedora and RHEL doing, but in their use case it's
in my opinion a bug).
- Remove a useless test in %service_add_pre()
The test was placed where the condition '[ "$FIRST_ARG" -gt 1 ]' was
always true.
- BuildIgnore systemd-rpm-macros: a small cycle that can be
avoided. system-rpm-macros is being pulled in by rpm-build as
conveniance to the packagers.
- Reference bsc#956849 to please the new OBS 'sanity' check (bsc#1041386)
%tmpfiles_create is already part of the version shipped by Factory
so there's nothing to do here execpt mentioning (bsc#956849).
- Kill preset macros
The last users have been fixed so these macros are no more used by
any package.
The introduction of them was a bad idea and only the branding preset
package is still using a similar mechanism but at least it's now
self contained in this package. Also the package calls now a shell
script instead of rpm macros.
Upstream is working on making this completely obsolete so the preset
branding package could be cleaned up for good.
- RPM group fix
- %service_add_post() suppress daemon-reload when in installation
system (bsc#982343)
- Allow the packagers to specify the options -f and -n on the
macros %service_del_preun(), %service_del_postun(), %systemd_post(),
and %systemd_preun() (boo#968405)
- Also honor DISABLE_STOP_ON_REMOVAL and DISABLE_RESTART_ON_UPDATE
when specified by a package directly in the .spec file. Some
package know that a restart of their service is fatal
(boo#968405).
- Support of DISABLE_STOP_ON_REMOVAL and DISABLE_RESTART_ON_UPDATE
from /etc/sysconfig/service (bsc#955996)
- Skip %systemd_preset_* during the clean installation to prevent
presetting of all services (boo#946216).
- Add %systemd_preset_pre and %systemd_preset_posttrans that will
do one shot presetting of all services with changed system
preset. It makes possible to to fix bad default service state
(bnc#900935#c46, FATE#318949, FATE#317727, bnc#921075).
- Increment version to 3.
- Check for presence/executability of systemd programs before
executing them, and do not suppress warnings/errors resulting
from them.
- Update with new macros from systemd 218
- Remove empty sections from specfile
- Mark /etc/rpm/macros.systemd as configuration file
- Apply then delete patch systemd-daemon-reload-before-service-restart.patch
- Add orignal systemd macros as well (boo#807164)
- make systemd aware of changed unit file content after update
add systemd-daemon-reload-before-service-restart.patch

- Add a %_ntpunitsdir macro
- Add support to not restart services if running in YaST2 or
if DISABLE_RESTART_ON_UPDATE is set to yes [bnc#858429]
- Require coreutils as rm and touch are used
- Make systemd rpm macros package a separate to avoid rebuild of
the full package tree if systemd package change
- Resync with systemd v205 macros
- New package with systemd rpm macros to avoid unnecessary build time
dependencies

Request History
Franck Bui's avatar

fbui created request

- Fix %systemd_post(): it's never called during package removal
Also make it useful by restoring its original implementation.
- Import more definitions from upstream (v237)
- Fix system_user_post macro for usage with RPM 4.14, backport from
https://github.com/systemd/systemd/commit/e67ba783.
- Move macros.systemd in /usr/lib/rpm
The file is not supposed to be customized by the user.
- Make %systemd_add_pre() more similar to %systemd_add_post()
The main advantage is that we pass only one argument to
systemd-sysv-convert script. The later can now be improved/rewritten
to handle only one argument and return a useful exit status.
- Make sure to apply presets if packages start shipping units during upgrades (bsc#1071543)
If a package started shipping units during upgrade only sysv
migration was done. However if the package didn't ship any sysv
scripts before no presets were applied.
Now during upgrades, preset are always applied (still only during
the first time the units are installed) then followed by the sysv
migration machinery.
The downside of this is that migrated services can have symlinks in
both runlevel.target.wants/ (created by the sysv migration) and in
the directory specified by the [Install] sections (created by
"systemctl preset")...
The whole thing should be rewritten.
- Make sure to clean up "new-in-upgrade" tag file (bsc#1059627)
The tag file might have been incorrectly left by a preceding update.
- Restore previous changes
- Revert previous changes
Also added reasons why the previous changes would be needed.
- Don't execute systemd-tmpfiles if we run in transactional update
mode
If you do transactional updates, it doesn't make any sense to
execute the tmpfiles. They will only create a lot of directories,
files or symlinks in empty directories without any use and later
hidden under the real mount points. With transactional updates, you
should do such things always during the boot phase, as designed by
systemd (and like Fedora and RHEL doing, but in their use case it's
in my opinion a bug).
- Remove a useless test in %service_add_pre()
The test was placed where the condition '[ "$FIRST_ARG" -gt 1 ]' was
always true.
- BuildIgnore systemd-rpm-macros: a small cycle that can be
avoided. system-rpm-macros is being pulled in by rpm-build as
conveniance to the packagers.
- Reference bsc#956849 to please the new OBS 'sanity' check (bsc#1041386)
%tmpfiles_create is already part of the version shipped by Factory
so there's nothing to do here execpt mentioning (bsc#956849).
- Kill preset macros
The last users have been fixed so these macros are no more used by
any package.
The introduction of them was a bad idea and only the branding preset
package is still using a similar mechanism but at least it's now
self contained in this package. Also the package calls now a shell
script instead of rpm macros.
Upstream is working on making this completely obsolete so the preset
branding package could be cleaned up for good.
- RPM group fix
- %service_add_post() suppress daemon-reload when in installation
system (bsc#982343)
- Allow the packagers to specify the options -f and -n on the
macros %service_del_preun(), %service_del_postun(), %systemd_post(),
and %systemd_preun() (boo#968405)
- Also honor DISABLE_STOP_ON_REMOVAL and DISABLE_RESTART_ON_UPDATE
when specified by a package directly in the .spec file. Some
package know that a restart of their service is fatal
(boo#968405).
- Support of DISABLE_STOP_ON_REMOVAL and DISABLE_RESTART_ON_UPDATE
from /etc/sysconfig/service (bsc#955996)
- Skip %systemd_preset_* during the clean installation to prevent
presetting of all services (boo#946216).
- Add %systemd_preset_pre and %systemd_preset_posttrans that will
do one shot presetting of all services with changed system
preset. It makes possible to to fix bad default service state
(bnc#900935#c46, FATE#318949, FATE#317727, bnc#921075).
- Increment version to 3.
- Check for presence/executability of systemd programs before
executing them, and do not suppress warnings/errors resulting
from them.
- Update with new macros from systemd 218
- Remove empty sections from specfile
- Mark /etc/rpm/macros.systemd as configuration file
- Apply then delete patch systemd-daemon-reload-before-service-restart.patch
- Add orignal systemd macros as well (boo#807164)
- make systemd aware of changed unit file content after update
add systemd-daemon-reload-before-service-restart.patch

- Add a %_ntpunitsdir macro
- Add support to not restart services if running in YaST2 or
if DISABLE_RESTART_ON_UPDATE is set to yes [bnc#858429]
- Require coreutils as rm and touch are used
- Make systemd rpm macros package a separate to avoid rebuild of
the full package tree if systemd package change
- Resync with systemd v205 macros
- New package with systemd rpm macros to avoid unnecessary build time
dependencies


Saul Goodman's avatar

licensedigger accepted review

ok


Factory Auto's avatar

factory-auto added opensuse-review-team as a reviewer

Please review sources


Factory Auto's avatar

factory-auto added repo-checker as a reviewer

Please review build success


Factory Auto's avatar

factory-auto accepted review

Check script succeeded


Dominique Leuenberger's avatar

dimstar_suse set openSUSE:Factory:Staging:A as a staging project

Being evaluated by staging project "openSUSE:Factory:Staging:A"


Dominique Leuenberger's avatar

dimstar_suse accepted review

Picked openSUSE:Factory:Staging:A


Jan Engelhardt's avatar

jengelh accepted review


Repo Checker's avatar

repo-checker accepted review

cycle and install check passed


Dominique Leuenberger's avatar

dimstar_suse accepted review

ready to accept


Dominique Leuenberger's avatar

dimstar_suse approved review

ready to accept


Dominique Leuenberger's avatar

dimstar_suse accepted request

Accept to openSUSE:Factory

openSUSE Build Service is sponsored by