pkgbuild: pkgver=1.14.8 pkgrel=1 (genesis)
This repo was forked from the upstream Archlinux vault package at
commit 9c53f44a13c0115422f2a20561aa5b22997dcb4a.
This was then modified to download from the open-vault source, and
refactored to use a global GOFLAGS, split dep downloads into prepare(),
and tidies the build() + package() functions.
References: https://gitlab.archlinux.org/archlinux/packaging/packages/vault
References: 9c53f44a13
This commit is contained in:
commit
19c23fdeed
30
.SRCINFO
Normal file
30
.SRCINFO
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
pkgbase = open-vault
|
||||||
|
pkgdesc = A tool for managing secrets
|
||||||
|
pkgver = 1.14.8
|
||||||
|
pkgrel = 1
|
||||||
|
url = https://developer.hashicorp.com/vault/docs/v1.14.x
|
||||||
|
install = vault.install
|
||||||
|
arch = x86_64
|
||||||
|
license = MPL2
|
||||||
|
makedepends = go
|
||||||
|
makedepends = git
|
||||||
|
makedepends = yarn
|
||||||
|
makedepends = bower
|
||||||
|
makedepends = nodejs-lts-iron
|
||||||
|
makedepends = npm
|
||||||
|
makedepends = zip
|
||||||
|
depends = glibc
|
||||||
|
provides = vault
|
||||||
|
conflicts = vault
|
||||||
|
backup = etc/vault.hcl
|
||||||
|
backup = etc/default/vault
|
||||||
|
source = open-vault-1.14.8.tar.gz::https://git.st8l.com/luxolus/open-vault/archive/9f12e0f892b27c5518a918b15c46133cfdd2dff5.tar.gz
|
||||||
|
source = vault.sysusers
|
||||||
|
source = vault.tmpfiles
|
||||||
|
source = vault.hcl
|
||||||
|
sha512sums = SKIP
|
||||||
|
sha512sums = 92616ccf83fa5ca9f8b0d022cf8ceb1f3549e12b66bf21d9f77f3eb26bd75ec1dc36c155948ec987c642067b85fbfc30a9217d6c503d952a402aa5ef63e50928
|
||||||
|
sha512sums = db327aae6f821ee1ea608abdb3fc82aeeae72ce873d78ada44461644add32afd6c0197019427734498bc28ae187b6f741a02196e40a620caab597e5eef32ca7a
|
||||||
|
sha512sums = 75d654ec4eadfe983f57951d470fff8b9eb953b42c08e7b6b3a1baaa0721fd7a9d5be37480b0e4f4fd8518f375348bdd8394848f0fb27cb1d425279acb67f693
|
||||||
|
|
||||||
|
pkgname = open-vault
|
89
.gitignore
vendored
Normal file
89
.gitignore
vendored
Normal file
|
@ -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-vault*
|
||||||
|
|
||||||
|
### 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
|
120
PKGBUILD
Normal file
120
PKGBUILD
Normal file
|
@ -0,0 +1,120 @@
|
||||||
|
# Maintainer: Paul Stemmet <aur@luxolus.com>
|
||||||
|
# Contributor: Christian Rebischke <Chris.Rebischke@archlinux.org>
|
||||||
|
# Contributor: Justin Kromlinger <hashworks@archlinux.org>
|
||||||
|
# Contributor: Tim Meusel <tim@bastelfreak.de>
|
||||||
|
# Contributor: Sebastian Rakel <sebastian@devunit.eu>
|
||||||
|
# Contributor: Andrew Tyler <assimilat@gmail.com>
|
||||||
|
|
||||||
|
pkgname=open-vault
|
||||||
|
_commit='9f12e0f892b27c5518a918b15c46133cfdd2dff5'
|
||||||
|
pkgver=1.14.8
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc='A tool for managing secrets'
|
||||||
|
provides=('vault')
|
||||||
|
conflicts=('vault')
|
||||||
|
arch=('x86_64')
|
||||||
|
url="https://developer.hashicorp.com/vault/docs/v1.14.x"
|
||||||
|
license=('MPL2')
|
||||||
|
depends=('glibc')
|
||||||
|
makedepends=('go' 'git' 'yarn' 'bower' 'nodejs-lts-iron' 'npm' 'zip')
|
||||||
|
install=vault.install
|
||||||
|
backup=('etc/vault.hcl' 'etc/default/vault')
|
||||||
|
source=("${pkgname}-${pkgver}.tar.gz::https://git.st8l.com/luxolus/${pkgname}/archive/${_commit}.tar.gz"
|
||||||
|
'vault.sysusers'
|
||||||
|
'vault.tmpfiles'
|
||||||
|
'vault.hcl')
|
||||||
|
sha512sums=('SKIP'
|
||||||
|
'92616ccf83fa5ca9f8b0d022cf8ceb1f3549e12b66bf21d9f77f3eb26bd75ec1dc36c155948ec987c642067b85fbfc30a9217d6c503d952a402aa5ef63e50928'
|
||||||
|
'db327aae6f821ee1ea608abdb3fc82aeeae72ce873d78ada44461644add32afd6c0197019427734498bc28ae187b6f741a02196e40a620caab597e5eef32ca7a'
|
||||||
|
'75d654ec4eadfe983f57951d470fff8b9eb953b42c08e7b6b3a1baaa0721fd7a9d5be37480b0e4f4fd8518f375348bdd8394848f0fb27cb1d425279acb67f693')
|
||||||
|
|
||||||
|
export CGO_CPPFLAGS="${CPPFLAGS}"
|
||||||
|
export CGO_CFLAGS="${CFLAGS}"
|
||||||
|
export CGO_CXXFLAGS="${CXXFLAGS}"
|
||||||
|
export CGO_LDFLAGS="${LDFLAGS}"
|
||||||
|
|
||||||
|
export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw"
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
cd "${srcdir}/${pkgname}"
|
||||||
|
|
||||||
|
mkdir -p http/web_ui bin dist
|
||||||
|
|
||||||
|
local filename
|
||||||
|
for filename in "${source[@]}"; do
|
||||||
|
if [[ "$filename" =~ \.patch$ ]]; then
|
||||||
|
patch -p1 -N -l -i "$srcdir/${filename##*/}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
sed -i \
|
||||||
|
's|/etc/vault.d/vault.hcl|/etc/vault.hcl|g' \
|
||||||
|
.release/linux/package/usr/lib/systemd/system/vault.service
|
||||||
|
sed -i \
|
||||||
|
's|/etc/vault.d/vault.env|/etc/default/vault|g' \
|
||||||
|
.release/linux/package/usr/lib/systemd/system/vault.service
|
||||||
|
|
||||||
|
# Vault UI
|
||||||
|
(
|
||||||
|
cd "ui"
|
||||||
|
|
||||||
|
yarn install
|
||||||
|
)
|
||||||
|
|
||||||
|
# Vault service
|
||||||
|
(
|
||||||
|
go mod download
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "${srcdir}/${pkgname}"
|
||||||
|
|
||||||
|
# Vault UI
|
||||||
|
(
|
||||||
|
cd "ui"
|
||||||
|
|
||||||
|
npm rebuild node-sass ; yarn run build
|
||||||
|
)
|
||||||
|
|
||||||
|
# Vault service
|
||||||
|
(
|
||||||
|
local _flags=github.com/hashicorp/vault/sdk/version
|
||||||
|
local _ldflags=(
|
||||||
|
"-linkmode=external"
|
||||||
|
"-compressdwarf=false"
|
||||||
|
$(
|
||||||
|
printf -- "-X ${_flags}.%s " \
|
||||||
|
"Version=${pkgver}" \
|
||||||
|
"GitCommit=${_commit}" \
|
||||||
|
"BuildDate=$(date -u '+%Y-%m-%dT%H:%M:%SZ')"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
go build -tags ui -ldflags "${_ldflags[*]}" -o dist .
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "${srcdir}/${pkgname}"
|
||||||
|
|
||||||
|
local file release='.release/linux/package'
|
||||||
|
|
||||||
|
# configuration
|
||||||
|
install -Dm644 "${srcdir}/vault.hcl" "${pkgdir}/etc/vault.hcl"
|
||||||
|
install -Dm644 "${srcdir}/vault.sysusers" "${pkgdir}/usr/lib/sysusers.d/vault.conf"
|
||||||
|
install -Dm644 "${srcdir}/vault.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/vault.conf"
|
||||||
|
install -Dm644 \
|
||||||
|
"$release/etc/vault.d/vault.env" "${pkgdir}/etc/default/vault"
|
||||||
|
install -Dm644 \
|
||||||
|
"$release/usr/lib/systemd/system/vault.service" "${pkgdir}/usr/lib/systemd/system/vault.service"
|
||||||
|
|
||||||
|
install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
||||||
|
|
||||||
|
for file in 'README.md' 'CHANGELOG.md'; do
|
||||||
|
install -Dm644 "${file}" "${pkgdir}/usr/share/doc/${pkgname}/${file}"
|
||||||
|
done
|
||||||
|
|
||||||
|
# binaries
|
||||||
|
install -Dm755 "dist/vault" "${pkgdir}/usr/bin/vault"
|
||||||
|
}
|
50
vault.hcl
Normal file
50
vault.hcl
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
# Copyright (c) HashiCorp, Inc.
|
||||||
|
# SPDX-License-Identifier: MPL-2.0
|
||||||
|
|
||||||
|
# Full configuration options can be found at https://www.vaultproject.io/docs/configuration
|
||||||
|
|
||||||
|
ui = true
|
||||||
|
|
||||||
|
#mlock = true
|
||||||
|
#disable_mlock = true
|
||||||
|
|
||||||
|
storage "file" {
|
||||||
|
path = "/var/lib/vault"
|
||||||
|
}
|
||||||
|
|
||||||
|
#storage "consul" {
|
||||||
|
# address = "127.0.0.1:8500"
|
||||||
|
# path = "vault"
|
||||||
|
#}
|
||||||
|
|
||||||
|
# HTTP listener
|
||||||
|
listener "tcp" {
|
||||||
|
address = "127.0.0.1:8200"
|
||||||
|
tls_disable = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# HTTPS listener
|
||||||
|
#listener "tcp" {
|
||||||
|
# address = "0.0.0.0:8200"
|
||||||
|
# tls_cert_file = "/var/lib/vault/tls/tls.crt"
|
||||||
|
# tls_key_file = "/var/lib/vault/tls/tls.key"
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Enterprise license_path
|
||||||
|
# This will be required for enterprise as of v1.8
|
||||||
|
#license_path = "/etc/vault.hclic"
|
||||||
|
|
||||||
|
# Example AWS KMS auto unseal
|
||||||
|
#seal "awskms" {
|
||||||
|
# region = "us-east-1"
|
||||||
|
# kms_key_id = "REPLACE-ME"
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Example HSM auto unseal
|
||||||
|
#seal "pkcs11" {
|
||||||
|
# lib = "/usr/vault/lib/libCryptoki2_64.so"
|
||||||
|
# slot = "0"
|
||||||
|
# pin = "AAAA-BBBB-CCCC-DDDD"
|
||||||
|
# key_label = "vault-hsm-key"
|
||||||
|
# hmac_key_label = "vault-hsm-hmac-key"
|
||||||
|
#}
|
9
vault.install
Normal file
9
vault.install
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# vim: ft=sh ts=4 sw=4 et
|
||||||
|
|
||||||
|
post_install () {
|
||||||
|
setcap cap_ipc_lock=+ep /usr/bin/vault
|
||||||
|
}
|
||||||
|
|
||||||
|
post_upgrade () {
|
||||||
|
setcap cap_ipc_lock=+ep /usr/bin/vault
|
||||||
|
}
|
1
vault.sysusers
Normal file
1
vault.sysusers
Normal file
|
@ -0,0 +1 @@
|
||||||
|
u vault - "Vault daemon" /var/lib/vault
|
1
vault.tmpfiles
Normal file
1
vault.tmpfiles
Normal file
|
@ -0,0 +1 @@
|
||||||
|
d /var/lib/vault 0750 vault vault - -
|
Loading…
Reference in a new issue