Add statically linked Linux binaries
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.
This commit is contained in:
parent
784997fa3f
commit
252df91d17
30
butane.spec
30
butane.spec
@ -66,18 +66,18 @@ Provides: bundled(golang(gopkg.in/yaml.v3)) = 3.0.0-20191010095647.gitfc94e3f716
|
|||||||
%description
|
%description
|
||||||
%{common_description}
|
%{common_description}
|
||||||
|
|
||||||
%package nonlinux
|
%package redistributable
|
||||||
Summary: Butane for macOS and Windows
|
Summary: Statically built Butane for Linux, macOS and Windows
|
||||||
License: ASL 2.0
|
License: ASL 2.0
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%description nonlinux
|
%description redistributable
|
||||||
%{common_description}
|
%{common_description}
|
||||||
|
|
||||||
This package contains macOS and Windows Butane binaries built through
|
This package contains statically linked Linux, macOS and Windows Butane
|
||||||
cross-compilation. Do not install it. It is only used for building release
|
binaries built through cross-compilation. Do not install it. It is only
|
||||||
binaries to be signed by Fedora release engineering and uploaded to the
|
used for building release binaries to be signed by Fedora release
|
||||||
Butane GitHub releases page.
|
engineering and uploaded to the Butane GitHub releases page.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%goprep -k
|
%goprep -k
|
||||||
@ -92,6 +92,12 @@ echo "Building butane..."
|
|||||||
|
|
||||||
%global gocrossbuild go build -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v -x
|
%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..."
|
echo "Building macOS Butane..."
|
||||||
GOARCH=amd64 GOOS=darwin %gocrossbuild -o butane-x86_64-apple-darwin internal/main.go
|
GOARCH=amd64 GOOS=darwin %gocrossbuild -o butane-x86_64-apple-darwin internal/main.go
|
||||||
|
|
||||||
@ -103,8 +109,12 @@ install -d -p %{buildroot}%{_bindir}
|
|||||||
install -p -m 0755 ./butane %{buildroot}%{_bindir}
|
install -p -m 0755 ./butane %{buildroot}%{_bindir}
|
||||||
ln -s butane %{buildroot}%{_bindir}/fcct
|
ln -s butane %{buildroot}%{_bindir}/fcct
|
||||||
install -d -p %{buildroot}%{_datadir}/butane
|
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-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-pc-windows-gnu.exe %{buildroot}%{_datadir}/butane
|
||||||
|
install -p -m 0644 ./butane-x86_64-unknown-linux-gnu-static %{buildroot}%{_datadir}/butane
|
||||||
|
|
||||||
%if %{with check}
|
%if %{with check}
|
||||||
%check
|
%check
|
||||||
@ -117,11 +127,15 @@ install -p -m 0644 ./butane-x86_64-pc-windows-gnu.exe %{buildroot}%{_datadir}/bu
|
|||||||
%{_bindir}/butane
|
%{_bindir}/butane
|
||||||
%{_bindir}/fcct
|
%{_bindir}/fcct
|
||||||
|
|
||||||
%files nonlinux
|
%files redistributable
|
||||||
%license %{golicenses}
|
%license %{golicenses}
|
||||||
%dir %{_datadir}/butane
|
%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-apple-darwin
|
||||||
%{_datadir}/butane/butane-x86_64-pc-windows-gnu.exe
|
%{_datadir}/butane/butane-x86_64-pc-windows-gnu.exe
|
||||||
|
%{_datadir}/butane/butane-x86_64-unknown-linux-gnu-static
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-2
|
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-2
|
||||||
|
Loading…
Reference in New Issue
Block a user