Marcus Meissner
d35d212d2e
- If we do a fresh installation, call systemctl preset-all in the %posttrans section. Some services need to be installed before systemd or do not strictly require systemd, so systemd would only be installed after them and the systemd units of this package never enabled. - Enable klog.service and rsyslog.service by default, currently they enable themself always in post install section. OBS-URL: https://build.opensuse.org/request/show/556009 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd-presets-branding-openSUSE?expand=0&rev=102
99 lines
3.1 KiB
RPMSpec
99 lines
3.1 KiB
RPMSpec
#
|
|
# spec file for package systemd-presets-branding-openSUSE
|
|
#
|
|
# Copyright (c) 2017 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/
|
|
#
|
|
|
|
|
|
%define generic_name systemd-presets-branding
|
|
|
|
Name: %{generic_name}-openSUSE
|
|
Version: 12.2
|
|
Release: 0
|
|
Summary: Systemd default presets for openSUSE
|
|
License: GPL-2.0+
|
|
Group: System/Base
|
|
Source0: default-SUSE.preset
|
|
Source1: default-openSUSE.preset
|
|
Source2: 99-default-disable.preset
|
|
Source3: branding-preset-states
|
|
# FIXME: why systemd is required ?
|
|
BuildRequires: systemd
|
|
#!BuildIgnore: systemd-presets-branding
|
|
PreReq: coreutils
|
|
Provides: %{generic_name} = %{version}
|
|
Supplements: packageand(systemd:branding-openSUSE)
|
|
Conflicts: otherproviders(%{generic_name})
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
BuildArch: noarch
|
|
|
|
Requires(pre): bash
|
|
Requires(post): bash
|
|
|
|
%description
|
|
Default presets for systemd on openSUSE distribution.
|
|
|
|
%prep
|
|
%setup -q -T -c
|
|
|
|
%build
|
|
|
|
%install
|
|
mkdir -p %{buildroot}%{_prefix}/lib/%{generic_name}
|
|
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset
|
|
# everything that must be enabled to have a working system.
|
|
# shared across all brands
|
|
install -m644 %{SOURCE0} %{buildroot}%{_prefix}/lib/systemd/system-preset/90-default-SUSE.preset
|
|
# everything that must be enabled only in openSUSE
|
|
install -m644 %{SOURCE1} %{buildroot}%{_prefix}/lib/systemd/system-preset/90-default-openSUSE.preset
|
|
install -m644 %{SOURCE2} %{buildroot}%{_prefix}/lib/systemd/system-preset/
|
|
install -m755 %{SOURCE3} %{buildroot}%{_prefix}/lib/%{generic_name}/
|
|
|
|
%pre
|
|
# On initial installation, branding-preset-states does not yet exist,
|
|
# which is why we also check for the file to be present/executable
|
|
if [ $1 -gt 1 -a -x %{_prefix}/lib/%{generic_name}/branding-preset-states ] ; then
|
|
#
|
|
# Save the old state so we can detect which package have its
|
|
# default changed later.
|
|
#
|
|
# Note: the old version of the script is used here.
|
|
#
|
|
%{_prefix}/lib/%{generic_name}/branding-preset-states save
|
|
elif [ $1 -eq 1 ]; then
|
|
touch /run/rpm-%{name}-preset-all
|
|
fi
|
|
|
|
%post
|
|
if [ $1 -gt 1 ] ; then
|
|
#
|
|
# Now that the updated presets are installed, find the ones
|
|
# that have been changed and apply "systemct preset" on them.
|
|
#
|
|
%{_prefix}/lib/%{generic_name}/branding-preset-states apply-changes
|
|
fi
|
|
|
|
%posttrans
|
|
if [ -f /run/rpm-%{name}-preset-all ]; then
|
|
systemctl preset-all
|
|
fi
|
|
rm -f /run/rpm-%{name}-preset-all
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%{_prefix}/lib/%{generic_name}/
|
|
%{_prefix}/lib/systemd/system-preset/*
|
|
|
|
%changelog
|