From 24bb3e3167fa5dc478216b293facf3d45aa01da4 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 5 Jan 2024 23:18:56 +0100 Subject: [PATCH] remove testdata binaries for other architectures [release 1.10.1-2mamba;Tue Apr 24 2018] --- README.md | 2 + go-1.10.1-default-buildmode-pie.patch | 14 +++ go.spec | 123 ++++++++++++++++++++++++++ 3 files changed, 139 insertions(+) create mode 100644 go-1.10.1-default-buildmode-pie.patch create mode 100644 go.spec diff --git a/README.md b/README.md index 9031471..b0c7cab 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # go +The Go programming language. + diff --git a/go-1.10.1-default-buildmode-pie.patch b/go-1.10.1-default-buildmode-pie.patch new file mode 100644 index 0000000..3b018b7 --- /dev/null +++ b/go-1.10.1-default-buildmode-pie.patch @@ -0,0 +1,14 @@ +diff --git a/src/cmd/go/internal/work/init.go b/src/cmd/go/internal/work/init.go +index 7f894f5..a517887 100644 +--- a/src/cmd/go/internal/work/init.go ++++ b/src/cmd/go/internal/work/init.go +@@ -111,7 +111,8 @@ func buildModeInit() { + ldBuildmode = "c-shared" + case "default": + switch platform { +- case "android/arm", "android/arm64", "android/amd64", "android/386": ++ case "linux/amd64", "linux/arm", "linux/arm64", "linux/386", "linux/ppc64le", ++ "android/arm", "android/arm64", "android/amd64", "android/386": + codegenArg = "-shared" + ldBuildmode = "pie" + case "darwin/arm", "darwin/arm64": diff --git a/go.spec b/go.spec new file mode 100644 index 0000000..7b1a50b --- /dev/null +++ b/go.spec @@ -0,0 +1,123 @@ +#% define with_pie 1 +Name: go +Version: 1.10.1 +Release: 2mamba +Summary: The Go programming language +Group: Applications/Development +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: https://golang.org +## GITSOURCE https://github.com/golang/go.git go1.10.1 +Source: https://github.com/golang/go.git/go%{version}/go-%{version}.tar.bz2 +Patch0: go-1.10.1-default-buildmode-pie.patch +License: BSD +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: ldconfig +BuildRequires: libperl +BuildRequires: perl-devel +## AUTOBUILDREQ-END +Conflicts: gcc-go +Provides: go +%if "%{with_pie}" == "1" +Conflicts: go +%else +Conflicts: go-pie +%endif +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +The Go programming language. + +%package pie +Group: Applications/Development +Summary: The Go programming language (with PIE enabled by default) + +%description pie +The Go programming language (with PIE enabled by default). + +%debug_package + +%prep +%setup -q +%if "%{with_pie}" == "1" +%patch0 -p1 +%endif + +%define _use_internal_dependency_generator 0 + +%define __find_provides %{_builddir}/go-%{version}/find_provides.sh +cat > %{_builddir}/go-%{version}/find_provides.sh <<_EOF +#! /bin/sh +%{_prefix}/lib/rpm/find-provides %{buildroot} %{_target_cpu} +_EOF +chmod +x %{_builddir}/go-%{version}/find_provides.sh + +%define __find_requires %{_builddir}/go-%{version}/find_requires.sh +cat > %{_builddir}/go-%{version}/find_requires.sh <<_EOF +#! /bin/sh +grep -v %{buildroot}%{_libdir}/go/src/ | \ +%{_prefix}/lib/rpm/find-requires %{buildroot} %{_target_cpu} 2>/dev/null +_EOF +chmod +x %{_builddir}/go-%{version}/find_requires.sh + +%build +export GOPATH="`pwd`/" + +export GOROOT="$GOPATH" +export GOBIN="$GOROOT/bin" + +cd "$GOPATH/src" +./make.bash --no-clean -v + +PATH="$GOBIN:$PATH" go install -v -buildmode=shared std +%ifarch x86_64 +PATH="$GOBIN:$PATH" go install -v -race std +%endif + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +export GOPATH="`pwd`/" +options=(!strip staticlibs) + +install -d %{buildroot}{%{_bindir},%{_libdir}/go,%{_docdir}/go} + +cp -a bin pkg src lib misc %{buildroot}%{_libdir}/go +cp -r doc/* %{buildroot}%{_docdir}/go + +ln -sf %{_libdir}/go/bin/go %{buildroot}%{_bindir}/go +ln -sf %{_libdir}/go/bin/gofmt %{buildroot}%{_bindir}/gofmt +ln -sf %{_docdir}/go %{buildroot}%{_libdir}/go/doc + +install -Dm644 LICENSE %{buildroot}%{_datadir}/licenses/go/LICENSE +install -Dm644 VERSION %{buildroot}%{_libdir}/go/VERSION + +rm -rf %{buildroot}%{_libdir}/go/pkg/bootstrap +rm -rf %{buildroot}%{_libdir}/go/pkg/tool/*/api +rm -rf %{buildroot}%{_libdir}/go/src/*.rc + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%if "%{with_pie}" == "1" +%files pie +%else +%files +%endif +%defattr(-,root,root) +%{_bindir}/go +%{_bindir}/gofmt +%dir %{_libdir}/go +%{_libdir}/go/* +%dir %{_datadir}/doc/go +%{_datadir}/doc/go/* +%{_datadir}/licenses/go/LICENSE +#%doc README.md + +%changelog +* Tue Apr 24 2018 Silvan Calarco 1.10.1-2mamba +- remove testdata binaries for other architectures + +* Thu Apr 19 2018 Silvan Calarco 1.10.1-1mamba +- package created using the webbuild interface