As discussed in https://github.com/coreos/butane/issues/87 this adds additional Linux binaries to the package output that are statically linked to improve compatibility with older Linux versions that do not ship with glibc 2.32.
161 lines
6.8 KiB
RPMSpec
161 lines
6.8 KiB
RPMSpec
# 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.13.1
|
|
|
|
%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 NEWS
|
|
|
|
Name: butane
|
|
Release: 2%{?dist}
|
|
Summary: Butane config transpiler
|
|
|
|
# Upstream license specification: Apache-2.0
|
|
License: ASL 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.14.1
|
|
Provides: bundled(golang(github.com/coreos/go-semver/semver)) = 0.3.0
|
|
Provides: bundled(golang(github.com/coreos/go-systemd/unit)) = 0.0.0-20190321100706.git95778dfbb74e
|
|
Provides: bundled(golang(github.com/coreos/go-systemd/v22/unit)) = 0.0.0-20190321100706.git95778dfbb74e
|
|
Provides: bundled(golang(github.com/coreos/ignition/v2/config/merge)) = 2.11.0
|
|
Provides: bundled(golang(github.com/coreos/ignition/v2/config/shared/errors)) = 2.11.0
|
|
Provides: bundled(golang(github.com/coreos/ignition/v2/config/shared/validations)) = 2.11.0
|
|
Provides: bundled(golang(github.com/coreos/ignition/v2/config/util)) = 2.11.0
|
|
Provides: bundled(golang(github.com/coreos/ignition/v2/config/v3_0/types)) = 2.11.0
|
|
Provides: bundled(golang(github.com/coreos/ignition/v2/config/v3_1/types)) = 2.11.0
|
|
Provides: bundled(golang(github.com/coreos/ignition/v2/config/v3_2/types)) = 2.11.0
|
|
Provides: bundled(golang(github.com/coreos/ignition/v2/config/v3_3/types)) = 2.11.0
|
|
Provides: bundled(golang(github.com/coreos/ignition/v2/config/v3_4_experimental/types)) = 2.11.0
|
|
Provides: bundled(golang(github.com/coreos/ignition/v2/config/validate)) = 2.11.0
|
|
Provides: bundled(golang(github.com/coreos/vcontext/json)) = 0.0.0-20210407161507.git4ee6c745c8bd
|
|
Provides: bundled(golang(github.com/coreos/vcontext/path)) = 0.0.0-20210407161507.git4ee6c745c8bd
|
|
Provides: bundled(golang(github.com/coreos/vcontext/report)) = 0.0.0-20210407161507.git4ee6c745c8bd
|
|
Provides: bundled(golang(github.com/coreos/vcontext/tree)) = 0.0.0-20210407161507.git4ee6c745c8bd
|
|
Provides: bundled(golang(github.com/coreos/vcontext/validate)) = 0.0.0-20210407161507.git4ee6c745c8bd
|
|
Provides: bundled(golang(github.com/coreos/vcontext/yaml)) = 0.0.0-20210407161507.git4ee6c745c8bd
|
|
Provides: bundled(golang(github.com/davecgh/go-spew/spew)) = 1.1.1
|
|
Provides: bundled(golang(github.com/spf13/pflag)) = 1.0.6-0.20210604193023.gitd5e0c0615ace
|
|
Provides: bundled(golang(github.com/stretchr/testify/assert)) = 1.5.1
|
|
Provides: bundled(golang(github.com/vincent-petithory/dataurl)) = 0.0.0-20160330182126.git9a301d65acbb
|
|
Provides: bundled(golang(gopkg.in/yaml.v3)) = 3.0.0-20191010095647.gitfc94e3f71652
|
|
|
|
%description
|
|
%{common_description}
|
|
|
|
%package redistributable
|
|
Summary: Statically built Butane for Linux, macOS and Windows
|
|
License: ASL 2.0
|
|
BuildArch: noarch
|
|
|
|
%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
|
|
|
|
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-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-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 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
|
|
* Wed Aug 04 2021 Benjamin Gilbert <bgilbert@redhat.com> - 0.13.1-1
|
|
- New release
|
|
|
|
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
|
|
|
* Wed Jul 14 2021 Benjamin Gilbert <bgilbert@redhat.com> - 0.13.0-1
|
|
- New release
|
|
|
|
* Thu Jun 10 2021 Benjamin Gilbert <bgilbert@redhat.com> - 0.12.1-1
|
|
- New release
|
|
|
|
* Tue Jun 08 2021 Sohan Kunkerkar <skunkerk@redhat.com> - 0.12.0-1
|
|
- New release
|
|
|
|
* Tue Apr 06 2021 Benjamin Gilbert <bgilbert@redhat.com> - 0.11.0-1
|
|
- Initial package
|