Bump to go 1.12.6 accepted/tizen/base/20190704.235459 submit/tizen_base/20190702.063309
authorDongHun Kwak <dh0128.kwak@samsung.com>
Tue, 2 Jul 2019 05:04:00 +0000 (14:04 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Tue, 2 Jul 2019 06:31:03 +0000 (15:31 +0900)
- import with binary files

Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
LICENSE [new file with mode: 0644]
packaging/go1.12.6.linux-386.tar.gz [new file with mode: 0644]
packaging/go1.12.6.linux-amd64.tar.gz [new file with mode: 0644]
packaging/go1.12.6.linux-arm64.tar.gz [new file with mode: 0644]
packaging/go1.12.6.linux-armv7l.tar.gz [new file with mode: 0644]
packaging/golang.manifest [new file with mode: 0644]
packaging/golang.spec [new file with mode: 0644]
packaging/macros.golang [new file with mode: 0644]

diff --git a/LICENSE b/LICENSE
new file mode 100644 (file)
index 0000000..6a66aea
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2009 The Go Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/packaging/go1.12.6.linux-386.tar.gz b/packaging/go1.12.6.linux-386.tar.gz
new file mode 100644 (file)
index 0000000..c90fb36
Binary files /dev/null and b/packaging/go1.12.6.linux-386.tar.gz differ
diff --git a/packaging/go1.12.6.linux-amd64.tar.gz b/packaging/go1.12.6.linux-amd64.tar.gz
new file mode 100644 (file)
index 0000000..aebc65d
Binary files /dev/null and b/packaging/go1.12.6.linux-amd64.tar.gz differ
diff --git a/packaging/go1.12.6.linux-arm64.tar.gz b/packaging/go1.12.6.linux-arm64.tar.gz
new file mode 100644 (file)
index 0000000..f52adad
Binary files /dev/null and b/packaging/go1.12.6.linux-arm64.tar.gz differ
diff --git a/packaging/go1.12.6.linux-armv7l.tar.gz b/packaging/go1.12.6.linux-armv7l.tar.gz
new file mode 100644 (file)
index 0000000..e1718bc
Binary files /dev/null and b/packaging/go1.12.6.linux-armv7l.tar.gz differ
diff --git a/packaging/golang.manifest b/packaging/golang.manifest
new file mode 100644 (file)
index 0000000..017d22d
--- /dev/null
@@ -0,0 +1,5 @@
+<manifest>
+ <request>
+    <domain name="_"/>
+ </request>
+</manifest>
diff --git a/packaging/golang.spec b/packaging/golang.spec
new file mode 100644 (file)
index 0000000..cab41ef
--- /dev/null
@@ -0,0 +1,426 @@
+# build ids are not currently generated:
+# https://code.google.com/p/go/issues/detail?id=5238
+#
+# also, debuginfo extraction currently fails with
+# "Failed to write file: invalid section alignment"
+%global debug_package %{nil}
+
+# we are shipping the full contents of src in the data subpackage, which
+# contains binary-like things (ELF data for tests, etc)
+%global _binaries_in_noarch_packages_terminate_build 0
+
+# Do not check any files in doc or src for requires
+%global __requires_exclude_from ^(%{_datadir}|/usr/lib)/%{name}/(doc|src)/.*$
+
+# Don't alter timestamps of especially the .a files (or else go will rebuild later)
+# Actually, don't strip at all since we are not even building debug packages and this corrupts the dwarf testdata
+%global __strip /bin/true
+
+# rpmbuild magic to keep from having meta dependency on libc.so.6
+# %define _use_internal_dependency_generator 0
+# %define __find_requires %{nil}
+# %global __spec_install_post /usr/lib/rpm/check-rpaths   /usr/lib/rpm/check-buildroot  \
+#  /usr/lib/rpm/brp-compress
+
+%global golibdir %{_libdir}/golang
+
+# Golang build options.
+
+# Build golang using external/internal(close to cgo disabled) linking.
+%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64 s390x
+%global external_linker 1
+%else
+%global external_linker 0
+%endif
+
+# Build golang with cgo enabled/disabled(later equals more or less to internal linking).
+%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64 s390x
+%global cgo_enabled 1
+%else
+%global cgo_enabled 0
+%endif
+
+#%global golang_bootstrap 1
+
+# Controls what ever we fail on failed tests
+%ifarch x86_64
+%global fail_on_tests 0
+%else
+%global fail_on_tests 1
+%endif
+
+%global shared 0
+
+# Pre build std lib with -race enabled
+%ifarch x86_64
+%global race 1
+%else
+%global race 0
+%endif
+
+%global goroot          /usr/lib/%{name}
+%global gopath          %{_datadir}/gocode
+%global go_arches       %{ix86} x86_64 %{arm} aarch64 ppc64le
+%global golibdir        %{_libdir}/golang
+
+%ifarch x86_64
+%global gohostarch  amd64
+%endif
+%ifarch %{ix86}
+%global gohostarch  386
+%endif
+%ifarch %{arm}
+%global gohostarch  arm
+%endif
+%ifarch aarch64
+%global gohostarch  arm64
+%endif
+%ifarch ppc64
+%global gohostarch  ppc64
+%endif
+%ifarch ppc64le
+%global gohostarch  ppc64le
+%endif
+%ifarch s390x
+%global gohostarch  s390x
+%endif
+
+%global go_api 1.12
+%global go_version 1.12.6
+
+Name:           golang
+Version:        1.12.6
+Release:        0
+Summary:        The Go Programming Language
+License:        BSD and Public Domain
+URL:            http://golang.org/
+Source0:        https://storage.googleapis.com/golang/go%{go_version}.src.tar.gz
+
+Provides:       go = %{version}-%{release}
+Provides:       go-srpm-macros
+
+Provides: bundled(golang(golang.org/x/crypto/chacha20poly1305))
+Provides: bundled(golang(golang.org/x/crypto/cryptobyte))
+Provides: bundled(golang(golang.org/x/crypto/cryptobyte/asn1))
+Provides: bundled(golang(golang.org/x/crypto/curve25519))
+Provides: bundled(golang(golang.org/x/crypto/internal/chacha20))
+Provides: bundled(golang(golang.org/x/crypto/poly1305))
+Provides: bundled(golang(golang.org/x/net/dns/dnsmessage))
+Provides: bundled(golang(golang.org/x/net/http/httpguts))
+Provides: bundled(golang(golang.org/x/net/http/httpproxy))
+Provides: bundled(golang(golang.org/x/net/http2/hpack))
+Provides: bundled(golang(golang.org/x/net/idna))
+Provides: bundled(golang(golang.org/x/net/internal/nettest))
+Provides: bundled(golang(golang.org/x/net/nettest))
+Provides: bundled(golang(golang.org/x/text/secure))
+Provides: bundled(golang(golang.org/x/text/secure/bidirule))
+Provides: bundled(golang(golang.org/x/text/transform))
+Provides: bundled(golang(golang.org/x/text/unicode))
+Provides: bundled(golang(golang.org/x/text/unicode/bidi))
+Provides: bundled(golang(golang.org/x/text/unicode/norm))
+Provides: bundled(golang(github.com/google/pprof/driver))
+Provides: bundled(golang(github.com/google/pprof/internal/binutils))
+Provides: bundled(golang(github.com/google/pprof/internal/driver))
+Provides: bundled(golang(github.com/google/pprof/internal/elfexec))
+Provides: bundled(golang(github.com/google/pprof/internal/graph))
+Provides: bundled(golang(github.com/google/pprof/internal/measurement))
+Provides: bundled(golang(github.com/google/pprof/internal/plugin))
+Provides: bundled(golang(github.com/google/pprof/internal/proftest))
+Provides: bundled(golang(github.com/google/pprof/internal/report))
+Provides: bundled(golang(github.com/google/pprof/internal/symbolizer))
+Provides: bundled(golang(github.com/google/pprof/internal/symbolz))
+Provides: bundled(golang(github.com/google/pprof/profile))
+Provides: bundled(golang(github.com/google/pprof/third.party/d3))
+Provides: bundled(golang(github.com/google/pprof/third.party/d3flamegraph))
+Provides: bundled(golang(github.com/google/pprof/third.party/svgpan))
+Provides: bundled(golang(github.com/ianlancetaylor/demangle))
+Provides: bundled(golang(golang.org/x/arch/arm/armasm))
+Provides: bundled(golang(golang.org/x/arch/arm64/arm64asm))
+Provides: bundled(golang(golang.org/x/arch/ppc64/ppc64asm))
+Provides: bundled(golang(golang.org/x/arch/x86/x86asm))
+Provides: bundled(golang(golang.org/x/crypto/ssh/terminal))
+Provides: bundled(golang(golang.org/x/sys/unix))
+Provides: bundled(golang(golang.org/x/sys/windows))
+Provides: bundled(golang(golang.org/x/sys/windows/registry))
+
+Requires:       %{name}-bin = %{version}-%{release}
+Requires:       %{name}-src = %{version}-%{release}
+Requires:       go-srpm-macros
+
+# Having documentation separate was broken
+Obsoletes:      %{name}-docs < 1.1-4
+
+# RPM can't handle symlink -> dir with subpackages, so merge back
+Obsoletes:      %{name}-data < 1.1.1-4
+
+# go1.4 deprecates a few packages
+Obsoletes:      %{name}-vim < 1.4
+Obsoletes:      emacs-%{name} < 1.4
+
+# These are the only RHEL/Fedora architectures that we compile this package for
+ExclusiveArch:  %{go_arches}
+
+Source10:       go1.12.6.linux-386.tar.gz
+Source11:       go1.12.6.linux-amd64.tar.gz
+Source12:       go1.12.6.linux-armv7l.tar.gz
+Source13:       go1.12.6.linux-arm64.tar.gz
+
+Source102:      macros.golang
+
+%description
+%{summary}.
+
+%package       docs
+Summary:       Golang compiler docs
+Requires:      %{name} = %{version}-%{release}
+BuildArch:     noarch
+Obsoletes:     %{name}-docs < 1.1-4
+
+%description   docs
+%{summary}.
+
+%package       misc
+Summary:       Golang compiler miscellaneous sources
+Requires:      %{name} = %{version}-%{release}
+BuildArch:     noarch
+
+%description   misc
+%{summary}.
+
+%package       tests
+Summary:       Golang compiler tests for stdlib
+Requires:      %{name} = %{version}-%{release}
+BuildArch:     noarch
+
+%description   tests
+%{summary}.
+
+%package        src
+Summary:        Golang compiler source tree
+BuildArch:      noarch
+%description    src
+%{summary}
+
+%package        bin
+Summary:        Golang core compiler tools
+Requires:       go = %{version}-%{release}
+
+%description    bin
+%{summary}
+
+%if %{shared}
+%package        shared
+Summary:        Golang shared object libraries
+
+%description    shared
+%{summary}.
+%endif
+
+%if %{race}
+%package        race
+Summary:        Golang std library with -race enabled
+
+Requires:       %{name} = %{version}-%{release}
+
+%description    race
+%{summary}
+%endif
+
+%prep
+%setup -q
+
+%ifarch %{ix86}
+tar -zxvf  %{SOURCE10}
+%endif
+
+%ifarch x86_64
+tar -zxvf  %{SOURCE11}
+%endif
+
+%ifarch %{arm}
+tar -zxvf  %{SOURCE12}
+%endif
+
+%ifarch aarch64
+tar -zxvf  %{SOURCE13}
+%endif
+
+pushd go
+mv -f * ../
+popd
+
+%build
+
+%install
+rm -rf $RPM_BUILD_ROOT
+# remove GC build cache
+rm -rf pkg/obj/go-build/*
+
+# create the top level directories
+mkdir -p $RPM_BUILD_ROOT%{_bindir}
+mkdir -p $RPM_BUILD_ROOT%{goroot}
+
+# install everything into libdir (until symlink problems are fixed)
+# https://code.google.com/p/go/issues/detail?id=5830
+cp -apv api bin doc favicon.ico lib pkg robots.txt src misc test VERSION \
+   $RPM_BUILD_ROOT%{goroot}
+
+# bz1099206
+find $RPM_BUILD_ROOT%{goroot}/src -exec touch -r $RPM_BUILD_ROOT%{goroot}/VERSION "{}" \;
+# and level out all the built archives
+touch $RPM_BUILD_ROOT%{goroot}/pkg
+find $RPM_BUILD_ROOT%{goroot}/pkg -exec touch -r $RPM_BUILD_ROOT%{goroot}/pkg "{}" \;
+# generate the spec file ownership of this source tree and packages
+cwd=$(pwd)
+src_list=$cwd/go-src.list
+pkg_list=$cwd/go-pkg.list
+shared_list=$cwd/go-shared.list
+race_list=$cwd/go-race.list
+misc_list=$cwd/go-misc.list
+docs_list=$cwd/go-docs.list
+tests_list=$cwd/go-tests.list
+rm -f $src_list $pkg_list $docs_list $misc_list $tests_list $shared_list $race_list
+touch $src_list $pkg_list $docs_list $misc_list $tests_list $shared_list $race_list
+pushd $RPM_BUILD_ROOT%{goroot}
+    find src/ -type d -a \( ! -name testdata -a ! -ipath '*/testdata/*' \) -printf '%%%dir %{goroot}/%p\n' >> $src_list
+    find src/ ! -type d -a \( ! -ipath '*/testdata/*' -a ! -name '*_test.go' \) -printf '%{goroot}/%p\n' >> $src_list
+
+    find bin/ pkg/ -type d -a ! -path '*_dynlink/*' -a ! -path '*_race/*' -printf '%%%dir %{goroot}/%p\n' >> $pkg_list
+    find bin/ pkg/ ! -type d -a ! -path '*_dynlink/*' -a ! -path '*_race/*' -printf '%{goroot}/%p\n' >> $pkg_list
+
+    find doc/ -type d -printf '%%%dir %{goroot}/%p\n' >> $docs_list
+    find doc/ ! -type d -printf '%{goroot}/%p\n' >> $docs_list
+
+    find misc/ -type d -printf '%%%dir %{goroot}/%p\n' >> $misc_list
+    find misc/ ! -type d -printf '%{goroot}/%p\n' >> $misc_list
+
+%if %{shared}
+    mkdir -p %{buildroot}/%{_libdir}/
+    mkdir -p %{buildroot}/%{golibdir}/
+    for file in $(find .  -iname "*.so" ); do
+        chmod 755 $file
+        mv  $file %{buildroot}/%{golibdir}
+        pushd $(dirname $file)
+        ln -fs %{golibdir}/$(basename $file) $(basename $file)
+        popd
+        echo "%%{goroot}/$file" >> $shared_list
+        echo "%%{golibdir}/$(basename $file)" >> $shared_list
+    done
+
+       find pkg/*_dynlink/ -type d -printf '%%%dir %{goroot}/%p\n' >> $shared_list
+       find pkg/*_dynlink/ ! -type d -printf '%{goroot}/%p\n' >> $shared_list
+%endif
+
+%if %{race}
+
+    find pkg/*_race/ -type d -printf '%%%dir %{goroot}/%p\n' >> $race_list
+    find pkg/*_race/ ! -type d -printf '%{goroot}/%p\n' >> $race_list
+
+%endif
+
+    find test/ -type d -printf '%%%dir %{goroot}/%p\n' >> $tests_list
+    find test/ ! -type d -printf '%{goroot}/%p\n' >> $tests_list
+    find src/ -type d -a \( -name testdata -o -ipath '*/testdata/*' \) -printf '%%%dir %{goroot}/%p\n' >> $tests_list
+    find src/ ! -type d -a \( -ipath '*/testdata/*' -o -name '*_test.go' \) -printf '%{goroot}/%p\n' >> $tests_list
+    # this is only the zoneinfo.zip
+    find lib/ -type d -printf '%%%dir %{goroot}/%p\n' >> $tests_list
+    find lib/ ! -type d -printf '%{goroot}/%p\n' >> $tests_list
+popd
+
+# remove the doc Makefile
+rm -rfv $RPM_BUILD_ROOT%{goroot}/doc/Makefile
+
+# put binaries to bindir, linked to the arch we're building,
+# leave the arch independent pieces in {goroot}
+mkdir -p $RPM_BUILD_ROOT%{goroot}/bin/linux_%{gohostarch}
+ln -sf %{goroot}/bin/go $RPM_BUILD_ROOT%{goroot}/bin/linux_%{gohostarch}/go
+ln -sf %{goroot}/bin/gofmt $RPM_BUILD_ROOT%{goroot}/bin/linux_%{gohostarch}/gofmt
+
+# ensure these exist and are owned
+mkdir -p $RPM_BUILD_ROOT%{gopath}/src/github.com
+mkdir -p $RPM_BUILD_ROOT%{gopath}/src/bitbucket.org
+mkdir -p $RPM_BUILD_ROOT%{gopath}/src/code.google.com/p
+mkdir -p $RPM_BUILD_ROOT%{gopath}/src/golang.org/x
+
+rm -f $RPM_BUILD_ROOT%{_bindir}/go
+ln -sf /usr/lib/golang/bin/go $RPM_BUILD_ROOT%{_bindir}/go
+rm -f $RPM_BUILD_ROOT%{_bindir}/gofmt
+ln -sf /usr/lib/golang/bin/gofmt $RPM_BUILD_ROOT%{_bindir}/gofmt
+
+# rpm macros
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm
+cp -av %{SOURCE102} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.golang
+
+%check
+#export GOROOT=$(pwd -P)
+#export PATH="$GOROOT"/bin:"$PATH"
+#cd src
+
+#%if !%{external_linker}
+#export GO_LDFLAGS="-linkmode internal"
+#%endif
+
+#%if !%{cgo_enabled} || !%{external_linker}
+#export CGO_ENABLED=0
+#%endif
+
+# make sure to not timeout
+#export GO_TEST_TIMEOUT_SCALE=2
+
+#%if %{fail_on_tests}
+#./run.bash --no-rebuild -v -v -v -k
+#%else
+#./run.bash --no-rebuild -v -v -v -k || :
+##%endif
+#cd ..
+
+%files
+%doc AUTHORS CONTRIBUTORS LICENSE PATENTS
+# VERSION has to be present in the GOROOT, for `go install std` to work
+%doc %{goroot}/VERSION
+%dir %{goroot}/doc
+%doc %{goroot}/doc/*
+
+# go files
+%dir %{goroot}
+%exclude %{goroot}/bin/
+%exclude %{goroot}/pkg/
+%exclude %{goroot}/src/
+%exclude %{goroot}/doc/
+%exclude %{goroot}/misc/
+%exclude %{goroot}/test/
+%{goroot}/*
+
+# ensure directory ownership, so they are cleaned up if empty
+%dir %{gopath}
+%dir %{gopath}/src
+%dir %{gopath}/src/github.com/
+%dir %{gopath}/src/bitbucket.org/
+%dir %{gopath}/src/code.google.com/
+%dir %{gopath}/src/code.google.com/p/
+%dir %{gopath}/src/golang.org
+%dir %{gopath}/src/golang.org/x
+
+%{_sysconfdir}/rpm/macros.golang
+
+%files -f go-src.list src
+
+%files -f go-docs.list docs
+
+%files -f go-misc.list misc
+
+%files -f go-tests.list tests
+
+%files -f go-pkg.list bin
+%{_bindir}/go
+%{_bindir}/gofmt
+
+%if %{shared}
+%files -f go-shared.list shared
+%endif
+
+%if %{race}
+%files -f go-race.list race
+%endif
+
+%changelog
diff --git a/packaging/macros.golang b/packaging/macros.golang
new file mode 100644 (file)
index 0000000..1bd0587
--- /dev/null
@@ -0,0 +1,7 @@
+# Where to set GOPATH for builds. Like:
+# export GOPATH=$(pwd)/_build:%{gopath}
+%gopath          %{_datadir}/gocode
+
+# for use like:
+# ExclusiveArch:  %{go_arches}
+%go_arches       %{ix86} x86_64 %{arm} aarch64 ppc64le
\ No newline at end of file