# # spec file for package systemd-rpm-macros # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: systemd-rpm-macros Version: 3 Release: 13.1 Summary: RPM macros for systemd License: LGPL-2.1+ Group: Development/Tools/Building Url: http://en.opensuse.org/openSUSE:Systemd_packaging_guidelines Source0: macros.systemd Requires: coreutils BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch #!BuildIgnore: util-linux #!BuildIgnore: %{name} %description Starting with openSUSE 12.1, several RPM macros must be used to package systemd services files. This package provides these macros. %prep %build %install install -Dm644 %{S:0} %{buildroot}%{_rpmconfigdir}/macros.d/macros.systemd UNITDIR="$(sed -n 's/.*_unitdir[[:blank:]]*//p' %{S:0})" for i in $UNITDIR `dirname $UNITDIR`; do mkdir -p %{buildroot}$i echo $i >> unitdir done %files -f unitdir %defattr(-,root,root) %{_rpmconfigdir}/macros.d/macros.systemd %changelog * Wed Feb 14 2018 fbui@suse.com - Fix %%systemd_post(): it's never called during package removal Also make it useful by restoring its original implementation. * Mon Feb 12 2018 fbui@suse.com - Import more definitions from upstream (v237) * Mon Jan 22 2018 dimstar@opensuse.org - Fix system_user_post macro for usage with RPM 4.14, backport from https://github.com/systemd/systemd/commit/e67ba783. * Thu Dec 14 2017 fbui@suse.com - Move macros.systemd in /usr/lib/rpm The file is not supposed to be customized by the user. * Wed Dec 13 2017 fbui@suse.com - 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. * Wed Dec 13 2017 fbui@suse.com - 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. * Fri Dec 1 2017 fbui@suse.com - Make sure to clean up "new-in-upgrade" tag file (bsc#1059627) The tag file might have been incorrectly left by a preceding update. * Wed Nov 22 2017 fbui@suse.com - Restore previous changes * Fri Nov 17 2017 fbui@suse.com - Revert previous changes Also added reasons why the previous changes would be needed. * Fri Nov 17 2017 kukuk@suse.de - 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). * Thu Nov 2 2017 fbui@suse.com - Remove a useless test in %%service_add_pre() The test was placed where the condition '[ "$FIRST_ARG" -gt 1 ]' was always true. * Fri Jun 2 2017 dimstar@opensuse.org - 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. * Fri Jun 2 2017 fbui@suse.com - 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). * Fri Mar 10 2017 fbui@suse.com - 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. * Wed Jan 11 2017 jengelh@inai.de - RPM group fix * Fri Jun 3 2016 Thomas.Blume@suse.com - %%service_add_post() suppress daemon-reload when in installation system (bsc#982343) * Thu Mar 3 2016 werner@suse.de - 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) * Sat Feb 27 2016 dimstar@opensuse.org - 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). * Fri Nov 20 2015 werner@suse.de - Support of DISABLE_STOP_ON_REMOVAL and DISABLE_RESTART_ON_UPDATE from /etc/sysconfig/service (bsc#955996) * Fri Sep 18 2015 sbrabec@suse.com - Skip %%systemd_preset_* during the clean installation to prevent presetting of all services (boo#946216). * Tue Aug 4 2015 sbrabec@suse.com - 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. * Mon Jun 15 2015 jengelh@inai.de - Check for presence/executability of systemd programs before executing them, and do not suppress warnings/errors resulting from them. * Fri Jan 9 2015 jengelh@inai.de - Update with new macros from systemd 218 - Remove empty sections from specfile * Tue Nov 18 2014 werner@suse.de - Mark /etc/rpm/macros.systemd as configuration file * Tue Nov 18 2014 werner@suse.de - Apply then delete patch systemd-daemon-reload-before-service-restart.patch - Add orignal systemd macros as well (boo#807164) * Wed Oct 15 2014 thomas.blume@suse.com - make systemd aware of changed unit file content after update add systemd-daemon-reload-before-service-restart.patch * Thu Mar 27 2014 werner@suse.de - Add a %%_ntpunitsdir macro * Thu Mar 27 2014 fcrozat@suse.com - Add support to not restart services if running in YaST2 or if DISABLE_RESTART_ON_UPDATE is set to yes [bnc#858429] * Fri Feb 28 2014 werner@suse.de - Require coreutils as rm and touch are used * Fri Feb 7 2014 werner@suse.de - Make systemd rpm macros package a separate to avoid rebuild of the full package tree if systemd package change * Thu Jul 4 2013 fcrozat@suse.com - Resync with systemd v205 macros * Mon Jun 17 2013 mhrusecky@suse.com - New package with systemd rpm macros to avoid unnecessary build time dependencies