forked from pool/warewulf4
127 lines
4.3 KiB
RPMSpec
127 lines
4.3 KiB
RPMSpec
|
#
|
||
|
# spec file for package warewulf4
|
||
|
#
|
||
|
# Copyright (c) 2021 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/
|
||
|
#
|
||
|
|
||
|
|
||
|
%global provider github
|
||
|
%global provider_tld com
|
||
|
%global project hpcng
|
||
|
%global repo warewulf
|
||
|
%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
|
||
|
%global import_path %{provider_prefix}
|
||
|
|
||
|
ExclusiveArch: x86_64 aarch64
|
||
|
|
||
|
Name: warewulf4
|
||
|
Version: 4.2.0rc1
|
||
|
Release: 0
|
||
|
Summary: A suite of tools for clustering
|
||
|
License: BSD-3-Clause
|
||
|
Group: Productivity/Clustering/Computing
|
||
|
URL: https://warewulf.hpcng.org/docs/
|
||
|
Source0: https://github.com/hpcng/warewulf/archive/v%{version}.tar.gz#/warewulf-%{version}.tar.gz
|
||
|
Source1: vendor.tar.gz
|
||
|
Source2: warewulf.conf
|
||
|
Source3: warewulf4-rpmlintrc
|
||
|
# no firewalld in sle12
|
||
|
%if 0%{?sle_version} >= 150000 || 0%{?suse_version} > 1500
|
||
|
BuildRequires: firewalld
|
||
|
%endif
|
||
|
BuildRequires: go >= 1.15
|
||
|
BuildRequires: golang-packaging
|
||
|
BuildRequires: make
|
||
|
BuildRequires: sysuser-tools
|
||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||
|
Patch0: LocalStateDir-is-configureable-to-meet-FHS.patch
|
||
|
Requires: %{name}-overlay
|
||
|
Requires: dhcp-server
|
||
|
Requires: ipmitool
|
||
|
Requires: tftp
|
||
|
|
||
|
%{go_nostrip}
|
||
|
|
||
|
%description
|
||
|
Warewulf v4 combines ultra scalability, flexibility, and simplicity with being light weight, non-intrusive, and a great tool for scientists and seasoned system administrators alike. Warewulf empowers you to scalably and easily manage thousands of compute resources.
|
||
|
|
||
|
%package overlay
|
||
|
Requires(pre): %{name}
|
||
|
Summary: Default overlay for warewulf
|
||
|
Group: Productivity/Clustering/Computing
|
||
|
|
||
|
%description overlay
|
||
|
Includes the default overlays so that they can be updated seprately.
|
||
|
|
||
|
%prep
|
||
|
%setup -q -n warewulf-%{version}
|
||
|
%setup -q -D -T -a 1 -n warewulf-%{version}
|
||
|
%autopatch -p1
|
||
|
|
||
|
%build
|
||
|
%goprep %{import_path}
|
||
|
|
||
|
make %{?_smp_mflags}
|
||
|
|
||
|
%install
|
||
|
LOCALSTATE=%{_localstatedir}/lib/warewulf/ %{makeinstall}
|
||
|
mkdir -p %{buildroot}%{_sbindir}/
|
||
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcwarewulfd
|
||
|
chmod 755 %{buildroot}%{_localstatedir}/lib/warewulf/overlays/system/default/warewulf/init.d/*
|
||
|
mkdir -p %{buildroot}%{_datadir}/bash-completion/completions/
|
||
|
mv -v %{buildroot}%{_sysconfdir}/bash_completion.d/warewulf %{buildroot}%{_datadir}/bash-completion/completions/wwctl
|
||
|
cp %{S:2} %{buildroot}%{_sysconfdir}/warewulf/warewulf.conf
|
||
|
# create systemuser
|
||
|
echo "u warewulf -" > system-user-%{name}.conf
|
||
|
echo "g warewulf -" >> system-user-%{name}.conf
|
||
|
%sysusers_generate_pre system-user-%{name}.conf %{name} system-user-%{name}.conf
|
||
|
install -D -m 644 system-user-%{name}.conf %{buildroot}%{_sysusersdir}/system-user-%{name}.conf
|
||
|
|
||
|
%pre -f %{name}.pre
|
||
|
%service_add_pre warewulfd.service
|
||
|
|
||
|
%post
|
||
|
%service_add_post warewulfd.service
|
||
|
|
||
|
%preun
|
||
|
%service_del_preun warewulfd.service
|
||
|
|
||
|
%postun
|
||
|
%service_del_postun warewulfd.service
|
||
|
|
||
|
%files
|
||
|
%defattr(-,root,root)
|
||
|
%doc README.md LICENSE.md
|
||
|
%attr(0755, root, warewulf) %dir %{_sysconfdir}/warewulf
|
||
|
%attr(0755, root, warewulf) %dir %{_sysconfdir}/warewulf/dhcp
|
||
|
%attr(0755, root, warewulf) %dir %{_sysconfdir}/warewulf/ipxe
|
||
|
%{_datadir}/bash-completion/completions/wwctl
|
||
|
%{_mandir}/man1/wwctl*1.gz
|
||
|
%config(noreplace) %{_sysconfdir}/warewulf/warewulf.conf
|
||
|
%config(noreplace) %{_sysconfdir}/warewulf/hosts.tmpl
|
||
|
%config(noreplace) %{_sysconfdir}/warewulf/dhcp/*.conf
|
||
|
%config(noreplace) %{_sysconfdir}/warewulf/ipxe/*.ipxe
|
||
|
%{_prefix}/lib/firewalld/services/warewulf.xml
|
||
|
%{_localstatedir}/lib/warewulf
|
||
|
%exclude %{_localstatedir}/lib/warewulf/overlays
|
||
|
%{_bindir}/wwctl
|
||
|
%{_sbindir}/rcwarewulfd
|
||
|
%{_unitdir}/warewulfd.service
|
||
|
%{_sysusersdir}/system-user-%{name}.conf
|
||
|
|
||
|
%files overlay
|
||
|
%attr(0755, root, warewulf) %{_localstatedir}/lib/warewulf/overlays
|
||
|
|
||
|
%changelog
|