From de340079e83452f4abdf13c622edc9a0dbf601d4 Mon Sep 17 00:00:00 2001 From: Benjamin Gilbert Date: Fri, 28 Jan 2022 04:52:28 -0500 Subject: [PATCH] Rename -validate-nonlinux to -redistributable; add static Linux binaries Don't Provide the old package name, since no one should be installing it. --- ignition.spec | 42 ++++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/ignition.spec b/ignition.spec index de88938..d807ccf 100644 --- a/ignition.spec +++ b/ignition.spec @@ -19,7 +19,7 @@ Version: 2.13.0 %global dracutlibdir %{_prefix}/lib/dracut Name: ignition -Release: 3%{?dist} +Release: 4%{?dist} Summary: First boot installer and configuration tool # Upstream license specification: Apache-2.0 @@ -217,22 +217,26 @@ the configuration. This package contains a tool for validating Ignition configurations. -############## validate-nonlinux subpackage ############## +############## validate-redistributable subpackage ############## %if 0%{?fedora} -%package validate-nonlinux +%package validate-redistributable -Summary: Validation tool for Ignition configs for macOS and Windows +Summary: Statically linked validation tool for Ignition configs License: ASL 2.0 BuildArch: noarch Conflicts: ignition < 0.31.0-3 -%description validate-nonlinux -This package contains macOS and Windows ignition-validate binaries built -through cross-compilation. Do not install it. It is only used for -building binaries to sign by Fedora release engineering and include on the -Ignition project's Github releases page. +# In case someone has this subpackage installed, obsolete the old name +# Drop in Fedora 38 +Obsoletes: ignition-validate-nonlinux < 2.13.0-4 + +%description validate-redistributable +This package contains statically linked Linux, macOS, and Windows +ignition-validate binaries built through cross-compilation. Do not install it. +It is only used for building release binaries to be signed by Fedora release +engineering and uploaded to the Ignition GitHub releases page. %endif %prep @@ -260,6 +264,12 @@ echo "Building ignition-validate..." %global gocrossbuild go build -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v -x %if 0%{?fedora} +echo "Building statically-linked Linux ignition-validate..." +CGO_ENABLED=0 GOARCH=arm64 GOOS=linux %gocrossbuild -o ./ignition-validate-aarch64-unknown-linux-gnu-static validate/main.go +CGO_ENABLED=0 GOARCH=ppc64le GOOS=linux %gocrossbuild -o ./ignition-validate-ppc64le-unknown-linux-gnu-static validate/main.go +CGO_ENABLED=0 GOARCH=s390x GOOS=linux %gocrossbuild -o ./ignition-validate-s390x-unknown-linux-gnu-static validate/main.go +CGO_ENABLED=0 GOARCH=amd64 GOOS=linux %gocrossbuild -o ./ignition-validate-x86_64-unknown-linux-gnu-static validate/main.go + echo "Building macOS ignition-validate..." GOARCH=amd64 GOOS=darwin %gocrossbuild -o ./ignition-validate-x86_64-apple-darwin validate/main.go @@ -278,8 +288,12 @@ install -p -m 0755 ./ignition-validate %{buildroot}%{_bindir} %if 0%{?fedora} install -d -p %{buildroot}%{_datadir}/ignition +install -p -m 0644 ./ignition-validate-aarch64-unknown-linux-gnu-static %{buildroot}%{_datadir}/ignition +install -p -m 0644 ./ignition-validate-ppc64le-unknown-linux-gnu-static %{buildroot}%{_datadir}/ignition +install -p -m 0644 ./ignition-validate-s390x-unknown-linux-gnu-static %{buildroot}%{_datadir}/ignition install -p -m 0644 ./ignition-validate-x86_64-apple-darwin %{buildroot}%{_datadir}/ignition install -p -m 0644 ./ignition-validate-x86_64-pc-windows-gnu.exe %{buildroot}%{_datadir}/ignition +install -p -m 0644 ./ignition-validate-x86_64-unknown-linux-gnu-static %{buildroot}%{_datadir}/ignition %endif # The ignition binary is only for dracut, and is dangerous to run from @@ -303,14 +317,22 @@ install -p -m 0755 ./ignition %{buildroot}/%{dracutlibdir}/modules.d/30ignition %{_bindir}/ignition-validate %if 0%{?fedora} -%files validate-nonlinux +%files validate-redistributable %license %{golicenses} %dir %{_datadir}/ignition +%{_datadir}/ignition/ignition-validate-aarch64-unknown-linux-gnu-static +%{_datadir}/ignition/ignition-validate-ppc64le-unknown-linux-gnu-static +%{_datadir}/ignition/ignition-validate-s390x-unknown-linux-gnu-static %{_datadir}/ignition/ignition-validate-x86_64-apple-darwin %{_datadir}/ignition/ignition-validate-x86_64-pc-windows-gnu.exe +%{_datadir}/ignition/ignition-validate-x86_64-unknown-linux-gnu-static %endif %changelog +* Fri Jan 28 2022 Benjamin Gilbert - 2.13.0-4 +- Rename -validate-nonlinux subpackage to -validate-redistributable +- Add static Linux binaries to -redistributable + * Thu Jan 20 2022 Benjamin Gilbert - 2.13.0-3 - Fix LUKS volume reuse - Avoid double patch application on non-Fedora