Hello community, here is the log from the commit of package go for openSUSE:Factory checked in at 2015-07-14 17:44:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/go (Old) and /work/SRC/openSUSE:Factory/.go.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "go" Changes: -------- --- /work/SRC/openSUSE:Factory/go/go.changes 2015-06-23 11:57:06.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.go.new/go.changes 2015-07-14 17:45:38.000000000 +0200 @@ -1,0 +2,42 @@ +Sun Jul 12 10:29:45 UTC 2015 - [email protected] + +- macros.go: fix "summary-not-capitalized" + +------------------------------------------------------------------- +Thu Jul 9 15:20:25 UTC 2015 - [email protected] + +- macros.go: + * *-doc can't properly describe what the sub-package really is, + and they're mostly source codes instead of the claimed "API, + documentation, and examples". so rename to *-source. and not + recommend to install them to save users' disk space. + * %%go_requires should be handled automatically by golang-packaging + * not recommend to install source package any more, + so %%go_recommmends set to nil. + +------------------------------------------------------------------- +Sun Jul 5 15:12:10 UTC 2015 - [email protected] + +- macros.go: + * add a "WITH_FAKE_BUILDID" option to enable the fake build ID + compution. + * to fake build ID, you have to make sure your package has only + one binary. it is nonsense that two or more nonidentical + binaries have the same build ID. + +------------------------------------------------------------------- +Sat Jul 4 17:41:21 UTC 2015 - [email protected] + +- enable debuginfo + * the strip workaround (boo#818502) does not need any more + * re-enable debug_packge/debug_install_post macros +- add patch: go-1.4.2-rel.plt-alignment.patch + * cmd/ld: set alignment for the .rel.plt section on 32-bit architectures + * https://github.com/golang/go/issues/9802 + * or i586 build will fail at extracting debuginfo +- macros.go: + * re-enable debug_packge/debug_install_post macros from goprep() + * add ldflags to gobuild() to compute BUILD ID for debuginfo package +- go itself doesn't support BUILD ID yet + +------------------------------------------------------------------- New: ---- go-1.4.2-rel.plt-alignment.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ go.spec ++++++ --- /var/tmp/diff_new_pack.NYdE2b/_old 2015-07-14 17:45:39.000000000 +0200 +++ /var/tmp/diff_new_pack.NYdE2b/_new 2015-07-14 17:45:39.000000000 +0200 @@ -15,14 +15,8 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# nodebuginfo -# debuginfo extraction currently fails with -# "Failed to write file: invalid section alignment" -%global __debug_package %{nil} -%global __debug_install_post %{nil} - Name: go Version: 1.4.2 Release: 0 @@ -53,6 +47,7 @@ # PATCH-FIX-OPENSUSE fix_certificates_lookup.patch [email protected] -- this patch forces Go to look for certificates only in the openSUSE/SLE locations. It also fixes certificate loading on SLE11, see https://github.com/golang/go/issues/6391 # PATCH-FIX-SUSE fix_certificates_lookup.patch [email protected] -- this patch forces Go to look for certificates only in the openSUSE/SLE locations. It also fixes certificate loading on SLE11, see https://github.com/golang/go/issues/6391 Patch7: fix_certificates_lookup.patch +Patch8: go-1.4.2-rel.plt-alignment.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: rpm %if 0%{?suse_version} >= 1210 @@ -70,6 +65,7 @@ Requires: gcc Provides: go-devel = %{name}%{version} Provides: go-devel-static = %{name}%{version} +Provides: golang(API) = 1.4 Obsoletes: go-devel < %{name}%{version} # go-vim/emacs were separate projects starting from 1.4 Obsoletes: go-emacs <= 1.3.3 @@ -102,6 +98,7 @@ %patch6 -p1 %endif %patch7 -p1 +%patch8 -p1 cp %{SOURCE5} . # setup go_arch (BSD-like scheme) @@ -132,9 +129,6 @@ cd ../ bin/go install -race std %endif -%ifarch %ix86 -strip $GOBIN/go # bnc#818502 -%endif %install export GOROOT="%{buildroot}%{_libdir}/%{name}" @@ -206,7 +200,7 @@ %{_bindir}/go* %{_libdir}/go/ # bash completion seems broken -#%%config %{_sysconfdir}/bash_completion.d/go.sh +#%%config %%{_sysconfdir}/bash_completion.d/go.sh %config %{_sysconfdir}/profile.d/go.sh %config %{_sysconfdir}/rpm/macros.go ++++++ go-1.4.2-rel.plt-alignment.patch ++++++ Index: go/src/cmd/ld/elf.c =================================================================== --- go.orig/src/cmd/ld/elf.c +++ go/src/cmd/ld/elf.c @@ -1323,6 +1323,7 @@ asmbelf(vlong symo) sh->type = SHT_REL; sh->flags = SHF_ALLOC; sh->entsize = ELF32RELSIZE; + sh->addralign = 4; sh->link = elfshname(".dynsym")->shnum; shsym(sh, linklookup(ctxt, ".rel.plt", 0)); ++++++ macros.go ++++++ --- /var/tmp/diff_new_pack.NYdE2b/_old 2015-07-14 17:45:39.000000000 +0200 +++ /var/tmp/diff_new_pack.NYdE2b/_new 2015-07-14 17:45:39.000000000 +0200 @@ -5,6 +5,7 @@ # Copyright: (c) 2015 SUSE Linux GmbH # + %go_ver %(LC_ALL=C rpm -q --qf '%%{epoch}:%%{version}\\n' go | sed -e 's/(none)://' -e 's/ 0:/ /' | grep -v "is not") %go_arch GOARCH %go_build_ver %(go version | sed 's/^go version //' | sed 's:\/::g' | tr -d ' ' | cut -c 1-7 ) @@ -19,29 +20,15 @@ %go_exclusivearch \ ExclusiveArch: %ix86 x86_64 %arm -%go_requires \ -ExclusiveArch: %ix86 x86_64 %arm \ -Requires: go >= %go_build_ver - %go_provides \ +%go_exclusivearch \ Provides: %{name}-devel = %{version} \ Provides: %{name}-devel-static = %{version} -%go_recommends \ -%if 0%{?suse_version} >= 1100 \ -Recommends: %{name}-doc \ -%endif - # Prepare the expected Go package build environement. # We need a $GOPATH: go help gopath # We need a valid importpath: go help packages %goprep() \ -# *.a files in golang doesn't contain debuginfo right now, \ -# so extract a debug package will cause \ -# "Failed to write file: invalid section alignment" \ -# and we don't need to bother stripping them. \ -%global debug_package %{nil} \ -%global __strip /bin/true \ export GOPATH=%{_builddir}/go \ if [ %# -eq 0 ]; then \ echo "goprep: please specify a valid importpath, see: go help packages" \ @@ -121,15 +108,27 @@ for mod in %*; do \ if [ $mod == "..." ]; then \ MOD=$MOD... \ - go install $BUILDFLAGS $IMPORTPATH$MOD \ + if [ "$WITH_FAKE_BUILDID" = "true" ] ; then \ + go install $BUILDFLAGS -ldflags "-B 0x$(head -c20 /dev/urandom | od -An -tx1 | tr -d ' \\n')" $IMPORTPATH$MOD \ + else \ + go install $BUILDFLAGS $IMPORTPATH$MOD \ + fi \ break \ else \ MOD=/$mod \ - go install $BUILDFLAGS $IMPORTPATH$MOD \ + if [ "$WITH_FAKE_BUILDID" = "true" ] ; then \ + go install $BUILDFLAGS -ldflags "-B 0x$(head -c20 /dev/urandom | od -An -tx1 | tr -d ' \\n')" $IMPORTPATH$MOD \ + else \ + go install $BUILDFLAGS $IMPORTPATH$MOD \ + fi \ fi \ done \ else \ - go install $BUILDFLAGS $IMPORTPATH \ + if [ "$WITH_FAKE_BUILDID" = "true" ] ; then \ + go install $BUILDFLAGS -ldflags "-B 0x$(head -c20 /dev/urandom | od -An -tx1 | tr -d ' \\n')" $IMPORTPATH \ + else \ + go install $BUILDFLAGS $IMPORTPATH \ + fi \ fi \ %{nil} @@ -167,12 +166,38 @@ fi \ %{nil} -%godoc() \ +%gosrc() \ install -d %{buildroot}%{go_contribsrcdir} \ cd %{_builddir}/go/src \ find . -name *.go -exec install -Dm644 \{\} %{buildroot}%{go_contribsrcdir}/\{\} \\; \ %{nil} +# Template for source sub-package +%gosrc_package(n:r:) \ +%package %{-n:-n %{-n*}-}source \ +Summary: Source codes for package %{name} \ +Group: Development/Sources \ +Requires: %{-n:%{-n*}}%{!-n:%{name}} = %{version} \ +%{-r:Requires: %{-r*}} \ +Provides: %{-n:%{-n*}}%{!-n:%{name}}-doc = %{version}-%{release} \ +Obsoletes: %{-n:%{-n*}}%{!-n:%{name}}-doc < %{version}-%{release} \ +%description %{-n:-n %{-n*}-}source \ +This package provides source codes for package %{name}.\ +%{nil} + +# backward compatibility +%go_requires \ +%(if [ ! -f /usr/lib/rpm/golang.attr ] ; then \ +echo "Requires: go >= %go_build_ver" \ +fi) \ +%{nil} + +%go_recommends %{nil} + +%godoc \ +%gosrc \ +%{nil} + # Template for doc sub-package %godoc_package(n:r:) \ %package %{-n:-n %{-n*}-}doc \ @@ -184,4 +209,3 @@ This package provides API, examples and documentation \ for package %{name}.\ %{nil} -
