File _patchinfo of Package patchinfo.17624

<patchinfo incident="17624">
  <issue tracker="bnc" id="1073715">logroration after upgrade from sp2</issue>
  <issue tracker="bnc" id="807164">systemd: original upstream macros are missing</issue>
  <issue tracker="bnc" id="982343">systemd: suspicious error message</issue>
  <issue tracker="bnc" id="1178481">systemd-rpm-macros: dont apply presets when migrating from a disabled initscript to a systemd service</issue>
  <issue tracker="bnc" id="1059627">After upgrade 12sp2 to 12sp3 on s390x, sshd is disabled</issue>
  <issue tracker="bnc" id="1177034">systemd-rpm-macros: update to 4.1 seems to break rpmbuild</issue>
  <issue tracker="bnc" id="1173034">systemd-rpm-macros: %service_del_postun_without_restart need to be backported</issue>
  <issue tracker="bnc" id="1104176">systemd-rpm-macros: %systemd_post() is broken</issue>
  <issue tracker="bnc" id="1176932">systemd-rpm-macros update breaks %service_del_preun -n</issue>
  <issue tracker="bnc" id="1179020">systemd-rpm-macros has conflicting versions and content between SLE12SP2 and SLE15</issue>
  <issue tracker="bnc" id="1071543">New service files/timer will never be enabled</issue>
  <issue tracker="jsc" id="SLE-8968"/>
  <issue tracker="fate" id="318572"/>
  <packager>witekbedyk</packager>
  <rating>moderate</rating>
  <category>recommended</category>
  <summary>Recommended update for systemd-rpm-macros</summary>
  <description>This update for systemd-rpm-macros fixes the following issues:

- Upgrade to version 5 (bsc#1179020)

  Backport changes from SLE15 so SLE12-SP2 and SLE15 versions are mostly identical.

- Drop reference to `FIRST_ARG` in new introduced macro `%service_del_postun_without_restart`.

  Influencing the behavior of the macro with `FIRST_ARG` variable was a hack. 
  We should not add that to newly introduced interfaces.

- Rename the tag file used to detect when presets need to be applied.
  Rather than placing these tags directly under `/run`, let's place them under `/run/systemd/rpm`.
  This also has the benefit to make the workaround for bsc#1059627 no more needed.

- Move `macros.systemd` from `/etc` to `/usr` (backport from SLE15)
  `macros.systemd` has never meant to be modified and treated like a configuration file. 
  Hence let's move it to `/usr` and don't tag it with `%config`. 
  In the very unlikely case it's been modified, it will be backed up with `.rpmsave` extension but 
  no more read by `rpmbuild`.

- Add missing macro `%_userpresetdir`

- rpm: fix `%systemd_user_post()` macro.
    
  Escape `--user` and `--global` arguments with `\\` since rpm treats
  arguments starting with `-` as macro options which causes "Unknown option" rpm error.
  Use `%{expand:...}` to force expansion of the inner macro. Otherwise `%{?*}`
  is recursively defined as `\--user \--global {%?*}` which causes
  "Too many levels of recursion in macro expansion" rpm error.

- Deprecate `-f`/`-n` options (backported from SLE15)
  When used with `%service_del_preun`, support for these options will be
  dropped as `DISABLE_STOP_ON_REMOVAL` support will be removed on the
  next version of SLE (jsc#SLE-8968)
  When used with `%service_del_postun`, they should be replaced with
  their counterpart
  `%service_del_postun_with_restart`/`%service_del_postun_without_restart`

- Backport %service_del_postun_with_restart()
  It's the counterpart of `%service_del_postun_without_restart()` and
  replaces the '-f' option of `%service_del_postun()`.

- Backport `%systemd_ordering`
  This macro is already available in later distros and should ease
  backports of packages, which rely on it.

- Split private macros related to presets off as these macros have
  never been intended to be used by any package but
  `systemd-presets-branding`. In fact these have been completely removed since SLE15. 
  So let's move them into a "private" file.

- Don't apply presets when migrating from a disabled `initscript` (bsc#1178481)
- Test for the presence of `systemctl` only once in `%service_add_{post,pre}`
- Passing %{?*} when calling a macro (bsc#1177034)

- Backport missing macros of directory paths from upstream
```
  + %_modulesloaddir
  + %_modprobedir
  + %_systemdgeneratordir
  + %_systemdusergeneratordir
```

- Make sure `%_restart_on_update_never` and `%_stop_on_removal_never` don't expand to the empty string (bsc#1176932)

  Otherwise sequences like the following code:
```
     if [ ... ]; then
        %_restart_on_update_never
     fi
```
  would result in the following incorrect shell syntax:
```
     if [ ... ]; then
     fi
```
- Introduce `%service_del_postun_without_restart` (bsc#1173034)
  This new interface is preferred over the use of `%service_del_postun`
  with '-f' and '-n' options.

- Fix `%systemd_post()`: it's never called during package removal (bsc#1104176)
  Also make it useful by restoring its original implementation.

- Make sure to apply presets if packages start shipping units during upgrades (bsc#1071543, bsc#1073715)
  
  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")
  
- Remove a useless test in `%service_add_pre()`
  The test was placed where the condition `[ "$FIRST_ARG" -gt 1 ]` was always true.
    
- Make sure to clean up "new-in-upgrade" tag file (bsc#1059627)
  The tag file might have been incorrectly left by a preceding update.

- %service_add_post() suppress daemon-reload when in installation system (bsc#982343)
- Sync with Factory for Gnome 3.20 (fate#318572)
- 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
- Mark `/etc/rpm/macros.systemd` as configuration file 
- Add original systemd macros as well (bsc#807164)
- make systemd aware of changed unit file content after update
</description>
</patchinfo>
openSUSE Build Service is sponsored by