rust-coreos-installer/SPECS/rust-coreos-installer.spec
2022-02-04 16:13:15 +00:00

255 lines
9.8 KiB
RPMSpec

# Ganerated by rust2rpm 13
%define dracutlibdir %{_prefix}/lib/dracut
%bcond_without check
%global __cargo_skip_build 0
# The library is for internal code reuse and is not a public API
%global __cargo_is_lib 0
%global coidracutcommit 80d42a6b34c0942309331f2533d1af61582f4320
%global coidracutshortcommit %(c=%{coidracutcommit}; echo ${c:0:7})
%global crate coreos-installer
Name: rust-%{crate}
Version: 0.10.1
Release: 4%{?dist}
Summary: Installer for Fedora CoreOS and RHEL CoreOS
# Upstream license specification: Apache-2.0
License: ASL 2.0
URL: https://github.com/coreos/coreos-installer
Source: https://crates.io/api/v1/crates/%{crate}/%{version}/download#/%{crate}-%{version}.crate
Source1: https://github.com/coreos/coreos-installer/releases/download/v%{version}/%{crate}-%{version}-vendor.tar.gz
Source2: https://github.com/runcom/coreos-installer-dracut/archive/%{coidracutcommit}/coreos-installer-dracut-%{coidracutshortcommit}.tar.gz
# The RHEL 8 rust-toolset macros don't let us enable features from the
# %%cargo_* macros. Enable rdcore directly in Cargo.toml.
Patch0: enable-rdcore.patch
# LTO causes runtime crashes on s390x
# https://github.com/coreos/coreos-installer/pull/360
# https://github.com/coreos/coreos-installer/issues/372
# https://bugzilla.redhat.com/show_bug.cgi?id=1863466
Patch1: disable-lto.patch
ExclusiveArch: %{rust_arches}
BuildRequires: openssl-devel
BuildRequires: xz-devel
BuildRequires: rust-toolset
BuildRequires: systemd
# For tests
BuildRequires: gnupg2
Requires: gnupg
Requires: kpartx
Requires: systemd-udev
Requires: util-linux
%ifarch s390x
# This should eventually be spelled "s390utils-core" but the binaries
# haven't been broken out of s390utils-base yet
Requires: /usr/sbin/chreipl
Requires: /usr/sbin/dasdfmt
Requires: /usr/sbin/fdasd
Requires: /usr/sbin/lszdev
Requires: /usr/sbin/zipl
%endif
#BuildRequires: rust-packaging
#BuildRequires: systemd-rpm-macros
%global _description %{expand:
coreos-installer installs Fedora CoreOS or RHEL CoreOS to bare-metal
machines (or, occasionally, to virtual machines).
}
%description %{_description}
%package -n %{crate}
Summary: %{summary}
# ASL 2.0
# ASL 2.0 or Boost
# MIT
# MIT or ASL 2.0
# Unlicense or MIT
# zlib
License: ASL 2.0 and MIT and zlib
# Since `rust-coreos-installer` creates a `coreos-installer`
# subpackage with a newer version number, which supersedes the
# deprecated `coreos-installer` package (https://src.fedoraproject.org/rpms/coreos-installer),
# an explicit `Obsoletes:` for `coreos-installer` is not necessary.
%description -n %{crate} %{_description}
%files -n %{crate}
%license LICENSE
%doc README.md
%{_bindir}/coreos-installer
%prep
%autosetup -n %{crate}-%{version} -p1
%setup -n %{crate}-%{version} -D -T -a 2
%cargo_prep -V 1
# https://github.com/rust-lang-nursery/error-chain/pull/289
find -name '*.rs' -executable -exec chmod a-x {} \;
%build
%cargo_build
%install
%cargo_install
# 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/coreos-installer-service
install -D -m 0755 -t %{buildroot}%{_libexecdir} scripts/coreos-installer-disable-device-auto-activation
install -D -m 0644 -t %{buildroot}%{_unitdir} systemd/coreos-installer-disable-device-auto-activation.service
install -D -m 0644 -t %{buildroot}%{_unitdir} systemd/coreos-installer.service
install -D -m 0644 -t %{buildroot}%{_unitdir} systemd/coreos-installer-reboot.service
install -D -m 0644 -t %{buildroot}%{_unitdir} systemd/coreos-installer-noreboot.service
install -D -m 0644 -t %{buildroot}%{_unitdir} systemd/coreos-installer-pre.target
install -D -m 0644 -t %{buildroot}%{_unitdir} systemd/coreos-installer.target
install -D -m 0644 -t %{buildroot}%{_unitdir} systemd/coreos-installer-post.target
install -D -m 0755 -t %{buildroot}%{_systemdgeneratordir} systemd/coreos-installer-generator
mv %{buildroot}%{_bindir}/rdcore %{buildroot}%{dracutlibdir}/modules.d/50rdcore/
# 51coreos-installer for coreos-installer-dracut
install -D -m 0755 -t %{buildroot}%{dracutlibdir}/modules.d/51coreos-installer coreos-installer-dracut-%{coidracutcommit}/dracut/51coreos-installer/module-setup.sh
install -D -m 0755 -t %{buildroot}%{dracutlibdir}/modules.d/51coreos-installer coreos-installer-dracut-%{coidracutcommit}/dracut/systemd/coreos-installer.target
install -D -m 0755 -t %{buildroot}%{dracutlibdir}/modules.d/51coreos-installer coreos-installer-dracut-%{coidracutcommit}/dracut/scripts/coreos-installer-service
install -D -m 0755 -t %{buildroot}%{dracutlibdir}/modules.d/51coreos-installer coreos-installer-dracut-%{coidracutcommit}/dracut/scripts/coreos-installer-growfs
install -D -m 0644 -t %{buildroot}%{dracutlibdir}/modules.d/51coreos-installer coreos-installer-dracut-%{coidracutcommit}/dracut/systemd/coreos-installer.service
install -D -m 0644 -t %{buildroot}%{dracutlibdir}/modules.d/51coreos-installer coreos-installer-dracut-%{coidracutcommit}/dracut/systemd/coreos-installer-growfs.service
install -D -m 0644 -t %{buildroot}%{dracutlibdir}/modules.d/51coreos-installer coreos-installer-dracut-%{coidracutcommit}/dracut/systemd/coreos-installer-reboot.service
install -D -m 0644 -t %{buildroot}%{dracutlibdir}/modules.d/51coreos-installer coreos-installer-dracut-%{coidracutcommit}/dracut/systemd/coreos-installer-noreboot.service
install -D -m 0755 -t %{buildroot}%{dracutlibdir}/modules.d/51coreos-installer coreos-installer-dracut-%{coidracutcommit}/dracut/systemd/coreos-installer-generator
%package -n %{crate}-bootinfra
Summary: %{crate} boot-time infrastructure for use on Fedora/RHEL CoreOS
Requires: %{crate}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
# ASL 2.0
# ASL 2.0 or Boost
# MIT
# MIT or ASL 2.0
# Unlicense or MIT
# zlib
License: ASL 2.0 and MIT and zlib
# Package was renamed from coreos-installer-systemd when rdcore was added
Provides: %{crate}-systemd = %{version}-%{release}
Obsoletes: %{crate}-systemd <= 0.3.0-3
%description -n %{crate}-bootinfra
This subpackage contains boot-time infrastructure for Fedora CoreOS and
RHEL CoreOS. It is not needed on other platforms.
%files -n %{crate}-bootinfra
%{dracutlibdir}/modules.d/50rdcore/*
%{_libexecdir}/*
%{_unitdir}/*
%{_systemdgeneratordir}/*
%package -n %{crate}-dracut
Summary: %{crate} provides coreos-installer as a dracut module.
Requires: %{crate} = %{version}-%{release}
%description -n %{crate}-dracut
This subpackage contains files and configuration to run coreos-installer
from the initramfs.
%files -n %{crate}-dracut
%{dracutlibdir}/modules.d/51coreos-installer/*
%if %{with check}
%check
%cargo_test
%endif
%changelog
* Thu Nov 18 2021 Antonio Murdaca <runcom@linux.com> - 0.10.1-4
- fix dracut module dependencies
* Wed Nov 17 2021 Antonio Murdaca <runcom@linux.com> - 0.10.1-3
- fix dracut module installation target
* Tue Oct 26 2021 Antonio Murdaca <runcom@linux.com> - 0.10.1-2
- rebuilt
* Mon Oct 25 2021 Antonio Murdaca <runcom@linux.com> - 0.10.1-1
- New release
* Thu Sep 16 11:20:52 CET 2021 Antonio Murdaca <amurdaca@redhat.com> - 0.10.0-1
- New bumped release
* Mon Dec 28 13:28:50 CET 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 0.7.2-2
- Rebuild
* Thu Oct 22 2020 Sohan Kunkerkar <skunkerk@redhat.com> - 0.7.2-1
- New release
* Tue Oct 06 2020 Dusty Mabe <dusty@dustymabe.com> - 0.7.0-4
- Backport commit to start coreos-installer service after systemd-resolved
- https://github.com/coreos/coreos-installer/pull/389
* Thu Oct 01 2020 Dusty Mabe <dusty@dustymabe.com> - 0.7.0-3
- Backport commit to add F33 and F34 keys. Drop F31 keys.
- https://github.com/coreos/coreos-installer/pull/387
* Wed Sep 30 2020 Benjamin Gilbert <bgilbert@redhat.com> - 0.7.0-2
- Fix SIGSEGV in tests on s390x
* Mon Sep 21 2020 Benjamin Gilbert <bgilbert@redhat.com> - 0.7.0-1
- New release
* Tue Aug 25 2020 Benjamin Gilbert <bgilbert@redhat.com> - 0.6.0-1
- New release
* Sun Aug 16 15:01:11 GMT 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 0.5.0-2
- Rebuild
* Fri Jul 31 2020 Benjamin Gilbert <bgilbert@redhat.com> - 0.5.0-1
- New release
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 24 2020 Benjamin Gilbert <bgilbert@redhat.com> - 0.4.0-1
- New release
- Rename -systemd subpackage to -bootinfra
- Add rdcore Dracut module to -bootinfra
* Fri Jul 24 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 0.3.0-2
- Rebuild
* Mon Jul 13 2020 Benjamin Gilbert <bgilbert@redhat.com> - 0.3.0-1
- New release
* Sat May 30 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 0.2.1-2
- Fixup license
* Fri May 29 2020 Benjamin Gilbert <bgilbert@redhat.com> - 0.2.1-1
- New release
- Make coreos-installer-{service,generator} world-readable
* Tue May 05 2020 Robert Fairley <rfairley@redhat.com> - 0.2.0-1
- Update to 0.2.0
* Sat Mar 21 2020 Benjamin Gilbert <bgilbert@redhat.com> - 0.1.3-1
- New release
* Fri Feb 21 2020 Josh Stone <jistone@redhat.com> - 0.1.2-4
- Bump to nix 0.17 and reqwest 0.10
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jan 09 2020 Josh Stone <jistone@redhat.com> - 0.1.2-2
- Remove the nix downgrade.
* Wed Jan 08 2020 Dusty Mabe <dusty@dustymabe.com> - 0.1.2-1
- Bump to new upstream release 0.1.2
- Release notes: https://github.com/coreos/coreos-installer/releases/tag/v0.1.2
- Update spec file to include systemd units from upstream
- These were added upstream in https://github.com/coreos/coreos-installer/pull/119
* Fri Dec 20 17:57:28 UTC 2019 Robert Fairley <rfairley@redhat.com> - 0.1.1-1
- Initial package