127 lines
4.1 KiB
RPMSpec
127 lines
4.1 KiB
RPMSpec
%define dracutlibdir %{_prefix}/lib/dracut
|
|
%bcond_without check
|
|
%define debug_package %{nil}
|
|
|
|
%global __cargo_skip_build 0
|
|
# The library is for internal code reuse and is not a public API
|
|
%global __cargo_is_lib 0
|
|
|
|
%global crate nestos-installer
|
|
|
|
Name: rust-nestos-installer
|
|
Version: 0.10.0
|
|
Release: 2
|
|
Summary: Installer for NestOS
|
|
|
|
# Upstream license specification: Apache-2.0
|
|
License: ASL 2.0
|
|
URL: https://gitee.com/openeuler/nestos-installer
|
|
Source0: https://gitee.com/openeuler/nestos-installer/repository/archive/v%{version}.tar.gz
|
|
Source1: %{crate}-%{version}-vendor.tar.gz
|
|
|
|
|
|
BuildRequires: rust-packaging openssl-devel
|
|
BuildRequires: systemd
|
|
|
|
%global _description %{expand:
|
|
nestos-installer installs NestOS to bare-metal
|
|
machines (or, occasionally, to virtual machines).
|
|
}
|
|
|
|
%description %{_description}
|
|
|
|
%package -n nestos-installer
|
|
Summary: %{summary}
|
|
License: ASL 2.0 and MIT and zlib
|
|
|
|
Requires: gnupg
|
|
Requires: kpartx
|
|
Requires: systemd-udev
|
|
Requires: util-linux
|
|
%ifarch s390x
|
|
# This should be spelled "s390utils-core" but some of the binaries are
|
|
# still moving over from s390utils-base
|
|
Requires: /usr/sbin/chreipl
|
|
Requires: /usr/sbin/dasdfmt
|
|
Requires: /usr/sbin/fdasd
|
|
Requires: /usr/sbin/lszdev
|
|
Requires: /usr/sbin/zipl
|
|
%endif
|
|
|
|
# Since `rust-nestos-installer` creates a `nestos-installer`
|
|
# subpackage with a newer version number, which supersedes the
|
|
# deprecated `nestos-installer` package ,
|
|
# an explicit `Obsoletes:` for `nestos-installer` is not necessary.
|
|
|
|
# Obsolete dracut modules as they are not provided in this package.
|
|
Obsoletes: nestos-installer-dracut < 0.0.1
|
|
|
|
%description -n nestos-installer %{_description}
|
|
|
|
%files -n nestos-installer
|
|
%license LICENSE
|
|
%doc README.*
|
|
%{_bindir}/nestos-installer
|
|
|
|
%prep
|
|
%autosetup -n %{crate}-v%{version} -p1
|
|
tar xvf %{SOURCE1}
|
|
%cargo_prep
|
|
sed -i 's/"-Ccodegen-units=1",//' .cargo/config
|
|
|
|
mkdir -p .cargo
|
|
cat >.cargo/config << EOF
|
|
|
|
[source.crates-io]
|
|
replace-with = "vendored-sources"
|
|
|
|
[source.vendored-sources]
|
|
directory = "vendor"
|
|
EOF
|
|
|
|
%build
|
|
%cargo_build -f rdcore
|
|
|
|
%install
|
|
%cargo_install -f rdcore
|
|
# Install binaries, dracut modules, units, targets, generators for running via systemd
|
|
install -D -m 0755 -t %{buildroot}%{dracutlibdir}/modules.d/50rdcore dracut/50rdcore/module-setup.sh
|
|
install -D -m 0755 -t %{buildroot}%{_libexecdir} scripts/nestos-installer-service
|
|
install -D -m 0755 -t %{buildroot}%{_libexecdir} scripts/nestos-installer-disable-device-auto-activation
|
|
install -D -m 0644 -t %{buildroot}%{_unitdir} systemd/nestos-installer-disable-device-auto-activation.service
|
|
install -D -m 0644 -t %{buildroot}%{_unitdir} systemd/nestos-installer.service
|
|
install -D -m 0644 -t %{buildroot}%{_unitdir} systemd/nestos-installer-reboot.service
|
|
install -D -m 0644 -t %{buildroot}%{_unitdir} systemd/nestos-installer-noreboot.service
|
|
install -D -m 0644 -t %{buildroot}%{_unitdir} systemd/nestos-installer-pre.target
|
|
install -D -m 0644 -t %{buildroot}%{_unitdir} systemd/nestos-installer.target
|
|
install -D -m 0644 -t %{buildroot}%{_unitdir} systemd/nestos-installer-post.target
|
|
install -D -m 0755 -t %{buildroot}%{_systemdgeneratordir} systemd/nestos-installer-generator
|
|
|
|
cp -r $RPM_BUILD_DIR/%{crate}-v%{version}/.cargo/bin %{buildroot}/usr
|
|
mv %{buildroot}%{_bindir}/rdcore %{buildroot}%{dracutlibdir}/modules.d/50rdcore/
|
|
|
|
%package -n nestos-installer-bootinfra
|
|
Summary: %{crate} boot-time infrastructure for use on Fedora/RHEL CoreOS
|
|
Requires: %{crate}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
|
License: ASL 2.0 and MIT and zlib
|
|
|
|
Provides: %{crate}-systemd = %{version}-%{release}
|
|
Obsoletes: %{crate}-systemd <= 0.3.0-3
|
|
|
|
%description -n %{crate}-bootinfra
|
|
This subpackage contains boot-time infrastructure for NestOS. It is not needed on other platforms.
|
|
|
|
%files -n %{crate}-bootinfra
|
|
%{dracutlibdir}/modules.d/*
|
|
%{_libexecdir}/*
|
|
%{_unitdir}/*
|
|
%{_systemdgeneratordir}/*
|
|
|
|
|
|
%changelog
|
|
* Wed Jun 08 2022 duyiwei <duyiwei@kylinos.cn> - 0.10.0-2
|
|
- change tar.gz to be the same with upstream
|
|
|
|
* Thu Mar 17 2022 duyiwei <duyiwei@kylinos.cn> - 0.10.1-1
|
|
- init package
|