Commit Graph

69 Commits

Author SHA256 Message Date
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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
Franck Bui
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