sdbootutil/sdbootutil.spec

139 lines
4.0 KiB
RPMSpec
Raw Normal View History

#
# spec file for package sdbootutil
#
# Copyright (c) 2023 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 nvr %{name}-%{version}-%{release}
%if 0%{?_build_in_place}
%define git_version %(git log '-n1' '--date=format:%Y%m%d' '--no-show-signature' "--pretty=format:+git%cd.%h")
BuildRequires: git-core
%else
# this is required for obs' source validator. It's
# 20-files-present-and-referenced ignores all conditionals. So the
# definition of git_version actually happens always.
%define git_version %{nil}
%endif
Name: sdbootutil
Version: 1+git20230711.f5c7e48%{git_version}
Release: 0
Summary: script to install shim with sd-boot
License: MIT
URL: https://en.opensuse.org/openSUSE:Usr_merge
Source: %{name}-%{version}.tar
# XXX systemd-boot is in udev
Requires: jq
Requires: sed
Supplements: (udev and shim)
%description
Hook scripts to install shim along with systemd-boot
%package filetriggers
Summary: File triggers for sdbootutil
Requires: sdbootutil >= %{version}-%{release}
Conflicts: (suse-module-tools with suse-kernel-rpm-scriptlets)
%description filetriggers
File trigger scripts for sdbootutil
%package snapper
Summary: plugin script for snapper
Requires: %{name} = %{version}
Requires: btrfsprogs
Requires: sdbootutil >= %{version}-%{release}
Requires: snapper
Supplements: (snapper and btrfsprogs)
%description snapper
Plugin scripts for snapper to handle BLS config files
%package rpm-scriptlets
Summary: dummy scriptlets for the kernel
Conflicts: suse-kernel-rpm-scriptlets
Provides: suse-kernel-rpm-scriptlets
%description rpm-scriptlets
Empty scriptlets to satisfy kernel dependencies
%prep
%setup -q
%build
%install
install -D -m 644 kernelhooks.lua %{buildroot}%{_rpmconfigdir}/lua/kernelhooks.lua
install -D -m 755 sdbootutil %{buildroot}%{_bindir}/sdbootutil
mkdir -p %{buildroot}%{_prefix}/lib/module-init-tools/kernel-scriptlets
for a in cert inkmp kmp rpm; do
for b in post posttrans postun pre preun; do
ln -s /bin/true %{buildroot}%{_prefix}/lib/module-init-tools/kernel-scriptlets/$a-$b
done
done
# snapper
install -d -m755 %{buildroot}%{_prefix}/lib/snapper/plugins
for i in 10-sdbootutil.snapper; do
install -m 755 $i %{buildroot}%{_prefix}/lib/snapper/plugins/$i
done
%transfiletriggerin filetriggers -p <lua> -- %{_prefix}/lib/modules/
require("kernelhooks")
if posix.getenv("VERBOSE_FILETRIGGERS") then
kernelhooks.debug = "%{nvr}(in)"
end
file = rpm.next_file()
while file do
kernelhooks.filter(file)
file = rpm.next_file()
end
kernelhooks.add()
io.flush()
%transfiletriggerun filetriggers -p <lua> -- %{_prefix}/lib/modules/
-- the module is already gone if we get called for ourselves
if pcall(require, 'kernelhooks') then
if posix.getenv("VERBOSE_FILETRIGGERS") then
kernelhooks.debug = "%{nvr}(postun)"
end
file = rpm.next_file()
while file do
kernelhooks.filter(file)
file = rpm.next_file()
end
kernelhooks.remove()
io.flush()
end
%files
%license LICENSE
%{_bindir}/sdbootutil
%files filetriggers
%dir %{_rpmconfigdir}/lua
%{_rpmconfigdir}/lua/kernelhooks.lua
%files rpm-scriptlets
%dir %{_prefix}/lib/module-init-tools
%{_prefix}/lib/module-init-tools/*
%files snapper
%dir %{_prefix}/lib/snapper
%dir %{_prefix}/lib/snapper/plugins
%{_prefix}/lib/snapper/plugins/*
%changelog