Merge branch 'master' into f20
This commit is contained in:
commit
a0dbb55483
|
@ -0,0 +1,9 @@
|
|||
diff -r 0ddbdc3c7ce2 misc/cgo/test/cgo_linux_test.go
|
||||
--- a/misc/cgo/test/cgo_linux_test.go Mon Mar 03 11:53:08 2014 +1100
|
||||
+++ b/misc/cgo/test/cgo_linux_test.go Fri Apr 11 16:01:17 2014 -0400
|
||||
@@ -6,4 +6,4 @@
|
||||
|
||||
import "testing"
|
||||
|
||||
-func TestSetgid(t *testing.T) { testSetgid(t) }
|
||||
+func nopeTestSetgid(t *testing.T) { testSetgid(t) }
|
|
@ -0,0 +1,13 @@
|
|||
Index: go/src/run.bash
|
||||
===================================================================
|
||||
--- go.orig/src/run.bash
|
||||
+++ go/src/run.bash
|
||||
@@ -105,7 +105,7 @@ go run $GOROOT/test/run.go - . || exit 1
|
||||
(xcd ../misc/cgo/test
|
||||
go test -ldflags '-linkmode=auto' || exit 1
|
||||
# linkmode=internal fails on dragonfly since errno is a TLS relocation.
|
||||
-[ "$GOHOSTOS" == dragonfly ] || go test -ldflags '-linkmode=internal' || exit 1
|
||||
+#[ "$GOHOSTOS" == dragonfly ] || go test -ldflags '-linkmode=internal' || exit 1
|
||||
case "$GOHOSTOS-$GOARCH" in
|
||||
openbsd-386 | openbsd-amd64)
|
||||
# test linkmode=external, but __thread not supported, so skip testtls.
|
629
golang.spec
629
golang.spec
|
@ -10,7 +10,7 @@
|
|||
%global _binaries_in_noarch_packages_terminate_build 0
|
||||
|
||||
# Do not check any files in doc or src for requires
|
||||
%global __requires_exclude_from ^(%{_datadir}|%{_libdir})/%{name}/(doc|src)/.*$
|
||||
%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
|
||||
|
@ -23,9 +23,23 @@
|
|||
%global __spec_install_post /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot \
|
||||
/usr/lib/rpm/brp-compress
|
||||
|
||||
# let this match the macros in macros.golang
|
||||
%global goroot /usr/lib/%{name}
|
||||
%global gopath %{_datadir}/gocode
|
||||
%global go_arches %{ix86} x86_64 %{arm}
|
||||
%ifarch x86_64
|
||||
%global gohostarch amd64
|
||||
%endif
|
||||
%ifarch %{ix86}
|
||||
%global gohostarch 386
|
||||
%endif
|
||||
%ifarch %{arm}
|
||||
%global gohostarch arm
|
||||
%endif
|
||||
|
||||
Name: golang
|
||||
Version: 1.2.1
|
||||
Release: 2%{?dist}
|
||||
Release: 7%{?dist}
|
||||
Summary: The Go Programming Language
|
||||
|
||||
License: BSD
|
||||
|
@ -45,6 +59,8 @@ BuildRequires: /bin/hostname
|
|||
%endif
|
||||
|
||||
Provides: go = %{version}-%{release}
|
||||
Requires: golang-bin
|
||||
Requires: golang-src
|
||||
|
||||
BuildRequires: emacs
|
||||
# xemacs on fedora only
|
||||
|
@ -52,10 +68,6 @@ BuildRequires: emacs
|
|||
BuildRequires: xemacs xemacs-packages-extra
|
||||
%endif
|
||||
|
||||
# We strip the meta dependency, but go does require glibc.
|
||||
# This is an odd issue, still looking for a better fix.
|
||||
Requires: glibc
|
||||
|
||||
Patch0: golang-1.2-verbose-build.patch
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1038683
|
||||
|
@ -70,13 +82,23 @@ Patch2: ./golang-1.2-skipCpuProfileTest.patch
|
|||
# https://code.google.com/p/go/source/detail?r=a15f344a9efa
|
||||
Patch3: golang-1.2-archive_tar-xattr.patch
|
||||
|
||||
# skip test that causes a SIGABRT on fc21 (bz1086900)
|
||||
# until this test/issue is fixed
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1086900
|
||||
Patch5: golang-1.2.1-disable_testsetgid.patch
|
||||
|
||||
# skip this test, which fails in i686 on fc21 inside mock/chroot (bz1087621)
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1087621
|
||||
Patch6: golang-1.2.1-i686-cgo-test-failure.patch
|
||||
|
||||
# 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
|
||||
|
||||
ExclusiveArch: %{ix86} x86_64 %{arm}
|
||||
# These are the only RHEL/Fedora architectures that we compile this package for
|
||||
ExclusiveArch: %{go_arches}
|
||||
|
||||
Source100: golang-gdbinit
|
||||
Source101: golang-prelink.conf
|
||||
|
@ -103,7 +125,7 @@ Source400: golang-19087:a15f344a9efa-xattrs.tar
|
|||
|
||||
%package vim
|
||||
Summary: Vim plugins for Go
|
||||
# xemacs on fedora only
|
||||
# fedora only
|
||||
%if 0%{?fedora}
|
||||
Requires: vim-filesystem
|
||||
%endif
|
||||
|
@ -134,11 +156,199 @@ BuildArch: noarch
|
|||
%{summary}.
|
||||
%endif
|
||||
|
||||
##
|
||||
# the source tree
|
||||
%package src
|
||||
Summary: Golang compiler source tree
|
||||
Requires: go = %{version}-%{release}
|
||||
# the binary bits in this tree are for testdata
|
||||
BuildArch: noarch
|
||||
%description src
|
||||
%{summary}
|
||||
|
||||
##
|
||||
# This is the only architecture specific binary
|
||||
%ifarch %{ix86}
|
||||
%package pkg-bin-linux-386
|
||||
Summary: Golang compiler tool for linux 386
|
||||
Requires: go = %{version}-%{release}
|
||||
Requires: golang-pkg-linux-386 = %{version}-%{release}
|
||||
Provides: golang-bin = 386
|
||||
# We strip the meta dependency, but go does require glibc.
|
||||
# This is an odd issue, still looking for a better fix.
|
||||
Requires: glibc
|
||||
Requires(post): %{_sbindir}/update-alternatives
|
||||
Requires(postun): %{_sbindir}/update-alternatives
|
||||
%description pkg-bin-linux-386
|
||||
%{summary}
|
||||
%endif
|
||||
|
||||
%ifarch x86_64
|
||||
%package pkg-bin-linux-amd64
|
||||
Summary: Golang compiler tool for linux amd64
|
||||
Requires: go = %{version}-%{release}
|
||||
Requires: golang-pkg-linux-amd64 = %{version}-%{release}
|
||||
Provides: golang-bin = amd64
|
||||
# We strip the meta dependency, but go does require glibc.
|
||||
# This is an odd issue, still looking for a better fix.
|
||||
Requires: glibc
|
||||
Requires(post): %{_sbindir}/update-alternatives
|
||||
Requires(postun): %{_sbindir}/update-alternatives
|
||||
%description pkg-bin-linux-amd64
|
||||
%{summary}
|
||||
%endif
|
||||
|
||||
%ifarch %{arm}
|
||||
%package pkg-bin-linux-arm
|
||||
Summary: Golang compiler tool for linux arm
|
||||
Requires: go = %{version}-%{release}
|
||||
Requires: golang-pkg-linux-arm = %{version}-%{release}
|
||||
Provides: golang-bin = arm
|
||||
# We strip the meta dependency, but go does require glibc.
|
||||
# This is an odd issue, still looking for a better fix.
|
||||
Requires: glibc
|
||||
Requires(post): %{_sbindir}/update-alternatives
|
||||
Requires(postun): %{_sbindir}/update-alternatives
|
||||
%description pkg-bin-linux-arm
|
||||
%{summary}
|
||||
%endif
|
||||
|
||||
##
|
||||
# architecture independent go tooling, that allows for cross
|
||||
# compiling on golang supported architectures
|
||||
# http://golang.org/doc/install/source#environment
|
||||
%package pkg-linux-386
|
||||
Summary: Golang compiler toolchain to compile for linux 386
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-linux-386
|
||||
%{summary}
|
||||
|
||||
%package pkg-linux-amd64
|
||||
Summary: Golang compiler toolchain to compile for linux amd64
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-linux-amd64
|
||||
%{summary}
|
||||
|
||||
%package pkg-linux-arm
|
||||
Summary: Golang compiler toolchain to compile for linux arm
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-linux-arm
|
||||
%{summary}
|
||||
|
||||
%package pkg-darwin-386
|
||||
Summary: Golang compiler toolchain to compile for darwin 386
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-darwin-386
|
||||
%{summary}
|
||||
|
||||
%package pkg-darwin-amd64
|
||||
Summary: Golang compiler toolchain to compile for darwin amd64
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-darwin-amd64
|
||||
%{summary}
|
||||
|
||||
%package pkg-windows-386
|
||||
Summary: Golang compiler toolchain to compile for windows 386
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-windows-386
|
||||
%{summary}
|
||||
|
||||
%package pkg-windows-amd64
|
||||
Summary: Golang compiler toolchain to compile for windows amd64
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-windows-amd64
|
||||
%{summary}
|
||||
|
||||
%package pkg-plan9-386
|
||||
Summary: Golang compiler toolchain to compile for plan9 386
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-plan9-386
|
||||
%{summary}
|
||||
|
||||
%package pkg-plan9-amd64
|
||||
Summary: Golang compiler toolchain to compile for plan9 amd64
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-plan9-amd64
|
||||
%{summary}
|
||||
|
||||
%package pkg-freebsd-386
|
||||
Summary: Golang compiler toolchain to compile for freebsd 386
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-freebsd-386
|
||||
%{summary}
|
||||
|
||||
%package pkg-freebsd-amd64
|
||||
Summary: Golang compiler toolchain to compile for freebsd amd64
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-freebsd-amd64
|
||||
%{summary}
|
||||
|
||||
%package pkg-freebsd-arm
|
||||
Summary: Golang compiler toolchain to compile for freebsd arm
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-freebsd-arm
|
||||
%{summary}
|
||||
|
||||
%package pkg-netbsd-386
|
||||
Summary: Golang compiler toolchain to compile for netbsd 386
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-netbsd-386
|
||||
%{summary}
|
||||
|
||||
%package pkg-netbsd-amd64
|
||||
Summary: Golang compiler toolchain to compile for netbsd amd64
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-netbsd-amd64
|
||||
%{summary}
|
||||
|
||||
%package pkg-netbsd-arm
|
||||
Summary: Golang compiler toolchain to compile for netbsd arm
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-netbsd-arm
|
||||
%{summary}
|
||||
|
||||
%package pkg-openbsd-386
|
||||
Summary: Golang compiler toolchain to compile for openbsd 386
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-openbsd-386
|
||||
%{summary}
|
||||
|
||||
%package pkg-openbsd-amd64
|
||||
Summary: Golang compiler toolchain to compile for openbsd amd64
|
||||
Requires: go = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description pkg-openbsd-amd64
|
||||
%{summary}
|
||||
|
||||
## missing ./go/src/pkg/runtime/defs_openbsd_arm.h
|
||||
## we'll skip this bundle for now
|
||||
#%package pkg-openbsd-arm
|
||||
#Summary: Golang compiler toolchain to compile for openbsd arm
|
||||
#Requires: go = %{version}-%{release}
|
||||
#BuildArch: noarch
|
||||
#%description pkg-openbsd-arm
|
||||
#%{summary}
|
||||
|
||||
# Workaround old RPM bug of symlink-replaced-with-dir failure
|
||||
%pretrans -p <lua>
|
||||
for _,d in pairs({"api", "doc", "include", "lib", "src"}) do
|
||||
path = "%{_libdir}/%{name}/" .. d
|
||||
path = "%{goroot}/" .. d
|
||||
if posix.stat(path, "type") == "link" then
|
||||
os.remove(path)
|
||||
posix.mkdir(path)
|
||||
|
@ -166,29 +376,52 @@ cp %SOURCE400 src/pkg/archive/tar/testdata/xattrs.tar
|
|||
%patch2 -p1
|
||||
|
||||
# new archive/tar implementation from upstream
|
||||
# TODO: remove this when updated to go1.3
|
||||
%patch3 -p1
|
||||
|
||||
# SIGABRT bz1086900
|
||||
%patch5 -p1
|
||||
|
||||
# cgo/test bz1087621
|
||||
%patch6 -p1
|
||||
|
||||
# create a [dirty] gcc wrapper to allow us to build with our own flags
|
||||
# (dirty because it is spoofing 'gcc' since CC value is stored in the go tool)
|
||||
# TODO: remove this and just set CFLAGS/LDFLAGS once upstream supports it
|
||||
# https://code.google.com/p/go/issues/detail?id=6882
|
||||
# UPDATE: this is fixed in trunk, and will be in go1.3
|
||||
mkdir -p zz
|
||||
echo -e "#!/bin/sh\n/usr/bin/gcc $RPM_OPT_FLAGS $RPM_LD_FLAGS \"\$@\"" > ./zz/gcc
|
||||
chmod +x ./zz/gcc
|
||||
|
||||
%build
|
||||
# set up final install location
|
||||
export GOROOT_FINAL=%{_libdir}/%{name}
|
||||
export GOROOT_FINAL=%{goroot}
|
||||
|
||||
# TODO use the system linker to get the system link flags and build-id
|
||||
# when https://code.google.com/p/go/issues/detail?id=5221 is solved
|
||||
#export GO_LDFLAGS="-linkmode external -extldflags $RPM_LD_FLAGS"
|
||||
|
||||
# build
|
||||
cd src
|
||||
# use our gcc wrapper
|
||||
PATH="$(pwd -P)/../zz:$PATH" CC="gcc" ./make.bash
|
||||
cd ..
|
||||
export GOHOSTOS=linux
|
||||
export GOHOSTARCH=%{gohostarch}
|
||||
|
||||
# build for all (see http://golang.org/doc/install/source#environment)
|
||||
pushd src
|
||||
for goos in darwin freebsd linux netbsd openbsd plan9 windows ; do
|
||||
for goarch in 386 amd64 arm ; do
|
||||
if [ "${goarch}" = "arm" ] ; then
|
||||
if [ "${goos}" = "darwin" -o "${goos}" = "windows" -o "${goos}" = "plan9" -o "${goos}" = "openbsd" ] ;then
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
# use our gcc wrapper
|
||||
PATH="$(pwd -P)/../zz:$PATH" CC="gcc" \
|
||||
GOOS=${goos} \
|
||||
GOARCH=${goarch} \
|
||||
./make.bash
|
||||
done
|
||||
done
|
||||
popd
|
||||
|
||||
# compile for emacs and xemacs
|
||||
cd misc
|
||||
|
@ -217,26 +450,47 @@ rm -rf $RPM_BUILD_ROOT
|
|||
|
||||
# create the top level directories
|
||||
mkdir -p $RPM_BUILD_ROOT%{_bindir}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}
|
||||
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 -av api bin doc favicon.ico include lib pkg robots.txt src \
|
||||
$RPM_BUILD_ROOT%{_libdir}/%{name}
|
||||
$RPM_BUILD_ROOT%{goroot}
|
||||
|
||||
# remove the unnecessary zoneinfo file (Go will always use the system one first)
|
||||
rm -rfv $RPM_BUILD_ROOT%{_libdir}/%{name}/lib/time
|
||||
rm -rfv $RPM_BUILD_ROOT%{goroot}/lib/time
|
||||
|
||||
# remove the doc Makefile
|
||||
rm -rfv $RPM_BUILD_ROOT%{_libdir}/%{name}/doc/Makefile
|
||||
rm -rfv $RPM_BUILD_ROOT%{goroot}/doc/Makefile
|
||||
|
||||
# put binaries to bindir
|
||||
pushd $RPM_BUILD_ROOT%{_bindir}
|
||||
for z in $RPM_BUILD_ROOT%{_libdir}/%{name}/bin/*
|
||||
do mv $RPM_BUILD_ROOT%{_libdir}/%{name}/bin/$(basename $z) .
|
||||
done
|
||||
# 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}
|
||||
mv $RPM_BUILD_ROOT%{goroot}/bin/go $RPM_BUILD_ROOT%{goroot}/bin/linux_%{gohostarch}/go
|
||||
mv $RPM_BUILD_ROOT%{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/
|
||||
mkdir -p $RPM_BUILD_ROOT%{gopath}/src/code.google.com/p/
|
||||
|
||||
# remove the go and gofmt for other platforms (not used in the compile)
|
||||
pushd $RPM_BUILD_ROOT%{goroot}/bin/
|
||||
rm -rf darwin_* windows_* freebsd_* netbsd_* openbsd_* plan9_*
|
||||
case "%{gohostarch}" in
|
||||
amd64)
|
||||
rm -rf linux_386 linux_arm ;;
|
||||
386)
|
||||
rm -rf linux_arm linux_amd64 ;;
|
||||
arm)
|
||||
rm -rf linux_386 linux_amd64 ;;
|
||||
esac
|
||||
popd
|
||||
|
||||
touch $RPM_BUILD_ROOT%{_bindir}/go
|
||||
touch $RPM_BUILD_ROOT%{_bindir}/gofmt
|
||||
|
||||
# misc/bash
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/bash-completion/completions
|
||||
cp -av misc/bash/go $RPM_BUILD_ROOT%{_datadir}/bash-completion/completions
|
||||
|
@ -277,19 +531,70 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/prelink.conf.d
|
|||
cp -av %{SOURCE101} $RPM_BUILD_ROOT%{_sysconfdir}/prelink.conf.d/golang.conf
|
||||
|
||||
# rpm macros
|
||||
mkdir -p %{buildroot}
|
||||
%if 0%{?rhel} > 6 || 0%{?fedora} > 0
|
||||
mkdir -p $RPM_BUILD_ROOT%{_rpmconfigdir}/macros.d
|
||||
cp -av %{SOURCE102} $RPM_BUILD_ROOT%{_rpmconfigdir}/macros.d/macros.golang
|
||||
%else
|
||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm
|
||||
cp -av %{SOURCE102} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.golang
|
||||
%endif
|
||||
|
||||
|
||||
%ifarch %{ix86}
|
||||
%post pkg-bin-linux-386
|
||||
%{_sbindir}/update-alternatives --install %{_bindir}/go \
|
||||
go %{goroot}/bin/linux_386/go 90 \
|
||||
--slave %{_bindir}/gofmt gofmt %{goroot}/bin/linux_386/gofmt
|
||||
|
||||
%preun pkg-bin-linux-386
|
||||
if [ $1 = 0 ]; then
|
||||
%{_sbindir}/update-alternatives --remove go %{goroot}/bin/linux_386/go
|
||||
fi
|
||||
%endif
|
||||
|
||||
%ifarch x86_64
|
||||
%post pkg-bin-linux-amd64
|
||||
%{_sbindir}/update-alternatives --install %{_bindir}/go \
|
||||
go %{goroot}/bin/linux_amd64/go 90 \
|
||||
--slave %{_bindir}/gofmt gofmt %{goroot}/bin/linux_amd64/gofmt
|
||||
|
||||
%preun pkg-bin-linux-amd64
|
||||
if [ $1 = 0 ]; then
|
||||
%{_sbindir}/update-alternatives --remove go %{goroot}/bin/linux_amd64/go
|
||||
fi
|
||||
%endif
|
||||
|
||||
%ifarch %{arm}
|
||||
%post pkg-bin-linux-arm
|
||||
%{_sbindir}/update-alternatives --install %{_bindir}/go \
|
||||
go %{goroot}/bin/linux_arm/go 90 \
|
||||
--slave %{_bindir}/gofmt gofmt %{goroot}/bin/linux_arm/gofmt
|
||||
|
||||
%preun pkg-bin-linux-arm
|
||||
if [ $1 = 0 ]; then
|
||||
%{_sbindir}/update-alternatives --remove go %{goroot}/bin/linux_arm/go
|
||||
fi
|
||||
%endif
|
||||
|
||||
%files
|
||||
%doc AUTHORS CONTRIBUTORS LICENSE PATENTS VERSION
|
||||
|
||||
# go files
|
||||
%{_libdir}/%{name}
|
||||
%dir %{goroot}
|
||||
%{goroot}/*
|
||||
%exclude %{goroot}/bin/
|
||||
%exclude %{goroot}/pkg/
|
||||
%exclude %{goroot}/src/
|
||||
|
||||
# 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/
|
||||
|
||||
# binary executables
|
||||
%{_bindir}/go
|
||||
%{_bindir}/gofmt
|
||||
|
||||
# autocomplete
|
||||
%{_datadir}/bash-completion
|
||||
|
@ -301,7 +606,11 @@ cp -av %{SOURCE102} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.golang
|
|||
# prelink blacklist
|
||||
%{_sysconfdir}/prelink.conf.d
|
||||
|
||||
%if 0%{?rhel} > 6 || 0%{?fedora} > 0
|
||||
%{_rpmconfigdir}/macros.d/macros.golang
|
||||
%else
|
||||
%{_sysconfdir}/rpm/macros.golang
|
||||
%endif
|
||||
|
||||
|
||||
%files vim
|
||||
|
@ -323,8 +632,272 @@ cp -av %{SOURCE102} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.golang
|
|||
%{_xemacs_sitestartdir}/*.el
|
||||
%endif
|
||||
|
||||
%files src
|
||||
%{goroot}/src/
|
||||
# files that are generated based on compile-time ARCH will go in that arch's pkg-bin-*
|
||||
%exclude %{goroot}/src/cmd/5l/enam.c
|
||||
%exclude %{goroot}/src/cmd/6l/enam.c
|
||||
%exclude %{goroot}/src/cmd/8l/enam.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zasm_linux_386.h
|
||||
%exclude %{goroot}/src/pkg/runtime/zasm_linux_amd64.h
|
||||
%exclude %{goroot}/src/pkg/runtime/zasm_linux_arm.h
|
||||
%exclude %{goroot}/src/pkg/runtime/zgoarch_386.go
|
||||
%exclude %{goroot}/src/pkg/runtime/zgoarch_amd64.go
|
||||
%exclude %{goroot}/src/pkg/runtime/zgoarch_arm.go
|
||||
%exclude %{goroot}/src/pkg/runtime/zmalloc_linux_386.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zmalloc_linux_amd64.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zmalloc_linux_arm.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zmprof_linux_386.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zmprof_linux_amd64.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zmprof_linux_arm.c
|
||||
%exclude %{goroot}/src/pkg/runtime/znetpoll_linux_386.c
|
||||
%exclude %{goroot}/src/pkg/runtime/znetpoll_linux_amd64.c
|
||||
%exclude %{goroot}/src/pkg/runtime/znetpoll_linux_arm.c
|
||||
%exclude %{goroot}/src/pkg/runtime/znoasm_arm_linux_arm.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zruntime1_linux_386.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zruntime1_linux_amd64.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zruntime1_linux_arm.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zruntime_defs_linux_386.go
|
||||
%exclude %{goroot}/src/pkg/runtime/zruntime_defs_linux_amd64.go
|
||||
%exclude %{goroot}/src/pkg/runtime/zruntime_defs_linux_arm.go
|
||||
%exclude %{goroot}/src/pkg/runtime/zsema_linux_386.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zsema_linux_amd64.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zsema_linux_arm.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zsigqueue_linux_386.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zsigqueue_linux_amd64.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zsigqueue_linux_arm.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zstring_linux_386.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zstring_linux_amd64.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zstring_linux_arm.c
|
||||
%exclude %{goroot}/src/pkg/runtime/zsys_linux_386.s
|
||||
%exclude %{goroot}/src/pkg/runtime/zsys_linux_amd64.s
|
||||
%exclude %{goroot}/src/pkg/runtime/zsys_linux_arm.s
|
||||
%exclude %{goroot}/src/pkg/runtime/ztime_linux_386.c
|
||||
%exclude %{goroot}/src/pkg/runtime/ztime_linux_amd64.c
|
||||
%exclude %{goroot}/src/pkg/runtime/ztime_linux_arm.c
|
||||
|
||||
|
||||
%ifarch %{ix86}
|
||||
%files pkg-bin-linux-386
|
||||
%{goroot}/bin/linux_386/
|
||||
# binary executables
|
||||
%ghost %{_bindir}/go
|
||||
%ghost %{_bindir}/gofmt
|
||||
%dir %{goroot}/pkg/obj/linux_386
|
||||
%{goroot}/pkg/obj/linux_386/*
|
||||
%{goroot}/pkg/linux_386/runtime/cgo.a
|
||||
%dir %{goroot}/pkg/tool/linux_386
|
||||
%{goroot}/pkg/tool/linux_386/6a
|
||||
%{goroot}/pkg/tool/linux_386/6c
|
||||
%{goroot}/pkg/tool/linux_386/6g
|
||||
%{goroot}/pkg/tool/linux_386/6l
|
||||
%{goroot}/pkg/tool/linux_386/8a
|
||||
%{goroot}/pkg/tool/linux_386/8c
|
||||
%{goroot}/pkg/tool/linux_386/8g
|
||||
%{goroot}/pkg/tool/linux_386/8l
|
||||
%{goroot}/pkg/tool/linux_386/addr2line
|
||||
%{goroot}/pkg/tool/linux_386/dist
|
||||
%{goroot}/pkg/tool/linux_386/nm
|
||||
%{goroot}/pkg/tool/linux_386/objdump
|
||||
%{goroot}/pkg/tool/linux_386/pack
|
||||
%{goroot}/pkg/tool/linux_386/pprof
|
||||
|
||||
# arch dependent generated files, used by cgo
|
||||
%{goroot}/src/cmd/8l/enam.c
|
||||
%{goroot}/src/pkg/runtime/zasm_linux_386.h
|
||||
%{goroot}/src/pkg/runtime/zgoarch_386.go
|
||||
%{goroot}/src/pkg/runtime/zmalloc_linux_386.c
|
||||
%{goroot}/src/pkg/runtime/zmprof_linux_386.c
|
||||
%{goroot}/src/pkg/runtime/znetpoll_linux_386.c
|
||||
%{goroot}/src/pkg/runtime/zruntime1_linux_386.c
|
||||
%{goroot}/src/pkg/runtime/zruntime_defs_linux_386.go
|
||||
%{goroot}/src/pkg/runtime/zsema_linux_386.c
|
||||
%{goroot}/src/pkg/runtime/zsigqueue_linux_386.c
|
||||
%{goroot}/src/pkg/runtime/zstring_linux_386.c
|
||||
%{goroot}/src/pkg/runtime/zsys_linux_386.s
|
||||
%{goroot}/src/pkg/runtime/ztime_linux_386.c
|
||||
%endif
|
||||
|
||||
%ifarch x86_64
|
||||
%files pkg-bin-linux-amd64
|
||||
%{goroot}/bin/linux_amd64/
|
||||
# binary executables
|
||||
%ghost %{_bindir}/go
|
||||
%ghost %{_bindir}/gofmt
|
||||
%dir %{goroot}/pkg/obj/linux_amd64
|
||||
%{goroot}/pkg/obj/linux_amd64/*
|
||||
%{goroot}/pkg/linux_amd64/runtime/cgo.a
|
||||
%dir %{goroot}/pkg/tool/linux_amd64
|
||||
%{goroot}/pkg/tool/linux_amd64/6a
|
||||
%{goroot}/pkg/tool/linux_amd64/6c
|
||||
%{goroot}/pkg/tool/linux_amd64/6g
|
||||
%{goroot}/pkg/tool/linux_amd64/6l
|
||||
%{goroot}/pkg/tool/linux_amd64/addr2line
|
||||
%{goroot}/pkg/tool/linux_amd64/dist
|
||||
%{goroot}/pkg/tool/linux_amd64/nm
|
||||
%{goroot}/pkg/tool/linux_amd64/objdump
|
||||
%{goroot}/pkg/tool/linux_amd64/pack
|
||||
%{goroot}/pkg/tool/linux_amd64/pprof
|
||||
|
||||
# arch dependent generated files, used by cgo
|
||||
%{goroot}/src/cmd/6l/enam.c
|
||||
%{goroot}/src/pkg/runtime/zasm_linux_amd64.h
|
||||
%{goroot}/src/pkg/runtime/zgoarch_amd64.go
|
||||
%{goroot}/src/pkg/runtime/zmalloc_linux_amd64.c
|
||||
%{goroot}/src/pkg/runtime/zmprof_linux_amd64.c
|
||||
%{goroot}/src/pkg/runtime/znetpoll_linux_amd64.c
|
||||
%{goroot}/src/pkg/runtime/zruntime1_linux_amd64.c
|
||||
%{goroot}/src/pkg/runtime/zruntime_defs_linux_amd64.go
|
||||
%{goroot}/src/pkg/runtime/zsema_linux_amd64.c
|
||||
%{goroot}/src/pkg/runtime/zsigqueue_linux_amd64.c
|
||||
%{goroot}/src/pkg/runtime/zstring_linux_amd64.c
|
||||
%{goroot}/src/pkg/runtime/zsys_linux_amd64.s
|
||||
%{goroot}/src/pkg/runtime/ztime_linux_amd64.c
|
||||
%endif
|
||||
|
||||
%ifarch %{arm}
|
||||
%files pkg-bin-linux-arm
|
||||
%{goroot}/bin/linux_arm/
|
||||
# binary executables
|
||||
%ghost %{_bindir}/go
|
||||
%ghost %{_bindir}/gofmt
|
||||
%dir %{goroot}/pkg/obj/linux_arm
|
||||
%{goroot}/pkg/obj/linux_arm/*
|
||||
%{goroot}/pkg/linux_arm/runtime/cgo.a
|
||||
%dir %{goroot}/pkg/tool/linux_arm
|
||||
%{goroot}/pkg/tool/linux_arm/5a
|
||||
%{goroot}/pkg/tool/linux_arm/5c
|
||||
%{goroot}/pkg/tool/linux_arm/5g
|
||||
%{goroot}/pkg/tool/linux_arm/5l
|
||||
%{goroot}/pkg/tool/linux_arm/6a
|
||||
%{goroot}/pkg/tool/linux_arm/6c
|
||||
%{goroot}/pkg/tool/linux_arm/6g
|
||||
%{goroot}/pkg/tool/linux_arm/6l
|
||||
%{goroot}/pkg/tool/linux_arm/addr2line
|
||||
%{goroot}/pkg/tool/linux_arm/dist
|
||||
%{goroot}/pkg/tool/linux_arm/nm
|
||||
%{goroot}/pkg/tool/linux_arm/objdump
|
||||
%{goroot}/pkg/tool/linux_arm/pack
|
||||
%{goroot}/pkg/tool/linux_arm/pprof
|
||||
|
||||
# arch dependent generated files, used by cgo
|
||||
%{goroot}/src/cmd/5l/enam.c
|
||||
%{goroot}/src/pkg/runtime/zasm_linux_arm.h
|
||||
%{goroot}/src/pkg/runtime/zgoarch_arm.go
|
||||
%{goroot}/src/pkg/runtime/zmalloc_linux_arm.c
|
||||
%{goroot}/src/pkg/runtime/zmprof_linux_arm.c
|
||||
%{goroot}/src/pkg/runtime/znetpoll_linux_arm.c
|
||||
%{goroot}/src/pkg/runtime/znoasm_arm_linux_arm.c
|
||||
%{goroot}/src/pkg/runtime/zruntime1_linux_arm.c
|
||||
%{goroot}/src/pkg/runtime/zruntime_defs_linux_arm.go
|
||||
%{goroot}/src/pkg/runtime/zsema_linux_arm.c
|
||||
%{goroot}/src/pkg/runtime/zsigqueue_linux_arm.c
|
||||
%{goroot}/src/pkg/runtime/zstring_linux_arm.c
|
||||
%{goroot}/src/pkg/runtime/zsys_linux_arm.s
|
||||
%{goroot}/src/pkg/runtime/ztime_linux_arm.c
|
||||
%endif
|
||||
|
||||
%files pkg-linux-386
|
||||
%{goroot}/pkg/linux_386/
|
||||
%exclude %{goroot}/pkg/linux_386/runtime/cgo.a
|
||||
%{goroot}/pkg/tool/linux_386/cgo
|
||||
%{goroot}/pkg/tool/linux_386/fix
|
||||
%{goroot}/pkg/tool/linux_386/yacc
|
||||
|
||||
%files pkg-linux-amd64
|
||||
%{goroot}/pkg/linux_amd64/
|
||||
%exclude %{goroot}/pkg/linux_amd64/runtime/cgo.a
|
||||
%{goroot}/pkg/tool/linux_amd64/cgo
|
||||
%{goroot}/pkg/tool/linux_amd64/fix
|
||||
%{goroot}/pkg/tool/linux_amd64/yacc
|
||||
|
||||
%files pkg-linux-arm
|
||||
%{goroot}/pkg/linux_arm/
|
||||
%exclude %{goroot}/pkg/linux_arm/runtime/cgo.a
|
||||
%{goroot}/pkg/tool/linux_arm/cgo
|
||||
%{goroot}/pkg/tool/linux_arm/fix
|
||||
%{goroot}/pkg/tool/linux_arm/yacc
|
||||
|
||||
%files pkg-darwin-386
|
||||
%{goroot}/pkg/darwin_386/
|
||||
%{goroot}/pkg/tool/darwin_386/
|
||||
|
||||
%files pkg-darwin-amd64
|
||||
%{goroot}/pkg/darwin_amd64/
|
||||
%{goroot}/pkg/tool/darwin_amd64/
|
||||
|
||||
%files pkg-windows-386
|
||||
%{goroot}/pkg/windows_386/
|
||||
%{goroot}/pkg/tool/windows_386/
|
||||
|
||||
%files pkg-windows-amd64
|
||||
%{goroot}/pkg/windows_amd64/
|
||||
%{goroot}/pkg/tool/windows_amd64/
|
||||
|
||||
%files pkg-plan9-386
|
||||
%{goroot}/pkg/plan9_386/
|
||||
%{goroot}/pkg/tool/plan9_386/
|
||||
|
||||
%files pkg-plan9-amd64
|
||||
%{goroot}/pkg/plan9_amd64/
|
||||
%{goroot}/pkg/tool/plan9_amd64/
|
||||
|
||||
%files pkg-freebsd-386
|
||||
%{goroot}/pkg/freebsd_386/
|
||||
%{goroot}/pkg/tool/freebsd_386/
|
||||
|
||||
%files pkg-freebsd-amd64
|
||||
%{goroot}/pkg/freebsd_amd64/
|
||||
%{goroot}/pkg/tool/freebsd_amd64/
|
||||
|
||||
%files pkg-freebsd-arm
|
||||
%{goroot}/pkg/freebsd_arm/
|
||||
%{goroot}/pkg/tool/freebsd_arm/
|
||||
|
||||
%files pkg-netbsd-386
|
||||
%{goroot}/pkg/netbsd_386/
|
||||
%{goroot}/pkg/tool/netbsd_386/
|
||||
|
||||
%files pkg-netbsd-amd64
|
||||
%{goroot}/pkg/netbsd_amd64/
|
||||
%{goroot}/pkg/tool/netbsd_amd64/
|
||||
|
||||
%files pkg-netbsd-arm
|
||||
%{goroot}/pkg/netbsd_arm/
|
||||
%{goroot}/pkg/tool/netbsd_arm/
|
||||
|
||||
%files pkg-openbsd-386
|
||||
%{goroot}/pkg/openbsd_386/
|
||||
%{goroot}/pkg/tool/openbsd_386/
|
||||
|
||||
%files pkg-openbsd-amd64
|
||||
%{goroot}/pkg/openbsd_amd64/
|
||||
%{goroot}/pkg/tool/openbsd_amd64/
|
||||
|
||||
## skipping for now
|
||||
#%files pkg-openbsd-arm
|
||||
#%{goroot}/pkg/openbsd_arm/
|
||||
#%{goroot}/pkg/tool/openbsd_arm/
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed May 07 2014 Vincent Batts <vbatts@redhat.com> 1.2.1-7
|
||||
- missed two arch-dependent src files
|
||||
|
||||
* Wed May 07 2014 Vincent Batts <vbatts@redhat.com> 1.2.1-6
|
||||
- put generated arch-dependent src in their respective RPMs
|
||||
|
||||
* Fri Apr 11 2014 Vincent Batts <vbatts@redhat.com> 1.2.1-5
|
||||
- skip test that is causing a SIGABRT on fc21 bz1086900
|
||||
|
||||
* Thu Apr 10 2014 Vincent Batts <vbatts@fedoraproject.org> 1.2.1-4
|
||||
- fixing file and directory ownership bz1010713
|
||||
|
||||
* Wed Apr 09 2014 Vincent Batts <vbatts@fedoraproject.org> 1.2.1-3
|
||||
- including more to macros (%%go_arches)
|
||||
- set a standard goroot as /usr/lib/golang, regardless of arch
|
||||
- include sub-packages for compiler toolchains, for all golang supported architectures
|
||||
|
||||
* Wed Mar 26 2014 Vincent Batts <vbatts@fedoraproject.org> 1.2.1-2
|
||||
- provide a system rpm macros. Starting with %gopath
|
||||
|
||||
|
|
|
@ -1 +1,8 @@
|
|||
# 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}
|
||||
|
||||
|
|
Loading…
Reference in New Issue