pkgbuild: pkgver=1.16.4 pkgrel=1 (genesis)
This repo was forked from the upstream Archlinux consul package at
commit 4b59c61ed1036182df6fff4621d897312c8c1a6b.
This was then modified to download from the open-consul source, and
slight improvements made to GOFLAGS + tidied up makedepends.
References: https://gitlab.archlinux.org/archlinux/packaging/packages/consul
References: 4b59c61ed1
This commit is contained in:
commit
08c876b42b
|
@ -0,0 +1,25 @@
|
|||
pkgbase = open-consul
|
||||
pkgdesc = A tool for service discovery, monitoring and configuration.
|
||||
pkgver = 1.16.4
|
||||
pkgrel = 1
|
||||
url = https://developer.hashicorp.com/consul/docs/v1.16.x
|
||||
install = consul.install
|
||||
arch = x86_64
|
||||
license = MPL2
|
||||
makedepends = go
|
||||
depends = glibc
|
||||
provides = consul
|
||||
conflicts = consul
|
||||
backup = etc/default/consul
|
||||
source = open-consul-1.16.4.tar.gz::https://git.st8l.com/luxolus/open-consul/archive/25957a17b5eddd1b95ebda13f8a667ec3c02b4c6.tar.gz
|
||||
source = consul.service
|
||||
source = consul.default
|
||||
source = consul.sysusers
|
||||
source = example.json
|
||||
sha512sums = SKIP
|
||||
sha512sums = c70b9d1556f6c7ecb2e915ab685f289cef0e31198bd2e50c74a0483bbfb387beec67334f539a90adbf68b61b07946e98b300ab8a8e26e53b35f4ab4894adeb04
|
||||
sha512sums = ec5a800529a297c709fa383c094ecf106351cf0f8ac7b613b972d415d77fe001088902d7ab805e63e78a8e6360323fec1b795db5a4446df1e21b9b4ed31e7079
|
||||
sha512sums = ef872aedb2bc022a29292b7972a792b22e684c1ccb904a2b2cfec6d8966c28fb19be1452ce060821c419f1b646b236ba2e783175595e4bb6926d164c27a15c87
|
||||
sha512sums = c4292b8f56ee955ed7385a49843fd90d6434029891b3e1e724cb2fc841514c06e2554a26d3937c114371b18c2168c4e64319eb2cbd726ee8b35870df19089348
|
||||
|
||||
pkgname = open-consul
|
|
@ -0,0 +1,89 @@
|
|||
# Created by https://www.toptal.com/developers/gitignore/api/archlinuxpackages,linux,macos,vim
|
||||
# Edit at https://www.toptal.com/developers/gitignore?templates=archlinuxpackages,linux,macos,vim
|
||||
|
||||
### ArchLinuxPackages ###
|
||||
*.tar
|
||||
*.tar.*
|
||||
*.jar
|
||||
*.exe
|
||||
*.msi
|
||||
*.zip
|
||||
*.tgz
|
||||
*.log
|
||||
*.log.*
|
||||
*.sig
|
||||
|
||||
pkg/
|
||||
src/
|
||||
|
||||
/open-consul*
|
||||
|
||||
### Linux ###
|
||||
*~
|
||||
|
||||
# temporary files which can be created if a process still has a handle open of a deleted file
|
||||
.fuse_hidden*
|
||||
|
||||
# KDE directory preferences
|
||||
.directory
|
||||
|
||||
# Linux trash folder which might appear on any partition or disk
|
||||
.Trash-*
|
||||
|
||||
# .nfs files are created when an open file is removed but is still being accessed
|
||||
.nfs*
|
||||
|
||||
### macOS ###
|
||||
# General
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Icon must end with two \r
|
||||
Icon
|
||||
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DocumentRevisions-V100
|
||||
.fseventsd
|
||||
.Spotlight-V100
|
||||
.TemporaryItems
|
||||
.Trashes
|
||||
.VolumeIcon.icns
|
||||
.com.apple.timemachine.donotpresent
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
### macOS Patch ###
|
||||
# iCloud generated files
|
||||
*.icloud
|
||||
|
||||
### Vim ###
|
||||
# Swap
|
||||
[._]*.s[a-v][a-z]
|
||||
!*.svg # comment out if you don't need vector files
|
||||
[._]*.sw[a-p]
|
||||
[._]s[a-rt-v][a-z]
|
||||
[._]ss[a-gi-z]
|
||||
[._]sw[a-p]
|
||||
|
||||
# Session
|
||||
Session.vim
|
||||
Sessionx.vim
|
||||
|
||||
# Temporary
|
||||
.netrwhist
|
||||
# Auto-generated tag files
|
||||
tags
|
||||
# Persistent undo
|
||||
[._]*.un~
|
||||
|
||||
# End of https://www.toptal.com/developers/gitignore/api/archlinuxpackages,linux,macos,vim
|
|
@ -0,0 +1,82 @@
|
|||
# Maintainer: Paul Stemmet <aur@luxolus.com>
|
||||
# Contributor: Thore Bödecker <foxxx0@archlinux.org>
|
||||
# Contributor: Felix Yan <felixonmars@archlinux.org>
|
||||
# Contributor: Justin Kromlinger <hashworks@archlinux.org>
|
||||
|
||||
pkgname=open-consul
|
||||
_commit=25957a17b5eddd1b95ebda13f8a667ec3c02b4c6
|
||||
pkgver=1.16.4
|
||||
pkgrel=1
|
||||
pkgdesc="A tool for service discovery, monitoring and configuration."
|
||||
provides=('consul')
|
||||
conflicts=('consul')
|
||||
arch=('x86_64')
|
||||
url="https://developer.hashicorp.com/consul/docs/v1.16.x"
|
||||
license=('MPL2')
|
||||
depends=('glibc')
|
||||
makedepends=('go')
|
||||
source=("${pkgname}-${pkgver}.tar.gz::https://git.st8l.com/luxolus/${pkgname}/archive/${_commit}.tar.gz"
|
||||
'consul.service'
|
||||
'consul.default'
|
||||
'consul.sysusers'
|
||||
'example.json')
|
||||
install=consul.install
|
||||
backup=('etc/default/consul')
|
||||
sha512sums=('SKIP'
|
||||
'c70b9d1556f6c7ecb2e915ab685f289cef0e31198bd2e50c74a0483bbfb387beec67334f539a90adbf68b61b07946e98b300ab8a8e26e53b35f4ab4894adeb04'
|
||||
'ec5a800529a297c709fa383c094ecf106351cf0f8ac7b613b972d415d77fe001088902d7ab805e63e78a8e6360323fec1b795db5a4446df1e21b9b4ed31e7079'
|
||||
'ef872aedb2bc022a29292b7972a792b22e684c1ccb904a2b2cfec6d8966c28fb19be1452ce060821c419f1b646b236ba2e783175595e4bb6926d164c27a15c87'
|
||||
'c4292b8f56ee955ed7385a49843fd90d6434029891b3e1e724cb2fc841514c06e2554a26d3937c114371b18c2168c4e64319eb2cbd726ee8b35870df19089348')
|
||||
|
||||
export CGO_LDFLAGS="${LDFLAGS}"
|
||||
export CGO_CFLAGS="${CFLAGS}"
|
||||
export CGO_CPPFLAGS="${CPPFLAGS}"
|
||||
export CGO_CXXFLAGS="${CXXFLAGS}"
|
||||
|
||||
export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
|
||||
|
||||
export XC_OSARCH='linux/amd64'
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/${pkgname}"
|
||||
|
||||
mkdir -p build
|
||||
|
||||
local filename
|
||||
for filename in "${source[@]}"; do
|
||||
if [[ "$filename" =~ \.patch$ ]]; then
|
||||
patch -p1 -N -l -i "$srcdir/${filename##*/}"
|
||||
fi
|
||||
done
|
||||
|
||||
go mod download
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/${pkgname}"
|
||||
|
||||
go build -o build ./...
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "${srcdir}/${pkgname}"
|
||||
|
||||
# assert version number from commit hash matches pkgver metadata
|
||||
./build/consul --version | head -1 | grep -qF -- "v${pkgver}"
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/${pkgname}"
|
||||
|
||||
install -D -d -m750 -o 208 -g 208 "${pkgdir}/var/lib/consul"
|
||||
install -D -d -m750 -o 0 -g 208 "${pkgdir}/etc/consul.d"
|
||||
|
||||
install -D -m644 "${srcdir}/consul.default" "${pkgdir}/etc/default/consul"
|
||||
install -D -m644 -o 0 -g 0 "${srcdir}/example.json" "${pkgdir}/usr/share/doc/consul/config.example.json"
|
||||
install -Dm755 "build/consul" "${pkgdir}/usr/bin/consul"
|
||||
|
||||
install -Dm644 "${srcdir}/consul.service" "${pkgdir}/usr/lib/systemd/system/consul.service"
|
||||
install -Dm644 "${srcdir}/consul.sysusers" "${pkgdir}/usr/lib/sysusers.d/consul.conf"
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
|
@ -0,0 +1,31 @@
|
|||
diff -upr b/build-support/functions/20-build.sh c/build-support/functions/20-build.sh
|
||||
--- b/build-support/functions/20-build.sh 2020-03-04 10:15:04.066148196 +0100
|
||||
+++ c/build-support/functions/20-build.sh 2020-03-04 10:13:54.354670580 +0100
|
||||
@@ -458,7 +458,7 @@ function build_consul_local {
|
||||
if [ $os == "windows" ];then
|
||||
binname="consul.exe"
|
||||
fi
|
||||
- debug_run env CGO_ENABLED=0 GOOS=${os} GOARCH=${arch} go install -ldflags "${GOLDFLAGS}" -tags "${GOTAGS}" && cp "${MAIN_GOPATH}/bin/${GOBIN_EXTRA}${binname}" "${outdir}/${binname}"
|
||||
+ debug_run env 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}"
|
||||
diff -upr b/GNUmakefile c/GNUmakefile
|
||||
--- b/GNUmakefile 2020-03-04 10:14:46.245770467 +0100
|
||||
+++ c/GNUmakefile 2020-03-04 10:15:32.286746368 +0100
|
||||
@@ -17,6 +17,7 @@ MAIN_GOPATH=$(shell go env GOPATH | cut
|
||||
|
||||
ASSETFS_PATH?=agent/bindata_assetfs.go
|
||||
GOLDFLAGS=
|
||||
+EXTLDFLAGS := ${LDFLAGS}
|
||||
|
||||
PROTOFILES?=$(shell find . -name '*.proto' | grep -v 'vendor/')
|
||||
PROTOGOFILES=$(PROTOFILES:.proto=.pb.go)
|
||||
@@ -120,6 +121,7 @@ export GIT_DIRTY
|
||||
export GIT_DESCRIBE
|
||||
export GOTAGS
|
||||
export GOLDFLAGS
|
||||
+export EXTLDFLAGS
|
||||
|
||||
# Allow skipping docker build during integration tests in CI since we already
|
||||
# have a built binary
|
|
@ -0,0 +1 @@
|
|||
CONSUL_FLAGS=""
|
|
@ -0,0 +1,9 @@
|
|||
post_upgrade() {
|
||||
# improved permissions since 0.9.3-1
|
||||
if [ "$(vercmp "$2" "0.9.3")" -lt 0 ]; then
|
||||
chown 0:208 /etc/consul.d
|
||||
chmod 0750 /etc/consul.d
|
||||
echo -en "----\nThe directory permissions for /etc/consul.d/ have been fixed.\n----\n"
|
||||
fi
|
||||
true
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
[Unit]
|
||||
Description=Consul Agent
|
||||
Requires=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
User=consul
|
||||
Group=consul
|
||||
EnvironmentFile=-/etc/default/consul
|
||||
Restart=on-failure
|
||||
ExecStart=/usr/bin/consul agent $CONSUL_FLAGS -config-dir=/etc/consul.d
|
||||
ExecReload=/usr/bin/kill -HUP $MAINPID
|
||||
KillSignal=SIGINT
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -0,0 +1 @@
|
|||
u consul 208 - /var/lib/consul
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"data_dir": "/var/lib/consul",
|
||||
"disable_update_check": true,
|
||||
"log_level": "INFO",
|
||||
"node_name": "example.localdomain",
|
||||
"server": true
|
||||
}
|
|
@ -0,0 +1,75 @@
|
|||
--- a/version/version.go 2018-06-26 09:57:33.703932696 +0200
|
||||
+++ b/version/version.go 2018-06-26 09:59:05.986536238 +0200
|
||||
@@ -1,7 +1,6 @@
|
||||
package version
|
||||
|
||||
import (
|
||||
- "fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@@ -27,24 +26,6 @@ var (
|
||||
// for displaying to humans.
|
||||
func GetHumanVersion() string {
|
||||
version := Version
|
||||
- if GitDescribe != "" {
|
||||
- version = GitDescribe
|
||||
- }
|
||||
-
|
||||
- release := VersionPrerelease
|
||||
- if GitDescribe == "" && release == "" {
|
||||
- release = "dev"
|
||||
- }
|
||||
-
|
||||
- if release != "" {
|
||||
- if !strings.HasSuffix(version, "-"+release) {
|
||||
- // if we tagged a prerelease version then the release is in the version already
|
||||
- version += fmt.Sprintf("-%s", release)
|
||||
- }
|
||||
- if GitCommit != "" {
|
||||
- version += fmt.Sprintf(" (%s)", GitCommit)
|
||||
- }
|
||||
- }
|
||||
|
||||
// Strip off any single quotes added by the git information.
|
||||
return strings.Replace(version, "'", "", -1)
|
||||
--- a/GNUmakefile 2020-02-20 16:40:00.000000000 +0100
|
||||
+++ b/GNUmakefile 2020-03-04 09:48:52.279500949 +0100
|
||||
@@ -16,13 +16,7 @@ GOPATH=$(shell go env GOPATH)
|
||||
MAIN_GOPATH=$(shell go env GOPATH | cut -d: -f1)
|
||||
|
||||
ASSETFS_PATH?=agent/bindata_assetfs.go
|
||||
-# Get the git commit
|
||||
-GIT_COMMIT?=$(shell git rev-parse --short HEAD)
|
||||
-GIT_COMMIT_YEAR?=$(shell git show -s --format=%cd --date=format:%Y HEAD)
|
||||
-GIT_DIRTY?=$(shell test -n "`git status --porcelain`" && echo "+CHANGES" || true)
|
||||
-GIT_DESCRIBE?=$(shell git describe --tags --always --match "v*")
|
||||
-GIT_IMPORT=github.com/hashicorp/consul/version
|
||||
-GOLDFLAGS=-X $(GIT_IMPORT).GitCommit=$(GIT_COMMIT)$(GIT_DIRTY) -X $(GIT_IMPORT).GitDescribe=$(GIT_DESCRIBE)
|
||||
+GOLDFLAGS=
|
||||
|
||||
PROTOFILES?=$(shell find . -name '*.proto' | grep -v 'vendor/')
|
||||
PROTOGOFILES=$(PROTOFILES:.proto=.pb.go)
|
||||
@@ -348,16 +342,6 @@ tools:
|
||||
fi
|
||||
cd .gotools && go get -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
|
||||
|
||||
@@ -409,4 +393,4 @@ proto: $(PROTOGOFILES) $(PROTOGOBINFILES
|
||||
|
||||
.PHONY: all ci bin dev dist cov test test-ci test-internal cover format vet ui static-assets tools
|
||||
.PHONY: docker-images go-build-image ui-build-image static-assets-docker consul-docker ui-docker
|
||||
-.PHONY: version proto proto-rebuild proto-delete test-envoy-integ
|
||||
+.PHONY: proto proto-rebuild proto-delete test-envoy-integ
|
|
@ -0,0 +1,11 @@
|
|||
--- a/GNUmakefile 2020-02-20 16:40:00.000000000 +0100
|
||||
+++ b/GNUmakefile 2020-03-04 09:51:30.786193388 +0100
|
||||
@@ -212,7 +212,7 @@ cov: other-consul dev-build
|
||||
rm -f coverage.{sdk,api}.part
|
||||
go tool cover -html=coverage.out
|
||||
|
||||
-test: other-consul dev-build vet test-internal
|
||||
+test: other-consul dev-build test-internal
|
||||
|
||||
go-mod-tidy:
|
||||
@echo "--> Running go mod tidy"
|
|
@ -0,0 +1,54 @@
|
|||
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
|
||||
@@ -213,7 +213,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)
|
||||
|
||||
@@ -299,7 +298,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)
|
||||
@@ -438,7 +436,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)
|
||||
@@ -525,7 +522,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)
|
||||
@@ -566,7 +562,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
|
||||
@@ -870,7 +870,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)
|
Loading…
Reference in New Issue