File opsi-linux-bootimage.spec of Package opsi-linux-bootimage
# spec file for package opsi-linux-bootimage
#
# Copyright (c) 2010-2019 uib GmbH.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
Name: opsi-linux-bootimage
Requires: opsiconfd >= 4.1
Requires: opsi-utils >= 4.1
Url: http://www.opsi.org
License: AGPL-3.0-only
Group: Productivity/Networking/Opsi
AutoReqProv: on
Version: 20250701
Release: 1
Summary: The opsi linux bootimage
%define tarname opsi-linux-bootimage
Source: opsi-linux-bootimage_20250701-1.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%define _binaries_in_noarch_packages_terminate_build 0
%if 0%{?suse_version} || 0%{?is_opensuse}
%define tftpboot /var/lib/tftpboot
%define opsitftpboot /var/lib/tftpboot/opsi/opsi-linux-bootimage
%else
%define tftpboot /tftpboot
%define opsitftpboot /tftpboot/opsi/opsi-linux-bootimage
%endif
%define toplevel_dir %{name}-%{version}
# ===[ description ]================================
%description
The opsi linux bootimage is used to run os independent tasks in the opsi context.
# ===[ debug_package ]==============================
%debug_package
# ===[ prep ]=======================================
%prep
# ===[ setup ]======================================
%setup -n %{tarname}-%{version}
# ===[ build ]======================================
%build
# ===[ install ]====================================
%install
mkdir -p $RPM_BUILD_ROOT/%{tftpboot}
cp -a opsi-linux-bootimage/tftpboot/* $RPM_BUILD_ROOT/%{tftpboot}/
# ===[ clean ]======================================
%clean
rm -rf $RPM_BUILD_ROOT
# ===[ post ]=======================================
%post
fileadmingroup=$(grep "^fileadmingroup" /etc/opsi/opsi.conf | cut -d "=" -f 2 | tr -d '"' | sed 's/ //g')
chown -R opsiconfd:$fileadmingroup %{opsitftpboot} || true
chmod 2775 %{opsitftpboot}
chmod 2775 %{opsitftpboot}/cfg
chmod 2775 %{opsitftpboot}/loader
find %{opsitftpboot} -type f -exec chmod 664 {} \;
%if 0%{?suse_version} == 1110 || 0%{?suse_version} == 1315 || 0%{?is_opensuse}
sed -i "s_/linux/_/opsi/_g" %{opsitftpboot}/cfg/grub.cfg
sed -i "s_/linux/_/opsi/_g" %{opsitftpboot}/cfg/grub-menu.cfg
sed -i "s_/linux/_/opsi/_g" %{opsitftpboot}/cfg/grub-custom.cfg
sed -i "s_/linux/_/opsi/_g" %{opsitftpboot}/cfg/install-grub-x64
%endif
sed -i '/if \[ $pipefilefile \]; then/,+2d' %{opsitftpboot}/cfg/grub.cfg
if grep -qF "source" %{opsitftpboot}/cfg/grub.cfg; then echo "found"; else sed -i '/^pipefile=.*/a source "$pipefile"' %{opsitftpboot}/cfg/grub.cfg; fi
sed -i s/.bz2//g %{opsitftpboot}/cfg/install-grub-x64*
sed -i s/.bz2//g %{opsitftpboot}/cfg/grub.cfg*
# ===[ postun ]=====================================
%postun
# ===[ files ]======================================
%files
# default attributes
%defattr(-,opsiconfd,root)
# configfiles
%config %{opsitftpboot}/cfg/grub.cfg
%config %{opsitftpboot}/cfg/grub-menu.cfg
%config(noreplace) %{opsitftpboot}/cfg/grub-custom.cfg
%config(noreplace) %{opsitftpboot}/cfg/grub-settings.cfg
%config %{opsitftpboot}/cfg/install-grub-x64
# other files
%{tftpboot}/opsi-netboot.efi
%{opsitftpboot}/miniroot-x64
%{opsitftpboot}/install-x64
%{opsitftpboot}/loader/shimx64.efi.signed
%{opsitftpboot}/loader/opsi-netboot.efi
%{opsitftpboot}/loader/opsi-netboot.bios
%{opsitftpboot}/loader/opsi-netboot-debug.efi
%{opsitftpboot}/loader/opsi-netboot-debug.bios
# directories
%attr(-,root,root) %dir %{tftpboot}
%attr(2775,opsiconfd,root) %dir %{tftpboot}/opsi
%attr(2775,opsiconfd,root) %dir %{opsitftpboot}/cfg
%attr(2775,opsiconfd,root) %dir %{opsitftpboot}/loader
%attr(2775,opsiconfd,root) %dir %{opsitftpboot}
# ===[ changelog ]==================================
%changelog