You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

79 lines
2.1 KiB

%global provider github
%global provider_tld com
%global project Icinga
%global repo icingadb
%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
%global import_path %{provider_prefix}
%define debug_package %nil
%define configdir %{_sysconfdir}/%{name}
%define service %{name}.service
Name: icingadb
Version: 1.2.0
Release: 1%{?dist}
Summary: Icinga DB
Group: System Environment/Daemons
License: GPLv2+
URL: https://%{provider_prefix}
#Source0: https://%{import_path}/archive/v%{version}.tar.gz
Source1: icingadb.service
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
BuildRequires: gcc
BuildRequires: git
BuildRequires: systemd
Requires(pre): shadow-utils
%description
Icinga DB
%prep
%setup -q -T -c %{name}-%{version}
git clone https://%{provider_prefix} .
%build
git checkout v%{version}
sed 's/go 1.22$/go 1.22.0/' -i go.mod
go build -v -gcflags "-m" -ldflags "-extldflags -s -w -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -buildid "%{version}"" -buildvcs=false -trimpath ./cmd/icingadb
%install
install -d -m 0755 %{buildroot}%{_sbindir}
install -d -m 0755 %{buildroot}%{configdir}
install -d -m 0755 %{buildroot}%{_unitdir}
install -m 0755 icingadb %{buildroot}%{_sbindir}/
install -m 0644 config.example.yml %{buildroot}%{configdir}/config.yml
install -m 0644 %{S:1} %{buildroot}%{_unitdir}/
install -d -m 0755 %{buildroot}%{_datadir}/%{name}
cp -rv schema/ %{buildroot}%{_datadir}/%{name}/
%pre
getent group icingadb >/dev/null || groupadd -r icingadb
getent passwd icingadb >/dev/null || useradd -r -g icingadb -d /etc/icingadb -s /sbin/nologin -c 'Icinga DB' icingadb
%post
%systemd_post %{service}
%preun
%systemd_preun %{service}
%postun
%systemd_postun %{service}
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%doc LICENSE AUTHORS README.md CHANGELOG.md
%{_sbindir}/icingadb
%{_unitdir}/%{service}
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/schema
%defattr(0644,icingadb,icingadb,0755)
%dir %{configdir}
%config(noreplace) %{configdir}/config.yml
%changelog