File systemd-presets-branding-rockstor.spec of Package systemd-presets-branding-rockstor

#
# spec file for package systemd-presets-branding-openSUSE
#
# Copyright (c) 2020 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#


%define generic_name systemd-presets-branding

Name:           %{generic_name}-rockstor
Version:        12.2
Release:        0
Summary:        Systemd default presets for Rockstor built on openSUSE
License:        GPL-2.0-or-later
Group:          System/Base
Source1:        default-openSUSE.preset
# FIXME: why systemd is required ?
BuildRequires:  pkgconfig(systemd)
#!BuildIgnore:  systemd-presets-branding
PreReq:         coreutils
BuildRequires:  systemd-presets-common-SUSE
Requires(pre):  systemd-presets-common-SUSE
Provides:       %{generic_name} = %{version}
Supplements:    packageand(systemd:branding-openSUSE)
Conflicts:      otherproviders(%{generic_name})
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildArch:      noarch
URL:            http://rockstor.com/

Requires(pre):  bash
Requires(post): bash

%description
Default presets for systemd on Rockstor built on openSUSE distribution.

These are the Rockstor specific presets. The default
presets needed for all SUSE based distributions can be 
found in systemd-presets-common-SUSE.

%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.
# everything that must be enabled only in Rockstor built on openSUSE
install -m644 %{SOURCE1}  %{buildroot}%{_prefix}/lib/systemd/system-preset/90-default-Rockstor.preset

%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
    # Enable all services, which were installed before systemd
    # Don't disable services, since this would disable the
    # complete network stack.
    systemctl preset-all --preset-mode=enable-only
fi
rm -f /run/rpm-%{name}-preset-all

%files
%defattr(-,root,root)
%{_prefix}/lib/%{generic_name}/
%{_prefix}/lib/systemd/system-preset/*

%changelog
openSUSE Build Service is sponsored by