File server-dependency.spec of Package server-dependency
#
# spec file for package server-dependency
#
# Copyright (C) 2019, 2021-2026 Mark Grant <m.grant.prg@gmail.com>
#
#
# openSUSE Leap has a peculiar release field and inconsistent versioning macros.
# Prior to 16.0 sle_version must be used to provide the version, it has the
# format 150600. For 16.0 and subsequent releases, suse_version must be used,
# it has the format 1600. N.B. This is all true of osc builds, OBS seems to work
# probably because it overrides the spec file Release field.
%if 0%{?is_opensuse}
%if 0%{?suse_version} >= 1600
%define major %(version=%{?suse_version}; echo ${version::2})
%define minor %(version=%{?suse_version}; echo ${version:(-1)})
%else
%define major %(version=%{?sle_version}; echo ${version::2})
%define minor %(version=%{?sle_version}; echo ${version:(-3):1})
%endif
%endif
# Systemd presets are in /usr/lib/systemd/system-preset but lib and libdir are
# unreliable on this score, so define our own.
%define sysd_preset_dir /usr/lib/systemd/system-preset
# Enter the Release numerics here.
%define pkg_release 0.0
Name: server-dependency
Version: 1.4.0
%if 0%{?is_opensuse}
Release: lp%{?major}%{?minor}.%{?pkg_release}
%else
Release: %{?pkg_release}
%endif
License: GPL-3.0
Summary: Boot time configuration depending on server availability
Url: https://github.com/m-grant-prg/%{name}/wiki
Group: System/Management
Source0: https://github.com/m-grant-prg/%{name}/release/%{name}-%{version}.tar.gz
BuildRequires: autoconf, automake, make, systemd
BuildRequires: bash, tar
BuildRequires: txt2manwrap
%if 0%{?fedora}
%{?systemd_requires}
%endif
Requires: bash, tar
Requires: coreutils, gawk, iputils, util-linux
%{?suse_version:Requires: util-linux-systemd}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%description
A script which is run by systemd at boot to perform some system configuration
dependent on server availability.
%prep
%setup -q -n %{name}-%{version}
%build
autoreconf -if
%configure docdir=%{_docdir}/%{name}
make %{?jobs:-j%jobs}
%install
%make_install
install -D -m 644 $RPM_SOURCE_DIR/%{name}.service \
%{buildroot}%{_unitdir}/%{name}.service
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
install -D -m 644 $RPM_SOURCE_DIR/50-%{name}.preset \
%{buildroot}%{sysd_preset_dir}/50-%{name}.preset
%pre
%if 0%{?suse_version}
%service_add_pre %{name}.service
%endif
%post
%if 0%{?suse_version}
%service_add_post %{name}.service
%endif
%if 0%{?fedora}
%systemd_post %{name}.service
%endif
%preun
%if 0%{?suse_version}
%stop_on_removal %{name}
%service_del_preun %{name}.service
%endif
%if 0%{?fedora}
%systemd_preun %{name}.service
%endif
%postun
%if 0%{?suse_version}
%service_del_postun %{name}.service
%endif
%if 0%{?fedora}
%systemd_postun %{name}.service
%endif
%files
%defattr(-,root,root,-)
%license COPYING
%doc %{_docdir}/%{name}
%config %{_sysconfdir}/dosab
%{_unitdir}/%{name}.service
%{sysd_preset_dir}/50-%{name}.preset
%{_datadir}/bash-completion/completions/dosab
%{_mandir}/man5/server.list.5.gz
%{_mandir}/man8/dosab.8.gz
%{_sbindir}/dosab
%{_sbindir}/rc%{name}
%changelog