[arch-commits] Commit in consul/trunk (5 files)
Thore Bödecker
foxxx0 at archlinux.org
Tue Jan 8 15:14:49 UTC 2019
Date: Tuesday, January 8, 2019 @ 15:14:49
Author: foxxx0
Revision: 421035
upgpkg: consul 1.4.0-1
update to 1.4.0, ldflags hardening
Added:
consul/trunk/consul-ldflags.patch
consul/trunk/disable-syslog-test.patch
consul/trunk/unparallelize-or-disable-flaky-tests.patch
Modified:
consul/trunk/PKGBUILD
consul/trunk/fix-build-version-info.patch
--------------------------------------------+
PKGBUILD | 36 +++++++++++----
consul-ldflags.patch | 29 ++++++++++++
disable-syslog-test.patch | 12 +++++
fix-build-version-info.patch | 40 +++++++++++++++++
unparallelize-or-disable-flaky-tests.patch | 63 +++++++++++++++++++++++++++
5 files changed, 171 insertions(+), 9 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2019-01-08 14:32:42 UTC (rev 421034)
+++ PKGBUILD 2019-01-08 15:14:49 UTC (rev 421035)
@@ -2,7 +2,7 @@
# Maintainer: Felix Yan <felixonmars at archlinux.org>
pkgname=consul
-pkgver=1.2.3
+pkgver=1.4.0
pkgrel=1
pkgdesc="A tool for service discovery, monitoring and configuration."
arch=('x86_64')
@@ -17,16 +17,22 @@
'consul.default'
'consul.sysusers'
'example.json'
- 'fix-build-version-info.patch')
+ 'consul-ldflags.patch'
+ 'fix-build-version-info.patch'
+ 'disable-syslog-test.patch'
+ 'unparallelize-or-disable-flaky-tests.patch')
install=consul.install
backup=('etc/default/consul')
-sha512sums=('71a7dbfc031df4a96faf2ddd829f289e96adefd0e0087208bbdd26e742a24e3da05fceea4181eb915703ad3323ed5b02bf74eb3fdfbed1e9a1afa2f74acb2a34'
+sha512sums=('a9f253ef5baa4e43800a0982ecb6893bf9487775cdcbe3a17bc7c45d601b6dca4e4c398ae3b70cdc1880577dbe1504d1a1f0cb702a1dd8c98b108e059fc721a0'
'SKIP'
'c70b9d1556f6c7ecb2e915ab685f289cef0e31198bd2e50c74a0483bbfb387beec67334f539a90adbf68b61b07946e98b300ab8a8e26e53b35f4ab4894adeb04'
'ec5a800529a297c709fa383c094ecf106351cf0f8ac7b613b972d415d77fe001088902d7ab805e63e78a8e6360323fec1b795db5a4446df1e21b9b4ed31e7079'
'ef872aedb2bc022a29292b7972a792b22e684c1ccb904a2b2cfec6d8966c28fb19be1452ce060821c419f1b646b236ba2e783175595e4bb6926d164c27a15c87'
'c4292b8f56ee955ed7385a49843fd90d6434029891b3e1e724cb2fc841514c06e2554a26d3937c114371b18c2168c4e64319eb2cbd726ee8b35870df19089348'
- '6709e51ff57fbe8118e7c9b38c99ef096a62d0c88ac2694e8c86065052cd2600f65dd9ac7f4a7e60712c26d15355f938cd9d98684955f4a02b2d5adfe1c2c04e')
+ 'cca5c71839c0a93515e8b2b6fa9d0a70e55b9e3cd1dcc9b8f9cbd94e7982ee695daec793a8ca9cb6245ff822dbbac4bf1af104c7ddef0ae9605d97a5fc08ed99'
+ '34a02f05216ff9a0274b1be384f92d15f1c2d4c6bdd502d7b133e54850074105c3b2068bbb8f7902f083efbb319ecf1e448025b452eac5d420cb5fe322befe0b'
+ '2a2e31469708f66877885c9e38f2044da13067c4111fc081ffea6187ff39acea6b17c0d33b2d0ada614315c3e5759a7592fbf7b0e9e9094ba2c31003bf1dbd4c'
+ '509c0b615f1a282f80004449e94ca8a51ac52cd4babfda0e670f22bcdaa5f9b2bb88189d09764333b31e8b3a449524979919fabb77886573a63c8bd582398933')
prepare() {
export GOPATH="${srcdir}"
@@ -39,23 +45,35 @@
cd "${srcdir}/src/github.com/hashicorp/${pkgname}"
+ # go ldflags hardening (e.g. RELRO, ...)
+ patch -p1 -N -l -i "${srcdir}/consul-ldflags.patch"
+
# use proper release build version string (w/o '-dev' suffix)
patch -p1 -N -l -i "${srcdir}/fix-build-version-info.patch"
# disable syslog test (requires running syslog service)
- rm ./logger/syslog_test.go
+ patch -p1 -N -l -i "${srcdir}/disable-syslog-test.patch"
+
+ # workaround/disable flaky tests tests
+ patch -p1 -N -l -i "${srcdir}/unparallelize-or-disable-flaky-tests.patch"
}
build() {
cd "${srcdir}/src/github.com/hashicorp/${pkgname}"
- # weird race conditions when being run with more than 1 thread...
- taskset --cpu-list 0 make linux
+ export GOOS='linux'
+ export GOARCH='amd64'
+ make linux
}
check() {
cd "${srcdir}/src/github.com/hashicorp/${pkgname}"
- # weird race conditions when being run with more than 1 thread...
- taskset --cpu-list 0 make test
+ # weird race conditions when being run overparallelized
+ export GOMAXPROCS="2"
+ export GOOS='linux'
+ export GOARCH='amd64'
+ export GOTEST_FLAGS="-p 2 -parallel 2"
+ export CONSUL_TEST_SKIP_SYSLOG='true'
+ make -j1 test
}
package() {
Added: consul-ldflags.patch
===================================================================
--- consul-ldflags.patch (rev 0)
+++ consul-ldflags.patch 2019-01-08 15:14:49 UTC (rev 421035)
@@ -0,0 +1,29 @@
+--- a/GNUmakefile 2018-11-14 23:37:47.000000000 +0100
++++ b/GNUmakefile 2019-01-08 15:44:48.494251517 +0100
+@@ -27,6 +27,7 @@ GIT_DIRTY?=$(shell test -n "`git status
+ GIT_DESCRIBE?=$(shell git describe --tags --always)
+ GIT_IMPORT=github.com/hashicorp/consul/version
+ GOLDFLAGS=-X $(GIT_IMPORT).GitCommit=$(GIT_COMMIT)$(GIT_DIRTY) -X $(GIT_IMPORT).GitDescribe=$(GIT_DESCRIBE)
++EXTLDFLAGS := ${LDFLAGS}
+
+ ifeq ($(FORCE_REBUILD),1)
+ NOCACHE=--no-cache
+@@ -96,6 +97,7 @@ export GIT_DIRTY
+ export GIT_DESCRIBE
+ export GOTAGS
+ export GOLDFLAGS
++export EXTLDFLAGS
+
+
+ DEV_PUSH?=0
+--- a/build-support/functions/20-build.sh 2018-11-14 23:37:47.000000000 +0100
++++ b/build-support/functions/20-build.sh 2019-01-08 15:03:55.598451424 +0100
+@@ -468,7 +468,7 @@ function build_consul_local {
+ if [ $os == "windows" ];then
+ binname="consul.exe"
+ fi
+- CGO_ENABLED=0 GOOS=${os} GOARCH=${arch} go install -ldflags "${GOLDFLAGS}" -tags "${GOTAGS}" && cp "${MAIN_GOPATH}/bin/${GOBIN_EXTRA}${binname}" "${outdir}/${binname}"
++ CGO_ENABLED=0 GOOS=${os} GOARCH=${arch} go install -ldflags "-linkmode external -extldflags ${EXTLDFLAGS} -s -w ${GOLDFLAGS}" -tags "${GOTAGS}" && cp "${MAIN_GOPATH}/bin/${GOBIN_EXTRA}${binname}" "${outdir}/${binname}"
+ if test $? -ne 0
+ then
+ err "ERROR: Failed to build Consul for ${osarch}"
Added: disable-syslog-test.patch
===================================================================
--- disable-syslog-test.patch (rev 0)
+++ disable-syslog-test.patch 2019-01-08 15:14:49 UTC (rev 421035)
@@ -0,0 +1,12 @@
+--- a/./logger/syslog_test.go 2018-11-14 23:37:47.000000000 +0100
++++ b/./logger/syslog_test.go 2019-01-04 14:16:21.575451546 +0100
+@@ -16,6 +16,9 @@ func TestSyslogFilter(t *testing.T) {
+ if os.Getenv("TRAVIS") == "true" {
+ t.Skip("Syslog not supported on travis-ci")
+ }
++ if os.Getenv("CONSUL_TEST_SKIP_SYSLOG") == "true" {
++ t.Skip("Skipping test due to env var CONSUL_TEST_SKIP_SYSLOG being set")
++ }
+
+ l, err := gsyslog.NewLogger(gsyslog.LOG_NOTICE, "LOCAL0", "consul")
+ if err != nil {
Modified: fix-build-version-info.patch
===================================================================
--- fix-build-version-info.patch 2019-01-08 14:32:42 UTC (rev 421034)
+++ fix-build-version-info.patch 2019-01-08 15:14:49 UTC (rev 421035)
@@ -33,3 +33,43 @@
// Strip off any single quotes added by the git information.
return strings.Replace(version, "'", "", -1)
+--- b/GNUmakefile 2019-01-08 15:44:48.494251517 +0100
++++ c/GNUmakefile 2019-01-08 15:48:07.639739133 +0100
+@@ -21,12 +21,7 @@ GOARCH?=$(shell go env GOARCH)
+ GOPATH=$(shell go env GOPATH)
+
+ ASSETFS_PATH?=agent/bindata_assetfs.go
+-# Get the git commit
+-GIT_COMMIT?=$(shell git rev-parse --short HEAD)
+-GIT_DIRTY?=$(shell test -n "`git status --porcelain`" && echo "+CHANGES" || true)
+-GIT_DESCRIBE?=$(shell git describe --tags --always)
+-GIT_IMPORT=github.com/hashicorp/consul/version
+-GOLDFLAGS=-X $(GIT_IMPORT).GitCommit=$(GIT_COMMIT)$(GIT_DIRTY) -X $(GIT_IMPORT).GitDescribe=$(GIT_DESCRIBE)
++GOLDFLAGS=
+ EXTLDFLAGS := ${LDFLAGS}
+
+ ifeq ($(FORCE_REBUILD),1)
+@@ -236,17 +231,6 @@ ui: ui-legacy-docker ui-docker static-as
+ tools:
+ go get -u -v $(GOTOOLS)
+
+-version:
+- @echo -n "Version: "
+- @$(SHELL) $(CURDIR)/build-support/scripts/version.sh
+- @echo -n "Version + release: "
+- @$(SHELL) $(CURDIR)/build-support/scripts/version.sh -r
+- @echo -n "Version + git: "
+- @$(SHELL) $(CURDIR)/build-support/scripts/version.sh -g
+- @echo -n "Version + release + git: "
+- @$(SHELL) $(CURDIR)/build-support/scripts/version.sh -r -g
+-
+-
+ docker-images: go-build-image ui-build-image ui-legacy-build-image
+
+ go-build-image:
+@@ -275,4 +259,4 @@ ui-legacy-docker: ui-legacy-build-image
+
+
+ .PHONY: all ci bin dev dist cov test test-ci test-internal test-install-deps cover format vet ui static-assets tools vendorfmt
+-.PHONY: docker-images go-build-image ui-build-image ui-legacy-build-image static-assets-docker consul-docker ui-docker ui-legacy-docker version
++.PHONY: docker-images go-build-image ui-build-image ui-legacy-build-image static-assets-docker consul-docker ui-docker ui-legacy-docker
Added: unparallelize-or-disable-flaky-tests.patch
===================================================================
--- unparallelize-or-disable-flaky-tests.patch (rev 0)
+++ unparallelize-or-disable-flaky-tests.patch 2019-01-08 15:14:49 UTC (rev 421035)
@@ -0,0 +1,63 @@
+diff -upr a/agent/cache/cache_test.go b/agent/cache/cache_test.go
+--- a/agent/cache/cache_test.go 2018-11-14 23:37:47.000000000 +0100
++++ b/agent/cache/cache_test.go 2019-01-08 15:23:12.540631267 +0100
+@@ -152,7 +152,6 @@ func TestCacheGet_blockingInitSameKey(t
+ // Test that Get with different cache keys both block on initial value
+ // but that the fetches were both properly called.
+ func TestCacheGet_blockingInitDiffKeys(t *testing.T) {
+- t.Parallel()
+
+ require := require.New(t)
+
+@@ -238,7 +237,6 @@ func TestCacheGet_blockingIndex(t *testi
+ // Test a get with an index set will timeout if the fetch doesn't return
+ // anything.
+ func TestCacheGet_blockingIndexTimeout(t *testing.T) {
+- t.Parallel()
+
+ typ := TestType(t)
+ defer typ.AssertExpectations(t)
+@@ -346,7 +344,6 @@ func TestCacheGet_emptyFetchResult(t *te
+ // Test that a type registered with a periodic refresh will perform
+ // that refresh after the timer is up.
+ func TestCacheGet_periodicRefresh(t *testing.T) {
+- t.Parallel()
+
+ typ := TestType(t)
+ defer typ.AssertExpectations(t)
+@@ -433,7 +430,6 @@ func TestCacheGet_periodicRefreshMultipl
+
+ // Test that a refresh performs a backoff.
+ func TestCacheGet_periodicRefreshErrorBackoff(t *testing.T) {
+- t.Parallel()
+
+ typ := TestType(t)
+ defer typ.AssertExpectations(t)
+@@ -474,7 +470,6 @@ func TestCacheGet_periodicRefreshErrorBa
+
+ // Test that a badly behaved RPC that returns 0 index will perform a backoff.
+ func TestCacheGet_periodicRefreshBadRPCZeroIndexErrorBackoff(t *testing.T) {
+- t.Parallel()
+
+ typ := TestType(t)
+ defer typ.AssertExpectations(t)
+diff -upr a/agent/cache-types/connect_ca_leaf_test.go b/agent/cache-types/connect_ca_leaf_test.go
+--- a/agent/cache-types/connect_ca_leaf_test.go 2018-11-14 23:37:47.000000000 +0100
++++ b/agent/cache-types/connect_ca_leaf_test.go 2019-01-08 15:23:55.670339830 +0100
+@@ -94,7 +94,6 @@ func TestConnectCALeaf_changingRoots(t *
+ // Test that after an initial signing, an expiringLeaf will trigger a
+ // blocking query to resign.
+ func TestConnectCALeaf_expiringLeaf(t *testing.T) {
+- t.Parallel()
+
+ require := require.New(t)
+ rpc := TestRPC(t)
+@@ -178,7 +177,7 @@ func TestConnectCALeaf_expiringLeaf(t *t
+ // with a given token but can't if a client using that token was served a cert
+ // generated under a different token (say the agent token).
+ func TestConnectCALeaf_multipleClientsDifferentTokens(t *testing.T) {
+- t.Parallel()
++ t.Skip("disabled flaky test")
+
+ require := require.New(t)
+ rpc := TestRPC(t)
More information about the arch-commits
mailing list