# Originally generated by go2rpm 1.3 %if 0%{?fedora} %bcond_without check %else # %%gocheck isn't currently provided on CentOS/RHEL # https://bugzilla.redhat.com/show_bug.cgi?id=1982298 %bcond_with check %endif # https://github.com/coreos/butane %global goipath github.com/coreos/butane %global gomodulesmode GO111MODULE=on Version: 0.17.0 %gometa %global common_description %{expand: Butane translates human-readable Butane Configs into machine-readable Ignition configs for provisioning operating systems that use Ignition.} %global golicenses LICENSE %global godocs docs README.md Name: butane Release: 1%{?dist} Summary: Butane config transpiler License: Apache-2.0 URL: %{gourl} Source0: %{gosource} # Upgrade path from old FCCT package; can be dropped in Fedora 36 Provides: fedora-coreos-config-transpiler = %{version}-%{release} Obsoletes: fedora-coreos-config-transpiler < 0.10.0-2 # Provided by FCCT package; can be dropped in Fedora 36 Provides: fcct = %{version}-%{release} # Generated by go-mods-to-bundled-provides.py Provides: bundled(golang(github.com/clarketm/json)) = 1.17.1 Provides: bundled(golang(github.com/coreos/go-semver/semver)) = 0.3.0 Provides: bundled(golang(github.com/coreos/go-systemd/v22/unit)) = 22.5.0 Provides: bundled(golang(github.com/coreos/ignition/v2/config/merge)) = 2.14.0 Provides: bundled(golang(github.com/coreos/ignition/v2/config/shared/errors)) = 2.14.0 Provides: bundled(golang(github.com/coreos/ignition/v2/config/shared/validations)) = 2.14.0 Provides: bundled(golang(github.com/coreos/ignition/v2/config/util)) = 2.14.0 Provides: bundled(golang(github.com/coreos/ignition/v2/config/v3_0/types)) = 2.14.0 Provides: bundled(golang(github.com/coreos/ignition/v2/config/v3_1/types)) = 2.14.0 Provides: bundled(golang(github.com/coreos/ignition/v2/config/v3_2/types)) = 2.14.0 Provides: bundled(golang(github.com/coreos/ignition/v2/config/v3_3/types)) = 2.14.0 Provides: bundled(golang(github.com/coreos/ignition/v2/config/v3_4_experimental/types)) = 2.14.0 Provides: bundled(golang(github.com/coreos/ignition/v2/config/validate)) = 2.14.0 Provides: bundled(golang(github.com/coreos/vcontext/json)) = 0.0.0-20220810162454.git88bd546c634c Provides: bundled(golang(github.com/coreos/vcontext/path)) = 0.0.0-20220810162454.git88bd546c634c Provides: bundled(golang(github.com/coreos/vcontext/report)) = 0.0.0-20220810162454.git88bd546c634c Provides: bundled(golang(github.com/coreos/vcontext/tree)) = 0.0.0-20220810162454.git88bd546c634c Provides: bundled(golang(github.com/coreos/vcontext/validate)) = 0.0.0-20220810162454.git88bd546c634c Provides: bundled(golang(github.com/coreos/vcontext/yaml)) = 0.0.0-20220810162454.git88bd546c634c Provides: bundled(golang(github.com/spf13/pflag)) = 1.0.6-0.20210604193023.gitd5e0c0615ace Provides: bundled(golang(github.com/stretchr/testify/assert)) = 1.8.1 Provides: bundled(golang(github.com/vincent-petithory/dataurl)) = 1.0.0 Provides: bundled(golang(gopkg.in/yaml.v3)) = 3.0.1 %description %{common_description} %package redistributable Summary: Statically built Butane for Linux, macOS and Windows License: Apache-2.0 BuildArch: noarch # In case someone has this subpackage installed, obsolete the old name # Drop in Fedora 38 Obsoletes: butane-nonlinux < 0.13.1-3 %description redistributable %{common_description} This package contains statically linked Linux, macOS and Windows Butane 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 Butane GitHub releases page. %prep %goprep -k %autopatch -p1 %build export LDFLAGS="-X github.com/coreos/butane/internal/version.Raw=%{version} " export GOFLAGS="-mod=vendor" echo "Building butane..." %gobuild -o ./butane internal/main.go %global gocrossbuild go build -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v -x echo "Building Linux Butane with static linking..." CGO_ENABLED=0 GOARCH=arm64 GOOS=linux %gocrossbuild -o butane-aarch64-unknown-linux-gnu-static internal/main.go CGO_ENABLED=0 GOARCH=ppc64le GOOS=linux %gocrossbuild -o butane-ppc64le-unknown-linux-gnu-static internal/main.go CGO_ENABLED=0 GOARCH=s390x GOOS=linux %gocrossbuild -o butane-s390x-unknown-linux-gnu-static internal/main.go CGO_ENABLED=0 GOARCH=amd64 GOOS=linux %gocrossbuild -o butane-x86_64-unknown-linux-gnu-static internal/main.go echo "Building macOS Butane..." GOARCH=amd64 GOOS=darwin %gocrossbuild -o butane-x86_64-apple-darwin internal/main.go GOARCH=arm64 GOOS=darwin %gocrossbuild -o butane-aarch64-apple-darwin internal/main.go echo "Building Windows Butane..." GOARCH=amd64 GOOS=windows %gocrossbuild -o butane-x86_64-pc-windows-gnu.exe internal/main.go %install install -d -p %{buildroot}%{_bindir} install -p -m 0755 ./butane %{buildroot}%{_bindir} ln -s butane %{buildroot}%{_bindir}/fcct install -d -p %{buildroot}%{_datadir}/butane install -p -m 0644 ./butane-aarch64-apple-darwin %{buildroot}%{_datadir}/butane install -p -m 0644 ./butane-aarch64-unknown-linux-gnu-static %{buildroot}%{_datadir}/butane install -p -m 0644 ./butane-ppc64le-unknown-linux-gnu-static %{buildroot}%{_datadir}/butane install -p -m 0644 ./butane-s390x-unknown-linux-gnu-static %{buildroot}%{_datadir}/butane install -p -m 0644 ./butane-x86_64-apple-darwin %{buildroot}%{_datadir}/butane install -p -m 0644 ./butane-x86_64-pc-windows-gnu.exe %{buildroot}%{_datadir}/butane install -p -m 0644 ./butane-x86_64-unknown-linux-gnu-static %{buildroot}%{_datadir}/butane %if %{with check} %check %gocheck %endif %files %license %{golicenses} %doc %{godocs} %{_bindir}/butane %{_bindir}/fcct %files redistributable %license %{golicenses} %dir %{_datadir}/butane %{_datadir}/butane/butane-aarch64-apple-darwin %{_datadir}/butane/butane-aarch64-unknown-linux-gnu-static %{_datadir}/butane/butane-ppc64le-unknown-linux-gnu-static %{_datadir}/butane/butane-s390x-unknown-linux-gnu-static %{_datadir}/butane/butane-x86_64-apple-darwin %{_datadir}/butane/butane-x86_64-pc-windows-gnu.exe %{_datadir}/butane/butane-x86_64-unknown-linux-gnu-static %changelog * Wed Jan 4 2023 Sohan Kunkerkar - 0.17.0-1 - New release * Fri Oct 14 2022 Benjamin Gilbert - 0.16.0-1 - New release - Switch License tags to SPDX * Wed Jul 20 2022 Fedora Release Engineering - 0.15.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Mon Jun 27 2022 Benjamin Gilbert - 0.15.0-2 - Add macOS aarch64 binary to -redistributable * Mon Jun 27 2022 Steven Presti - 0.15.0-1 - New release * Fri Jun 17 2022 Robert-André Mauchin - 0.14.0-2 - Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, CVE-2022-27191, CVE-2022-29526, CVE-2022-30629 * Thu Jan 27 2022 Benjamin Gilbert - 0.14.0-1 - New release * Tue Jan 25 2022 Benjamin Gilbert - 0.13.1-3 - Rename -nonlinux subpackage to -redistributable - Add static Linux binaries to -redistributable - Enable %%gocheck only on Fedora * Wed Jan 19 2022 Fedora Release Engineering - 0.13.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Wed Aug 04 2021 Benjamin Gilbert - 0.13.1-1 - New release * Wed Jul 21 2021 Fedora Release Engineering - 0.13.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Wed Jul 14 2021 Benjamin Gilbert - 0.13.0-1 - New release * Thu Jun 10 2021 Benjamin Gilbert - 0.12.1-1 - New release * Tue Jun 08 2021 Sohan Kunkerkar - 0.12.0-1 - New release * Tue Apr 06 2021 Benjamin Gilbert - 0.11.0-1 - Initial package