rust-coreos-installer/rust-coreos-installer.spec
Yaakov Selkowitz 90930c04f1 Fix RHEL/ELN builds
The eln macro requires ELN SIG approval, and there is no need to differ
from RHEL here.  More importantly, we don't want the dynamic
buildrequires in ELN either.

RHEL/ELN cargo macros do not support -f, so import the RHEL/c9s patch
which adds rdcore to the default features.

While we're at it, use the RHEL %%cargo_prep -V to handle vendoring
rather than manually modifing the cargo config.
2023-05-19 18:50:28 -04:00

394 lines
13 KiB
RPMSpec

# Originally generated by rust2rpm 16
%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 dracutcommit a4be31dde8cfb3e5d579c3c5cef9205a704d03b5
%global dracutshortcommit %(c=%{dracutcommit}; echo ${c:0:7})
%global crate coreos-installer
Name: rust-%{crate}
Version: 0.17.0
Release: 3%{?dist}
Summary: Installer for Fedora CoreOS and RHEL CoreOS
# Upstream license specification: Apache-2.0
License: ASL 2.0
URL: https://crates.io/crates/coreos-installer
Source0: https://crates.io/api/v1/crates/%{crate}/%{version}/download#/%{crate}-%{version}.crate
# not used on Fedora
Source1: https://github.com/coreos/%{crate}/releases/download/v%{version}/%{crate}-%{version}-vendor.tar.gz
Source2: https://github.com/coreos/coreos-installer-dracut/archive/%{dracutcommit}/coreos-installer-dracut-%{dracutshortcommit}.tar.gz
## RHEL specific patches
# enable rdcore in default feature set (RHEL macros do not take -f)
Patch1000: enable-rdcore.patch
ExclusiveArch: %{rust_arches}
%if 0%{?rhel}
BuildRequires: rust-toolset
BuildRequires: openssl-devel
# To ensure we're not bundling system libraries
BuildRequires: xz-devel
%else
BuildRequires: rust-packaging
%endif
BuildRequires: systemd-rpm-macros
BuildRequires: libzstd-devel
# For tests
BuildRequires: gnupg2
%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
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-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.
# Obsolete dracut modules as they are not provided in this package.
Obsoletes: coreos-installer-dracut < 0.0.1
%description -n %{crate} %{_description}
%prep
%autosetup -n %{crate}-%{version} -N -a 2
%autopatch -p1 %{?!rhel:-M 999}
%if 0%{?rhel}
%cargo_prep -V 1
%else
%cargo_prep
%endif
# Fix SIGSEGV in tests on s390x
# https://bugzilla.redhat.com/show_bug.cgi?id=1883457
sed -i 's/"-Ccodegen-units=1",//' .cargo/config
%if !0%{?rhel}
%generate_buildrequires
%cargo_generate_buildrequires -f rdcore
%endif
%build
%if 0%{?rhel}
%cargo_build
%else
%cargo_build -f rdcore
%endif
%install
%if 0%{?rhel}
%make_install RELEASE=1
%else
%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
make install-scripts DESTDIR=%{buildroot}
make install-systemd DESTDIR=%{buildroot}
make install-man DESTDIR=%{buildroot}
make install-data DESTDIR=%{buildroot}
mv %{buildroot}%{_bindir}/rdcore %{buildroot}%{dracutlibdir}/modules.d/50rdcore/
%endif
# 51coreos-installer for coreos-installer-dracut
%make_install -C coreos-installer-dracut-%{dracutcommit}
%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: Dracut module for running coreos-installer in the initrd in IoT/Edge
Requires: %{crate} = %{version}-%{release}
%description -n %{crate}-dracut
This subpackage contains files and configuration to run coreos-installer
from the initramfs in IoT/Edge and is supported by the community.
%files -n %{crate}-dracut
%{dracutlibdir}/modules.d/51coreos-installer
%files -n %{crate}
%license LICENSE
%doc README.md
%{_bindir}/coreos-installer
%{_mandir}/man8/*
%dir %{_datadir}/coreos-installer
%{_datadir}/coreos-installer/example-config.yaml
%if %{with check}
%check
%if 0%{?rhel}
%cargo_test
%else
%cargo_test -f rdcore
%endif
%endif
%changelog
* Wed May 03 2023 Fabio Valentini <decathorpe@gmail.com> - 0.17.0-3
- Rebuild for tokio, h2, and openssl crate security updates
* Tue Apr 11 2023 Irene Diez <idiez@redhat.com> - 0.17.0-2
- Update dracut/scripts: no need to mount the filesystem
https://github.com/coreos/coreos-installer-dracut/pull/30
* Fri Mar 10 2023 Benjamin Gilbert <bgilbert@redhat.com> - 0.17.0-1
- New release
* Tue Feb 21 2023 Paul Whalen <pwhalen@fedoraproject.org> - 0.16.1-6
- Enable coreos-installer-dracut in Fedora
* Fri Feb 17 2023 Jonathan Lebon <jonathan@jlebon.com> - 0.16.1-5
- Backport patch that adds F39 signing key
* Sat Feb 04 2023 Fabio Valentini <decathorpe@gmail.com> - 0.16.1-4
- Rebuild for fixed frame pointer compiler flags in Rust RPM macros.
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Oct 14 2022 Benjamin Gilbert <bgilbert@redhat.com> - 0.16.1-2
- Build with mbrman 0.5.0
* Mon Sep 19 2022 Benjamin Gilbert <bgilbert@redhat.com> - 0.16.1-1
- New release
- Sync coreos-installer-dracut with CentOS Stream 9
* Thu Sep 15 2022 Steven Presti <spresti@redhat.com> - 0.16.0-1
- New release
- Add libzstd dependency
* Mon Aug 22 2022 Dusty Mabe <dusty@dustymabe.com> - 0.15.0-5
- Backport patch that adds F38 signing key
* Tue Aug 02 2022 Benjamin Gilbert <bgilbert@redhat.com> - 0.15.0-4
- Fix build with rust-bytes 1.2.0
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sun Jul 10 2022 Benjamin Gilbert <bgilbert@redhat.com> - 0.15.0-2
- Sync coreos-installer-dracut with CentOS Stream 9
- Fix build with rust-regex 1.6.0
* Fri Jun 17 2022 Michael Armijo <marmijo@redhat.com> - 0.15.0-1
- New release
- Install non-binary files using Makefile install targets
- Add man pages
* Wed Apr 27 2022 Jonathan Lebon <jonathan@jlebon.com> - 0.14.0-1
- New release
* Wed Mar 23 2022 Jonathan Lebon <jonathan@jlebon.com> - 0.13.1-3
- Backport "blockdev: rework EFI vendor dir checking"
https://github.com/coreos/coreos-installer/pull/802 for
https://github.com/coreos/fedora-coreos-tracker/issues/1116
* Tue Feb 15 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.13.1-2
- Rebuild with package notes
* Sun Feb 13 2022 Jonathan Lebon <jonathan@jlebon.com> - 0.13.1-1
- New release
* Thu Feb 10 2022 Jonathan Lebon <jonathan@jlebon.com> - 0.12.0-4
- Backport "signing-keys: regular Fedora cycle rotation of keys"
https://github.com/coreos/coreos-installer/pull/770
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Dec 20 2021 Benjamin Gilbert <bgilbert@redhat.com> - 0.12.0-2
- Unbundle serde_with and its dependencies
* Fri Dec 17 2021 Benjamin Gilbert <bgilbert@redhat.com> - 0.12.0-1
- New release
- Temporarily bundle serde_with and its dependencies
- Disable LTO to fix armv7hl builds
* Wed Dec 15 2021 Sohan Kunkerkar <skunkerk@redhat.com> - 0.11.0-3
- Remove conditional around sourcing the vendor tarball
- Fix inadvertent inclusion of coreos-installer-dracut in -bootinfra on RHEL
- Have -dracut own 51coreos-installer directory on RHEL
- Bump coreos-installer-dracut
* Mon Nov 29 2021 Jonathan Lebon <jonathan@jlebon.com> - 0.11.0-2
- Backport "miniso: handle hardlinked files"
https://github.com/coreos/coreos-installer/pull/694
* Thu Nov 18 2021 Benjamin Gilbert <bgilbert@redhat.com> - 0.11.0-1
- New release
* Thu Nov 04 2021 Sohan Kunkerkar <skunkerk@redhat.com> - 0.10.1-3
- Vendor rust dependencies on RHEL only
- Add coreos-installer-dracut subpackage on RHEL only
* Tue Oct 12 2021 Benjamin Gilbert <bgilbert@redhat.com> - 0.10.1-2
- Rebuild for F33 bump
* Mon Oct 11 2021 Benjamin Gilbert <bgilbert@redhat.com> - 0.10.1-1
- New release
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 0.10.0-3
- Rebuilt with OpenSSL 3.0.0
* Tue Aug 17 2021 Dusty Mabe <dusty@dustymabe.com> - 0.10.0-2
- Add F36 signing key
* Wed Aug 04 2021 Jonathan Lebon <jonathan@jlebon.com> - 0.10.0-1
- New release
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jul 13 2021 Jonathan Lebon <jonathan@jlebon.com> - 0.9.1-2
- Backport "install: restrict access permissions on /boot/ignition{,/config.ign}"
https://github.com/coreos/coreos-installer/pull/571
* Mon May 17 2021 Sohan Kunkerkar <skunkerk@redhat.com> - 0.9.1-1
- New release
* Thu Apr 08 2021 Sohan Kunkerkar <skunkerk@redhat.com> - 0.9.0-2
- Fix dracut library path
* Thu Apr 08 2021 Sohan Kunkerkar <skunkerk@redhat.com> - 0.9.0-1
- New release
- Fix hardcoded library path
* Tue Mar 16 2021 Sohan Kunkerkar <skunkerk@redhat.com> - 0.8.0-1
- New release
* Mon Mar 01 2021 Fabio Valentini <decathorpe@gmail.com> - 0.7.2-5
- Backport trivial commit d94715c to allow building with nix 0.20.
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jan 04 2021 Benjamin Gilbert <bgilbert@redhat.com> - 0.7.2-3
- Add Requires for programs invoked by coreos-installer
* 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