Accepting request 497883 from home:jordimassaguerpla:branch:d:l:g:fix_update_alternatives
fix update-alternatives usage OBS-URL: https://build.opensuse.org/request/show/497883 OBS-URL: https://build.opensuse.org/package/show/devel:languages:go/go?expand=0&rev=283
This commit is contained in:
parent
0a35006c8a
commit
7757a088fd
@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed May 3 18:14:48 UTC 2017 - jmassaguerpla@suse.com
|
||||
|
||||
- fix update-alternatives usage. This way, we can either use go1.7 or
|
||||
go 1.8 without having to change the docker spec file or any other
|
||||
package that requires go 1.7 but it will require go 1.8 in the
|
||||
future.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 27 14:16:00 UTC 2017 - thipp@suse.de
|
||||
|
||||
|
@ -1 +1 @@
|
||||
add-auto-load-safe-path /usr/lib/go/src/runtime/runtime-gdb.py
|
||||
add-auto-load-safe-path /usr/lib/go/$go_api/src/runtime/runtime-gdb.py
|
||||
|
6
go.sh
6
go.sh
@ -30,11 +30,11 @@ case "$(uname -m)" in
|
||||
libdir=lib64
|
||||
;;
|
||||
esac
|
||||
export GOROOT=/usr/$libdir/go
|
||||
export GOROOT=/usr/$libdir/go/$go_api
|
||||
export GOBIN=/usr/bin
|
||||
export GOPATH=/usr/share/go/contrib
|
||||
export GOPATH=/usr/share/go/$go_api/contrib
|
||||
|
||||
if [ `id -u` != 0 ]; then
|
||||
export GOPATH=$HOME/go:/usr/share/go/contrib
|
||||
export GOPATH=$HOME/go:/usr/share/go/$go_api/contrib
|
||||
unset GOBIN
|
||||
fi
|
||||
|
135
go.spec
135
go.spec
@ -73,7 +73,7 @@ Summary: A compiled, garbage-collected, concurrent programming language
|
||||
License: BSD-3-Clause
|
||||
Group: Development/Languages/Other
|
||||
Url: http://golang.org
|
||||
Source0: http://golang.org/dl/go1.8.1.src.tar.gz
|
||||
Source0: http://golang.org/dl/go%{version}.src.tar.gz
|
||||
Source1: go-rpmlintrc
|
||||
Source2: go.sh
|
||||
Source4: README.SUSE
|
||||
@ -116,7 +116,7 @@ BuildRequires: systemd
|
||||
%endif
|
||||
%if 0%{?suse_version} >= 1100
|
||||
BuildRequires: fdupes
|
||||
Recommends: go-doc
|
||||
Recommends: go-doc = %{version}
|
||||
#BNC#818502 debug edit tool of rpm fails on i586 builds
|
||||
%if 0%{?suse_version} > 1230
|
||||
BuildRequires: rpm >= 4.11.1
|
||||
@ -130,10 +130,11 @@ Requires(postun): update-alternatives
|
||||
Requires: gcc
|
||||
# for golang-macros.rb
|
||||
Requires: ruby
|
||||
Provides: go-devel = %{name}%{version}
|
||||
Provides: go-devel-static = %{name}%{version}
|
||||
Provides: go = %{version}
|
||||
Provides: go-devel = go%{version}
|
||||
Provides: go-devel-static = go%{version}
|
||||
Provides: golang(API) = %{go_api}
|
||||
Obsoletes: go-devel < %{name}%{version}
|
||||
Obsoletes: go-devel < go%{version}
|
||||
# go-vim/emacs were separate projects starting from 1.4
|
||||
Obsoletes: go-emacs <= 1.3.3
|
||||
Obsoletes: go-vim <= 1.3.3
|
||||
@ -149,13 +150,14 @@ safety of a static language.
|
||||
%package doc
|
||||
Summary: Go documentation
|
||||
Group: Documentation/Other
|
||||
Requires: %{name} = %{version}
|
||||
Requires: go = %{version}
|
||||
Provides: go-doc = %{version}
|
||||
|
||||
%description doc
|
||||
Go examples and documentation.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}
|
||||
%setup -q -n go
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
@ -205,7 +207,7 @@ export GOROOT_BOOTSTRAP=%{_prefix}
|
||||
export GOROOT_BOOTSTRAP=%{_libdir}/go1.4
|
||||
%endif
|
||||
export GOROOT="`pwd`"
|
||||
export GOROOT_FINAL=%{_libdir}/go
|
||||
export GOROOT_FINAL=%{_libdir}/go/%{go_api}
|
||||
export GOBIN="$GOROOT/bin"
|
||||
mkdir -p "$GOBIN"
|
||||
cd src
|
||||
@ -222,27 +224,28 @@ bin/go install -buildmode=shared -linkshared std
|
||||
%endif
|
||||
|
||||
%install
|
||||
export GOROOT="%{buildroot}%{_libdir}/%{name}"
|
||||
export GOROOT="%{buildroot}%{_libdir}/go/%{go_api}"
|
||||
install -Dm644 %{SOURCE2} $GOROOT/bin/profile.d/go.sh
|
||||
sed -i "s/\$go_api/%{go_api}/" $GOROOT/bin/profile.d/go.sh
|
||||
|
||||
# locations for third party libraries, see README-openSUSE for info about locations.
|
||||
install -d %{buildroot}%{_datadir}/go/contrib
|
||||
install -d %{buildroot}%{_datadir}/go/%{go_api}/contrib
|
||||
install -d $GOROOT/contrib/pkg/linux_%{go_arch}
|
||||
ln -s %{_libdir}/%{name}/contrib/pkg/ %{buildroot}%{_datadir}/go/contrib/pkg
|
||||
install -d %{buildroot}%{_datadir}/go/contrib/cmd
|
||||
install -d %{buildroot}%{_datadir}/go/contrib/src
|
||||
ln -s %{_datadir}/go/contrib/src/ %{buildroot}%{_libdir}/%{name}/contrib/src
|
||||
ln -s %{_libdir}/go/%{go_api}/contrib/pkg/ %{buildroot}%{_datadir}/go/%{go_api}/contrib/pkg
|
||||
install -d %{buildroot}%{_datadir}/go/%{go_api}/contrib/cmd
|
||||
install -d %{buildroot}%{_datadir}/go/%{go_api}/contrib/src
|
||||
ln -s %{_datadir}/go/%{go_api}/contrib/src/ %{buildroot}%{_libdir}/go/%{go_api}/contrib/src
|
||||
install -Dm644 README.SUSE $GOROOT/contrib/
|
||||
ln -s %{_libdir}/go/contrib/README.SUSE %{buildroot}%{_datadir}/go/contrib/README.SUSE
|
||||
ln -s %{_libdir}/go/%{go_api}/contrib/README.SUSE %{buildroot}%{_datadir}/go/%{go_api}/contrib/README.SUSE
|
||||
|
||||
# source files for go install, godoc, etc
|
||||
install -d %{buildroot}%{_datadir}/go
|
||||
install -d %{buildroot}%{_datadir}/go/%{go_api}
|
||||
for ext in *.{go,c,h,s,S,py}; do
|
||||
find src -name ${ext} -exec install -Dm644 \{\} %{buildroot}%{_datadir}/go/\{\} \;
|
||||
find src -name ${ext} -exec install -Dm644 \{\} %{buildroot}%{_datadir}/go/%{go_api}/\{\} \;
|
||||
done
|
||||
mkdir -p $GOROOT/src
|
||||
for i in $(ls %{buildroot}/usr/share/go/src);do
|
||||
ln -s /usr/share/go/src/$i $GOROOT/src/$i
|
||||
for i in $(ls %{buildroot}/usr/share/go/%{go_api}/src);do
|
||||
ln -s /usr/share/go/%{go_api}/src/$i $GOROOT/src/$i
|
||||
done
|
||||
|
||||
# copy document templates, packages, obj libs and command utilities
|
||||
@ -254,14 +257,23 @@ mv pkg $GOROOT
|
||||
mv bin/* $GOROOT/bin
|
||||
rm -f %{buildroot}%{_bindir}/{hgpatch,quietgcc}
|
||||
|
||||
# gdbinit
|
||||
install -Dm644 %{SOURCE6} $GOROOT/bin/gdbinit.d/go.gdb
|
||||
%if "%{_lib}" == "lib64"
|
||||
sed -i "s/lib/lib64/" $GOROOT/bin/gdbinit.d/go.gdb
|
||||
sed -i "s/\$go_api/%{go_api}/" $GOROOT/bin/gdbinit.d/go.gdb
|
||||
%endif
|
||||
|
||||
# update-alternatives
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
|
||||
touch %{buildroot}%{_sysconfdir}/alternatives/{go,gofmt,go.sh}
|
||||
ln -sf %{_sysconfdir}/alternatives/go %{buildroot}%{_bindir}/go
|
||||
ln -sf %{_sysconfdir}/alternatives/gofmt %{buildroot}%{_bindir}/gofmt
|
||||
ln -sf %{_sysconfdir}/alternatives/go.sh %{buildroot}%{_sysconfdir}/profile.d/go.sh
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/gdbinit.d
|
||||
touch %{buildroot}%{_sysconfdir}/alternatives/{go,gofmt,go.sh,go.gdb}
|
||||
ln -sf %{_sysconfdir}/alternatives/go %{buildroot}%{_bindir}/go
|
||||
ln -sf %{_sysconfdir}/alternatives/gofmt %{buildroot}%{_bindir}/gofmt
|
||||
ln -sf %{_sysconfdir}/alternatives/go.sh %{buildroot}%{_sysconfdir}/profile.d/go.sh
|
||||
ln -sf %{_sysconfdir}/alternatives/go.gdb %{buildroot}%{_sysconfdir}/gdbinit.d/go.gdb
|
||||
|
||||
# documentation and examples
|
||||
# fix documetation permissions (rpmlint warning)
|
||||
@ -269,63 +281,62 @@ find doc/ misc/ -type f -exec chmod 0644 '{}' \;
|
||||
# remove unwanted arch-dependant binaries (rpmlint warning)
|
||||
rm -rf misc/cgo/test/{_*,*.o,*.out,*.6,*.8}
|
||||
# prepare go-doc
|
||||
mkdir -p %{buildroot}%{_docdir}/%{name}
|
||||
cp -r AUTHORS CONTRIBUTORS CONTRIBUTING.md LICENSE PATENTS README.md README.SUSE %{buildroot}%{_docdir}/%{name}
|
||||
cp -r doc/* %{buildroot}%{_docdir}/%{name}
|
||||
|
||||
# gdbinit
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/gdbinit.d
|
||||
install -m 0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/gdbinit.d/go.gdb
|
||||
%if "%{_lib}" == "lib64"
|
||||
sed -i "s/lib/lib64/" %{buildroot}%{_sysconfdir}/gdbinit.d/go.gdb
|
||||
%endif
|
||||
mkdir -p %{buildroot}%{_docdir}/go/%{go_api}
|
||||
cp -r AUTHORS CONTRIBUTORS CONTRIBUTING.md LICENSE PATENTS README.md README.SUSE %{buildroot}%{_docdir}/go/%{go_api}
|
||||
cp -r doc/* %{buildroot}%{_docdir}/go/%{go_api}
|
||||
|
||||
%if 0%{?suse_version} >= 1100
|
||||
%fdupes -s %{buildroot}%{_prefix}
|
||||
%endif
|
||||
|
||||
%post
|
||||
|
||||
update-alternatives \
|
||||
--install %{_bindir}/go go %{_libdir}/%{name}/bin/go 30 \
|
||||
--slave %{_bindir}/gofmt gofmt %{_libdir}/%{name}/bin/gofmt \
|
||||
--slave %{_sysconfdir}/profile.d/go.sh go.sh %{_libdir}/%{name}/bin/profile.d/go.sh
|
||||
--install %{_bindir}/go go %{_libdir}/go/%{go_api}/bin/go 30 \
|
||||
--slave %{_bindir}/gofmt gofmt %{_libdir}/go/%{go_api}/bin/gofmt \
|
||||
--slave %{_sysconfdir}/gdbinit.d/go.gdb go.gdb %{_libdir}/go/%{go_api}/bin/gdbinit.d/go.gdb \
|
||||
--slave %{_sysconfdir}/profile.d/go.sh go.sh %{_libdir}/go/%{go_api}/bin/profile.d/go.sh
|
||||
|
||||
%postun
|
||||
if [ $1 -eq 0 ] ; then
|
||||
update-alternatives --remove go %{_libdir}/%{name}/bin/go
|
||||
update-alternatives --remove go %{_libdir}/go/%{go_api}/bin/go
|
||||
fi
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%{_bindir}/go
|
||||
%{_bindir}/gofmt
|
||||
%{_libdir}/go/
|
||||
%{_datadir}/go/
|
||||
%{_libdir}/go
|
||||
%{_libdir}/go/%{go_api}
|
||||
%{_datadir}/go
|
||||
%{_datadir}/go/%{go_api}
|
||||
%ghost %{_sysconfdir}/profile.d/go.sh
|
||||
%ghost %{_sysconfdir}/gdbinit.d/go.gdb
|
||||
%ghost %{_sysconfdir}/alternatives/go
|
||||
%ghost %{_sysconfdir}/alternatives/gofmt
|
||||
%ghost %{_sysconfdir}/alternatives/go.sh
|
||||
%config %{_sysconfdir}/profile.d/go.sh
|
||||
%config %{_sysconfdir}/gdbinit.d/go.gdb
|
||||
%dir %{_docdir}/%{name}/
|
||||
%doc %{_docdir}/%{name}/AUTHORS
|
||||
%doc %{_docdir}/%{name}/CONTRIBUTORS
|
||||
%doc %{_docdir}/%{name}/CONTRIBUTING.md
|
||||
%doc %{_docdir}/%{name}/LICENSE
|
||||
%doc %{_docdir}/%{name}/PATENTS
|
||||
%doc %{_docdir}/%{name}/README.md
|
||||
%doc %{_docdir}/%{name}/README.SUSE
|
||||
%doc %{_docdir}/%{name}/go1.8.txt
|
||||
%ghost %{_sysconfdir}/alternatives/go.gdb
|
||||
%dir %{_docdir}/go
|
||||
%dir %{_docdir}/go/%{go_api}
|
||||
%doc %{_docdir}/go/%{go_api}/AUTHORS
|
||||
%doc %{_docdir}/go/%{go_api}/CONTRIBUTORS
|
||||
%doc %{_docdir}/go/%{go_api}/CONTRIBUTING.md
|
||||
%doc %{_docdir}/go/%{go_api}/LICENSE
|
||||
%doc %{_docdir}/go/%{go_api}/PATENTS
|
||||
%doc %{_docdir}/go/%{go_api}/README.md
|
||||
%doc %{_docdir}/go/%{go_api}/README.SUSE
|
||||
%doc %{_docdir}/go/%{go_api}/go%{go_api}.txt
|
||||
|
||||
%files doc
|
||||
%defattr(-,root,root,-)
|
||||
%doc %{_docdir}/%{name}/codewalk
|
||||
%doc %{_docdir}/%{name}/articles
|
||||
%doc %{_docdir}/%{name}/progs
|
||||
%doc %{_docdir}/%{name}/play
|
||||
%doc %{_docdir}/%{name}/gopher
|
||||
%doc %{_docdir}/%{name}/devel
|
||||
%doc %{_docdir}/%{name}/*.html
|
||||
%doc %{_docdir}/%{name}/*.css
|
||||
%doc %{_docdir}/%{name}/*.png
|
||||
%doc %{_docdir}/go/%{go_api}/codewalk
|
||||
%doc %{_docdir}/go/%{go_api}/articles
|
||||
%doc %{_docdir}/go/%{go_api}/progs
|
||||
%doc %{_docdir}/go/%{go_api}/play
|
||||
%doc %{_docdir}/go/%{go_api}/gopher
|
||||
%doc %{_docdir}/go/%{go_api}/devel
|
||||
%doc %{_docdir}/go/%{go_api}/*.html
|
||||
%doc %{_docdir}/go/%{go_api}/*.css
|
||||
%doc %{_docdir}/go/%{go_api}/*.png
|
||||
|
||||
%changelog
|
||||
|
Loading…
Reference in New Issue
Block a user