69 Commits

Author SHA256 Message Date
4dc045d4df - Drop %tmpfiles_create_package
It can't work during transactional updates because the paths that
  systemd-tmpfiles usually operates on (such as /var) can't be changed. It
  appears that the only user of this macro doesn't really need this macro so
  let's drop it.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=100
2023-06-20 16:04:19 +00:00
ca23be8300 - Drop %sysusers_create_inline
It's deprecated and the only user of this macro is being converted to
  %sysusers_create_package. So drop it now before the deprecated macro attracts
  more users.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=99
2023-06-20 16:00:45 +00:00
ff6965c5cb - Unlike systemd-tmpfiles call in %tmpfiles_create_package(), systemd-sysusers
must always be called by %sysusers_create_package() even on transactional
  systems since it's part of the macro contract. Writing to /etc is not
  recommended on such systems but it has to work anyways.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=98
2023-06-20 15:01:29 +00:00
8cd9f77cbf - Restore the check that prevents systemd-tmpfiles to run during transactional updates
The check has been mistakenly dropped during the switch to file-triggers.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=96
2023-06-16 13:11:13 +00:00
db8376beab fix %tmpfiles_create_package and drop 'fi' leftover
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=94
2023-05-15 09:21:10 +00:00
ba6e5f27b2 avoid macros with empty bodies
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=93
2023-05-11 09:29:22 +00:00
c32fb55b29 - Make sure that (futur) users of %sysctl_apply() and %binfmt_apply() will call
the macros with arguments.
- Leave %sysctl_apply() and %binfmt_apply() empty (bsc#1211272)
  Only the former has very few users currently and none of them has specific
  code relying on the new sysctl values between the macros and the file
  triggers.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=91
2023-05-10 12:40:05 +00:00
1ac61c191a - Test the presence of /run/systemd/system to check whether we're operating
during transactional updates. Hence the behavior is the same when operating in
  a chroot or during transactional updates.
- Leave %sysctl_apply() and %binfmt_apply() empty as there's no (interesting)
  user of these macros for now.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=89
2023-05-10 09:30:02 +00:00
a97f9f97e5 - Rely on 'systemd-update-helper' shell script to implement %service_* macros
The helper was introduced by upstream commit 6d825ab2d42d3219e49a1. The main
  advantage is that we no more need to rebuild all packages to update the macro
  definitions.
  Internally the script relies on file triggers for 'daemon-reload' operations
  and for restarting units (when needed).
- Update other macros to reflect the fact that systemd package provides file
  triggers for sysusers, tmpfiles, hwdb, and journal catalog.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=87
2023-05-09 14:09:13 +00:00
3b2c7f4694 - %service_del_postun: make sure to restart services if /etc/sysconfig/service
is not present.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=85
2023-03-29 11:35:52 +00:00
3d2aa53763 - Drop support for -n/-f options in %service_del_postun
These options have been deprecated since a long time and the last package
  relying on them (drkonqi5) in the Factory repository has been updated.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=84
2023-03-29 10:42:15 +00:00
ef8c808e84 - udevadm hwdb is deprecated, use systemd-hwdb instead.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=82
2023-01-26 14:11:52 +00:00
ccdb965aa5 Accepting request 1037656 from home:dancermak:branches:Base:System
Add %_user_tmpfilesdir macro

OBS-URL: https://build.opensuse.org/request/show/1037656
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=80
2022-11-23 17:12:56 +00:00
4680d9ecb7 - Fix syntax error in %tmpfiles_create_package() (bsc#1203945)
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=78
2022-10-03 13:00:50 +00:00
8609970ea8 - Drop enablement symlink migration support of SysV init scripts
This was announced here:
  https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/3ERUP5ZZJ6PPA36L3HVN46BH6U6JL74O/

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=76
2022-02-17 18:53:00 +00:00
ccdbdfce8d - %sysusers_create_inline was wrongly marked as deprecated
- %sysusers_create can be useful in certain cases and won't go away until we'll
  move to file triggers. So don't mark it as deprecated too

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=74
2022-01-18 21:06:57 +00:00
bbea6a0733 - Introduce %_systemd_util_dir
It's a backport of upstream commit 3bc66bfa0136e370a8f7b06c3b69a52f5636ef82.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=72
2021-11-17 12:27:43 +00:00
ad43e5ad9f - Make use of "Suggests:" in %systemd_ordering
Until libzypp supports "OrderWithRequires:", we need to specify a
  similar ordering constraint that can be understood by the dep solver
  as well. Hence the use of "Suggests:" in %systemd_ordering
  (workaround for bsc#1187332).

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=69
2021-06-30 09:59:17 +00:00
37d00203df - Introduce %sysusers_create_package
%sysusers_create and %sysusers_create_inline are now deprecated and
  the new macro should be used instead.
  Upstream commit 07a7d4a0040d221ff09e527e91c112b4ffab1dba.
- Introduce %tmpfiles_create_package
  %%tmpfiles_create is now deprecreated and the new macros should be
  used instead.
  Upstream commit 0f78fee8d039000b987848a558fbaa15d916e14e.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=67
2021-05-20 10:17:34 +00:00
f0c8ea9afc - %sysusers_create_inline: use here-docs instead of echo (bsc#1186282)
Upstream commit dd2490ae12ad1e1795ecbf8f8944b950da9c8d06.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=66
2021-05-20 09:47:35 +00:00
4463ee13e3 Accepting request 876976 from home:alarrosa:branches:Base:System
- Don't pass -f to rm in %service_add_post nor %systemd_user_post

OBS-URL: https://build.opensuse.org/request/show/876976
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=64
2021-03-05 11:19:59 +00:00
a079230c8d Accepting request 876971 from home:alarrosa:branches:Base:System
- Add a %systemd_user_pre macro that creates a
  /run/systemd/rpm/needs-user-preset/$service file for each new
  service being installed so %systemd_user_post can call
  `systemctl --global preset $service` properly for newly
  installed user services (boo#1183051, boo#1183012).

OBS-URL: https://build.opensuse.org/request/show/876971
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=63
2021-03-05 11:09:08 +00:00
9f0979dfb3 Accepting request 876963 from home:alarrosa:branches:Base:System
- Fix %systemd_user_post. The --global parameter was handled as if
  it was another service name so %systemd_user_post wasn't working
  properly. Replace %systemd_user_post with the code from
  %service_add_post it was being expanded to but correctly passing
  --global to systemctl (boo#1183051, boo#1182661).

OBS-URL: https://build.opensuse.org/request/show/876963
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=62
2021-03-05 10:58:52 +00:00
a4d73fe809 - Make upstream %systemd_{pre,post,preun,postun} aliases to their SUSE
counterparts
  Packagers can now choose to use the upstream or the SUSE variants
  indifferently. For consistency the SUSE variants should be preferred
  since almost all SUSE packages already use them but the upstream
  versions might be usefull in certain cases where packages need to
  support multiple distros based on RPM.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=60
2021-02-12 11:45:54 +00:00
988d319a8f - Improve the logic used to apply the presets (bsc#1177039)
Before presests were applied at a) package installation b) new units
  introduced via a package update (but after making sure that it was
  not a SysV initscript being converted).
  The problem is that a) didn't handle package a renaming or split
  properly since the package with the new name is installed rather
  being updated and therefore the presets were applied even if they
  were already with the old name.
  We now cover this case (and the other ones) by applying presets only
  if the units are new and the services are not being migrated. This
  regardless of whether this happens during an install or an update.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=59
2021-02-12 11:01:43 +00:00
f90fb4cf4f - daemon-reload is not needed in %service_add_post
Applying presets, ie enabling/disabling units, doesn't require to
  update units loaded in PID1 memory. It's actually needed after but
  it's done only once by %service_del_postun.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=56
2020-11-23 20:19:37 +00:00
f65be0ea90 - 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.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=55
2020-11-23 18:03:40 +00:00
991b3b62db - %service_del_preun doesn't accept -f/-n options anymore
The few package calling %service_del_preun with '-f' or '-n' option
  have been fixed. These options are not needed anymore.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=54
2020-11-23 17:29:55 +00:00
163b073fa1 - Introduce %service_del_postun_with_restart()
It's the counterpart of %service_del_postun_without_restart() and
  replaces the '-f' option of %service_del_postun().
- Expand %service_del_postun_without_restart in %service_del_postun

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=52
2020-11-10 11:04:59 +00:00
198ba4caa7 - Add a missing space in %_restart_on_update()
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=51
2020-11-10 09:13:24 +00:00
4097fa89ce - Dont apply presets when migrating from a disabled initscript (bsc#1178481)
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=49
2020-11-09 11:38:05 +00:00
d3585cac9c Update one comment
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=46
2020-11-09 08:46:43 +00:00
664f945153 - Test for the presence of systemd only once in %service_add_post
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=45
2020-11-09 08:43:46 +00:00
b8ac3768b4 - No need to run 'systemd-sysv-convert --save' in %service_add_pre anymore
Due to the fact that the initscripts being removed during package
  updates are still available in %post, systemd-sysv-convert has been
  reworked so it's only needed to call it in %post.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=44
2020-11-09 07:45:47 +00:00
6873a04f30 - DISABLE_RESTART_ON_UDPATE is no more read from the (build) environment
%service_del_postun_without_restart is the interface that should be
  used by packages that need to prevent theirs services from being
  restarted.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=42
2020-11-02 14:40:43 +00:00
4dd7db0039 document the previous change
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=41
2020-11-02 08:55:25 +00:00
c6f0727a32 - Drop DISABLE_STOP_ON_REMOVAL support (jsc#SLE-8968)
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=40
2020-10-30 17:40:53 +00:00
d81d9c2469 Accepting request 829057 from home:Pharaoh_Atem:branches:Base:System
- Sync missing macros of directory paths from upstream systemd macros
  + %_environmentdir
  + %_modulesloaddir
  + %_modprobedir

OBS-URL: https://build.opensuse.org/request/show/829057
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=38
2020-08-25 06:25:03 +00:00
8fac5fa9ed Accepting request 684198 from home:fbui:branches:Base:System
- $1 can never be empty or it's an rpm bug

- Get rid of $FIRST_ARG
  $FIRST_ARG was probably introduced because the %service_* macros
  were playing tricks on the shell positional parameters. This is bad
  practice and error prone so let's assume that no macros should do
  that anymore and hence it's safe to assume that positional
  parameters remains unchanged after any rpm macro call.
  All users of $FIRST_ARG should have been fixed by now and in most
  cases the use of the variable was unneeded (since the macros don't
  change the shell parameters) and thus confusing.
  'net-snmp' has a different use of FIRST_ARG though as it tried to
  fake an update during a package installation. Fortunately this could
  have been fixed too.

OBS-URL: https://build.opensuse.org/request/show/684198
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=37
2019-03-12 08:20:41 +00:00
f337315c0b Accepting request 680383 from home:fbui:branches:Base:System
- Fix %_restart_on_update_force: drop one extra trailing '}'
  Thanks Werner for spotting.

- Simplify %_restart_on_update and %_stop_on_removal
  There's no need to spawn sub shells when these macros are used.

- Macros arguments are mandatory
  Especially in %_restart_on_update_never and %_stop_on_removal_never,
  let's assume that they always receive unit names as arguments. This
  allows to make them slightly simpler (less rpm macro black magic).
  Callers will fail earlier if no arguments are passed anyway.

OBS-URL: https://build.opensuse.org/request/show/680383
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=36
2019-03-01 09:27:15 +00:00
7b2e3f4d22 - Make sure %_restart_on_update_never and %_stop_on_removal_never
don't expand to the empty string
  Otherwise sequences like the following would result in incorrect
  shell syntax:
  if [ ]; then
     %_restart_on_update_never
  fi

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=35
2019-02-27 14:16:36 +00:00
ec2ade1bb2 - Restore one daemon-reload command
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=34
2019-02-27 12:21:44 +00:00
Thomas Blume
e5d6d1a3e5 Accepting request 678270 from home:fbui:branches:Base:System
- Introduce %service_del_postun_without_restart
  This is another step to make the SUSE rpm macros closer to their
  upstream counterparts.
  Introduce %service_del_postun_without_restart which should help in
  getting rid of '-f' and '-n' switches of %service_del_postun.

OBS-URL: https://build.opensuse.org/request/show/678270
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=32
2019-02-25 09:47:37 +00:00
283ce5b854 - Drop $YAST_IS_RUNNING in favor of $SYSTEMD_OFFLINE (bsc#1117489)
libzypp now kindly defines SYSTEMD_OFFLINE when appropriate (see
  bsc#1118758). Therefore we don't need to rely on YAST_IS_RUNNING
  anymore. It's a tiny step to make the SUSE macros closer to their
  upstream counterparts.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=31
2019-02-21 18:00:10 +00:00
7ac942a4ee - systemd-sysv-convert has been moved from /usr/sbin to /usr/lib/systemd
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=30
2018-11-26 13:56:33 +00:00
c6c149ba4c - remove confusing --user before --global
Backport from
  28d36da64a.
  This was spotted in bsc#1090785.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=29
2018-05-22 12:56:47 +00:00
3adc1714da - Fix %systemd_post(): it's never called during package removal
Also make it useful by restoring its original implementation.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=28
2018-02-14 14:07:02 +00:00
1f25658464 - Import more definitions from upstream (v237)
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=27
2018-02-12 16:58:33 +00:00
30f9356379 Accepting request 568124 from home:dimstar:Factory
- Fix system_user_post macro for usage with RPM 4.14, backport from
  https://github.com/systemd/systemd/commit/e67ba783.

Addresses build issues like
https://build.opensuse.org/package/live_build_log/openSUSE:Factory/appimaged/standard/x86_64

OBS-URL: https://build.opensuse.org/request/show/568124
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=26
2018-01-22 14:11:14 +00:00
dcc8869b9f Accepting request 556888 from home:fbui:branches:Base:System
- 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()

- Make sure to apply presets if packages start shipping units during upgrades (bsc#1071543)

OBS-URL: https://build.opensuse.org/request/show/556888
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-rpm-macros?expand=0&rev=25
2017-12-15 09:52:31 +00:00