# Generated 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 ce0fe1ef3352827acc660a0c53156f68dc44bca7 %global coidracutshortcommit %(c=%{coidracutcommit}; echo ${c:0:7}) %global crate coreos-installer Name: %{crate} Version: 0.11.0 Release: 2%{?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 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 # 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. %global _description %{expand: coreos-installer installs Fedora CoreOS or RHEL CoreOS to bare-metal machines (or, occasionally, to virtual machines). } %description %{_description} %files %license LICENSE %doc README.md %{_bindir}/coreos-installer %prep %autosetup -n %{crate}-%{version} -p1 %setup -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-luks-open.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 0644 -t %{buildroot}%{dracutlibdir}/modules.d/51coreos-installer coreos-installer-dracut-%{coidracutcommit}/dracut/systemd/coreos-installer-poweroff.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} = %{version}-%{release} # Package was renamed from coreos-installer-systemd when rdcore was added Provides: %{crate}-systemd = %{version}-%{release} Obsoletes: %{crate}-systemd <= 0.3.0-2 %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 Feb 10 2022 Antonio Murdaca - 0.11.0-2 - update coi-dracut to support default poweroff behavior * Wed Feb 02 2022 Antonio Murdaca - 0.11.0-1 - bump to 0.11.0 and support luks in -dracut * Thu Nov 18 2021 Antonio Murdaca - 0.10.1-2 - fix dracut module dependencies * Wed Oct 13 2021 Antonio Murdaca - 0.10.1-1 - bump to 0.10.1 - bump coreos-installer-dracut * Thu Sep 9 2021 Antonio Murdaca - 0.9.1-19 - add a new coreos-installer-dracut subpkg to include just the dracut module (fedora-iot/coreos-installer-dracut) * Tue Aug 31 2021 Jan Schintag - 0.10.0-1 - Bump version to 0.10.0 * Mon Jun 21 2021 Jonathan Lebon - 0.9.1-4 - Add xz-devel BR to ensure we're not bundling Related: https://bugzilla.redhat.com/show_bug.cgi?id=1974453 * Thu Jun 10 2021 Benjamin Gilbert - 0.9.1-3 - Support s390x DASDs in VMs via virtio * Tue Jun 08 2021 Dusty Mabe - 0.9.1-2 - Add coreos.force_persist_ip karg forwarding * Wed Apr 21 2021 Benjamin Gilbert - 0.9.0-3 - Improve error message for busy disk referenced via symlink - Fix failure on corrupt GPT * Fri Apr 9 2021 Sohan Kunkerkar - 0.9.0-2 - Use macro for dracut library path * Thu Apr 8 2021 Sohan Kunkerkar - 0.9.0-1 - New release * Fri Jan 15 2021 Benjamin Gilbert - 0.8.0-3 - Fix rdcore rootmap on RAID devices * Tue Jan 12 2021 Benjamin Gilbert - 0.8.0-2 - Disable LTO again to avoid crashes on s390x * Tue Jan 12 2021 Sohan Kunkerkar - 0.8.0-1 - New release * Mon Jan 04 2021 Benjamin Gilbert - 0.7.2-2 - Add Requires for programs invoked by coreos-installer - Require Rust >= 1.45, re-enable LTO * Thu Oct 22 2020 Sohan Kunkerkar - 0.7.2-1 - New release * Mon Sep 21 2020 Benjamin Gilbert - 0.6.0-3 - Fix MBR handling when partition saving is enabled - Fix base package Obsoletes being interpreted as part of package description * Wed Sep 02 2020 Benjamin Gilbert - 0.6.0-2 - Disable LTO on s390x to avoid runtime crashes - Drop legacy installer * Tue Aug 25 2020 Benjamin Gilbert - 0.6.0-1 - New release * Fri Jul 31 2020 Benjamin Gilbert - 0.5.0-1 - New release * Sat Jul 25 2020 Benjamin Gilbert - 0.4.0-1 - New release - Rename -systemd subpackage to -bootinfra - Add rdcore Dracut module to -bootinfra * Wed Jul 22 2020 Benjamin Gilbert - 0.3.0-1 - New release - Make coreos-installer-{service,generator} world-readable * Wed Jun 17 2020 Dusty Mabe - 0.2.0-4.rhaos4.6 - Include rhaos4.6 in the rpm release field * Thu May 28 2020 Colin Walters - 0.2.0-3 - Backport osmet RHCOS+LUKS patches * Thu May 07 2020 Dusty Mabe - 0.2.0-2 - Fix bug in dracut hook in legacy installer; see https://github.com/coreos/coreos-installer/pull/234 * Mon Apr 27 2020 Colin Walters - 0.1.3-4 - Merge in legacy installer; see https://github.com/coreos/coreos-installer/pull/220 * Mon Mar 23 2020 Colin Walters - 0.1.3-2 - https://github.com/coreos/coreos-installer/releases/tag/v0.1.3 * Wed Mar 04 2020 Colin Walters - 0.1.2-11 - Backport no-signatures-available patch * Wed Feb 26 2020 Colin Walters - 0.1.2-10 - Forked from Fedora - I forgot about the weird `rust-` package name prefixing when asking RCM to make the dist-git repo, and rather than redo that I decided to just go with it. - Stop depending on systemd-rpm-macros since it's not in RHEL8 apparently - Drop other things only applicable to Fedora Rust packaging like dynamic buildrequires