Add go "dep" tool to support lockfiles in go pkgs

The go compiler supports "go get" to download dependencies, but
it will download the latest version of dependencies from the git
repository of the dependency.  This could lead to non-reproducable
builds, or the potential of dependency API changes (including
deprecated features) to break the build of packages.

The "dep" tool allows for a lockfile to be created, which captures
the git commit ID of dependencies, and can restore dependencies to
the captured state.

Since no binary package containing "dep" is currently available for
CentOS, this change adds the package and compiles it from source.

Depends-On: https://review.openstack.org/625333

Story: 2004617
Task: 28525

Change-Id: Ic3bfad6a419b344e7c147c3839d16956c432a99e
Signed-off-by: Jason McKenna <jason.mckenna@windriver.com>
This commit is contained in:
Jason McKenna 2018-12-14 10:33:51 -05:00
parent d4d3682658
commit bc539e2408
2 changed files with 47 additions and 0 deletions

View File

@ -0,0 +1,2 @@
COPY_LIST="$CGCS_BASE/downloads/dep-v0.5.0.tar.gz"
TIS_PATCH_VER=0

View File

@ -0,0 +1,45 @@
Name: golang-dep
Version: 0.5.0
Release: %{tis_patch_ver}%{?_tis_dist}
Summary: Go dep dependency management tool
Group: Development/Languages
License: Go
URL: https://github.com/golang/dep
Source: dep-v0.5.0.tar.gz
BuildRequires: golang
Requires: golang
%global with_debug 0
%global debug_package %{nil}
%define __spec_install_post %{nil}
%define tooldir %{_libdir}/go/pkg/%{name}/linux_amd64
%if ! 0%{?gobuild:1}
%define gobuild(o:) go build -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v -x %{?**};
%endif
%description
This package includes additional go development tools.
%prep
%setup -T -c -n go/src/github.com/golang/dep
tar --strip-components=1 -x -f %{SOURCE0}
%build
export GOPATH=%{_builddir}/go
(cd cmd/dep && %gobuild -o dep)
%install
rm -rf %{buildroot}
install -d %{buildroot}%{_bindir}
install -d %{buildroot}%{tooldir}
install cmd/dep/dep %{buildroot}%{_bindir}
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{_bindir}/dep