Patches for aports can be sent to this list

2

Re: [alpine-aports] [PATCH] testing/vault: new aport

Francesco Colista
Details
Message ID
<6a965971c601994f6ffc6434074734f8@bsod.eu>
Sender timestamp
1441616214
DKIM signature
missing
Download raw message
Il 2015-08-13 23:47 Christian Kampka ha scritto:
> https://www.vaultproject.io
> Vault is a tool for securely accessing secrets. A secret is anything
> that you want to tightly control access to, such as API keys, 
> passwords,
> certificates, and more. Vault provides a unified interface to any
> secret, while providing tight access control and recording a detailed
> audit log.
> ---
>  testing/vault/APKBUILD    | 100 +++++++++++++++++++++
>  testing/vault/Godeps.json | 221 
> ++++++++++++++++++++++++++++++++++++++++++++++
>  testing/vault/vault.confd |   1 +
>  testing/vault/vault.hcl   |  15 ++++
>  testing/vault/vault.initd |  33 +++++++
>  5 files changed, 370 insertions(+)
>  create mode 100644 testing/vault/APKBUILD
>  create mode 100644 testing/vault/Godeps.json
>  create mode 100644 testing/vault/vault.confd
>  create mode 100644 testing/vault/vault.hcl
>  create mode 100644 testing/vault/vault.initd
> 

Hi Christian.
Thanks for this patch.
It does apply correctly, but package does not build.
snapshot function fails:


buildlab-edge:~/aports/testing/vault$ abuild snapshot
>>> vault: Cleaning temporary build dirs...
(1/3) Installing go (1.5-r0)
(2/3) Installing godep (0_git20140825-r1)
(3/3) Installing .makedepends-vault (0)
Executing busybox-1.23.2-r9.trigger
OK: 732 MiB in 132 packages
   % Total    % Received % Xferd  Average Speed   Time    Time     Time  
Current
                                  Dload  Upload   Total   Spent    Left  
Speed
   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:-- 
     0curl: (22) The requested URL returned error: 404 Not Found
>>> ERROR: vault: fetch failed
>>> vault: Checking out v0.2.0 tag
Note: checking out '358a3c28815f96f4996ce516795a0cd3673075de'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in 
this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. 
Example:

   git checkout -b <new-branch-name>

install: can't stat 
'/home/fcolista/aports/testing/vault/src/Godeps.json': No such file or 
directory

You can try to fix this apkbuild by using the build-it "snapshot" 
function of abuild rather than implementing you that function (if it is 
possible).
An example can be found with main/atheme-iris package.
Thanks.

-- 
:: Francesco Colista
:: Alpine Linux Infrstraucture
:: http://www.alpinelinux.org


---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---

[alpine-aports] [PATCH] testing/vault: new aport

Christian Kampka
Details
Message ID
<1442659065-29656-1-git-send-email-christian@kampka.net>
In-Reply-To
<6a965971c601994f6ffc6434074734f8@bsod.eu> (view parent)
Sender timestamp
1442659064
DKIM signature
missing
Download raw message

Hi Francesco,

I have fixed the patch, it should now produce a propper snapshot.
Testing it is always a bit tricky without access to dev.alpinelinux.org

As for the builtin snapshot function, it cannot (to my knowledge) handle go dependencies using Godeps.
Therefore, I implement a specific snapshot function for go packages.

Cheers,
Christian


---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---

[alpine-aports] [PATCH] testing/vault: new aport

Christian Kampka
Details
Message ID
<1442659065-29656-2-git-send-email-christian@kampka.net>
In-Reply-To
<1442659065-29656-1-git-send-email-christian@kampka.net> (view parent)
Sender timestamp
1442659065
DKIM signature
missing
Download raw message
Patch: +369 -0
https://www.vaultproject.io
Vault is a tool for securely accessing secrets. A secret is anything
that you want to tightly control access to, such as API keys, passwords,
certificates, and more. Vault provides a unified interface to any
secret, while providing tight access control and recording a detailed
audit log.
---
 testing/vault/APKBUILD    |  99 +++++++++++++++++++++
 testing/vault/Godeps.json | 221 ++++++++++++++++++++++++++++++++++++++++++++++
 testing/vault/vault.confd |   1 +
 testing/vault/vault.hcl   |  15 ++++
 testing/vault/vault.initd |  33 +++++++
 5 files changed, 369 insertions(+)
 create mode 100644 testing/vault/APKBUILD
 create mode 100644 testing/vault/Godeps.json
 create mode 100644 testing/vault/vault.confd
 create mode 100644 testing/vault/vault.hcl
 create mode 100644 testing/vault/vault.initd

diff --git a/testing/vault/APKBUILD b/testing/vault/APKBUILD
new file mode 100644
index 0000000..15e47df
--- /dev/null
+++ b/testing/vault/APKBUILD
@@ -0,0 +1,99 @@
+# Contributor: Christian Kampka <christian@kampka.net>
+# Maintainer:
+pkgname=vault
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="Vault is a tool for securely accessing secrets."
+url="https://www.vaultproject.io/"
+arch="all"
+license="MPL 2.0"
+depends=""
+depends_dev=""
+makedepends="go godep $depends_dev"
+#install="$pkgname.pre-install $pkgname.pre-deinstall $pkgname.post-deinstall"
+pkgusers="vault"
+pkggroups="vault"
+subpackages=""
+options="!strip"
+source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.gz
+  Godeps.json
+  vault.confd
+  vault.hcl
+  vault.initd"
+
+prepare() {
+  cd "${_builddir}"
+  local i
+  for i in $source; do
+    case $i in
+      *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+    esac
+  done
+}
+
+_disturl="dev.alpinelinux.org:/archive/$pkgname/"
+_gourl="github.com/hashicorp/vault"
+_builddir="${srcdir}/vault"
+
+snapshot() {
+  abuild clean
+  abuild deps
+
+  export GOPATH="${_builddir}"
+  mkdir -p $_builddir
+  cd "$srcdir"
+
+  msg "Checking out v${pkgver} tag"
+  git clone -q --branch v${pkgver} https://$_gourl || return 1
+
+  cd ${_builddir}
+  # use custom godeps file
+
+  install -D "$startdir"/Godeps.json \
+		$_builddir/Godeps/Godeps.json || return 1
+
+  #go get -v -d || return 1
+  godep restore || return 1
+
+  cd "$srcdir"
+  tar zcf $pkgname-$pkgver.tar.gz vault || return 1
+  rsync --progress -La $pkgname-$pkgver.tar.gz \
+    $_disturl || return 1
+  cd $startdir && abuild undeps
+}
+
+build() {
+  cd "$_builddir" || return 1
+  export GOPATH="${_builddir}"
+  mkdir -p "${_builddir}/src/github.com/hashicorp"
+  ln -s "${_builddir}" "${_builddir}/src/github.com/hashicorp/vault"
+  go build -x -v -o bin/${pkgname} || return 1
+}
+
+package() {
+  cd "$_builddir"
+  install -m755 -D "${srcdir}/${pkgname}.initd" \
+  "${pkgdir}/etc/init.d/${pkgname}" || return 1
+  install -m644 -D "${srcdir}/${pkgname}.confd" \
+  "${pkgdir}/etc/conf.d/$pkgname" || return 1
+  install -m750 -o root -g vault \
+  -D "${_builddir}/bin/${pkgname}" \
+  "${pkgdir}/usr/sbin/${pkgname}" || return 1
+  install -m750 -o vault -g vault -d "$pkgdir/var/lib/${pkgname}" || return 1
+  install -m750 -o root -g vault -D "$srcdir/${pkgname}.hcl" "$pkgdir/etc/${pkgname}.hcl" || return 1
+}
+md5sums="643de042da4583a16e9d5ecd0c7fffea  vault-0.2.0.tar.gz
+c7c60a8240345c248e72a57030239b03  Godeps.json
+2148a788620484be07e1e24feb1cbd34  vault.confd
+1f7802f479024809856e3be2e44a1b19  vault.hcl
+8b75990815b758db94f400de001cbc81  vault.initd"
+sha256sums="92502d43a10a0903c9d1add944dde2c36ba3af09e20e4bd6e0e3648313a7eab7  vault-0.2.0.tar.gz
+3ce579dfe7f7dc2a0519f835e55c85d314b1f90e5d74b29cc2966b6b0534a0d7  Godeps.json
+f197536bc5bf4531072c0a5cb17627bf01abd188b0cc2005e0ff1768e6143d32  vault.confd
+cacbd75cbaccf1034cd21d3015797cf0c1c1ce9c7e7ef7c1e4db4b54b92fe696  vault.hcl
+cdbeba798d2b06a178e9c6eb638ff88c4f1c21eaa6c8881a87fac679c8e7c46e  vault.initd"
+sha512sums="9417147e2e271dcd5d96176095d62666538f21981dc22d8353a864e8a2eee368067d1ae761bb3955d0fa30dcfdaa93b5d6b5c4d8267028d3fb7a422eb417bfa6  vault-0.2.0.tar.gz
+6092da41eeda3c3fb1766e310fa7ac73b26fcc34cf2b9a51574387eb1137d4e8322631a05b5d75bdc96b15f1d08da2bf98d299856a76ebe92e40d89743288f49  Godeps.json
+6f3f30e5c9d9dd5117f18fce0e669f0cd752a6be4910405d6b394f15273372731ee887a5ba4c700293e5b8bc2bf40fd69d4337156f77b03549d2dc2c0a666bec  vault.confd
+8c064aa5dcca84822c1fa85e9d0ff520df46f794b2e9c689a9b4f81f74279387b3aebc08b3ca26cf786c2fcf1a330e765bf5a511074c24f87e5346672346ba1c  vault.hcl
+038f5fd0b7bc84bd8be82a1cb8ac7a5357319bdb77e07936b4072fcb00a30add1cb3744f3a333d2a8b860c821aab0d88249033f61d2a2125de6bb6b2a4c9aef6  vault.initd"
diff --git a/testing/vault/Godeps.json b/testing/vault/Godeps.json
new file mode 100644
index 0000000..7dcdc3f
--- /dev/null
+++ b/testing/vault/Godeps.json
@@ -0,0 +1,221 @@
+{
+	"ImportPath": "github.com/hashicorp/vault",
+	"GoVersion": "go1.4.2",
+	"Packages": [
+		"."
+	],
+	"Deps": [
+		{
+			"ImportPath": "github.com/armon/go-metrics",
+			"Rev": "b2d95e5291cdbc26997d1301a5e467ecbb240e25"
+		},
+		{
+			"ImportPath": "github.com/armon/go-radix",
+			"Rev": "fbd82e84e2b13651f3abc5ffd26b65ba71bc8f93"
+		},
+		{
+			"ImportPath": "github.com/aws/aws-sdk-go/aws",
+			"Comment": "v0.6.4-5-g127313c",
+			"Rev": "127313c1b41e534a0456a68b6b3a16712dacb35d"
+		},
+		{
+			"ImportPath": "github.com/aws/aws-sdk-go/internal/endpoints",
+			"Comment": "v0.6.4-5-g127313c",
+			"Rev": "127313c1b41e534a0456a68b6b3a16712dacb35d"
+		},
+		{
+			"ImportPath": "github.com/aws/aws-sdk-go/internal/protocol/query",
+			"Comment": "v0.6.4-5-g127313c",
+			"Rev": "127313c1b41e534a0456a68b6b3a16712dacb35d"
+		},
+		{
+			"ImportPath": "github.com/aws/aws-sdk-go/internal/protocol/rest",
+			"Comment": "v0.6.4-5-g127313c",
+			"Rev": "127313c1b41e534a0456a68b6b3a16712dacb35d"
+		},
+		{
+			"ImportPath": "github.com/aws/aws-sdk-go/internal/protocol/restxml",
+			"Comment": "v0.6.4-5-g127313c",
+			"Rev": "127313c1b41e534a0456a68b6b3a16712dacb35d"
+		},
+		{
+			"ImportPath": "github.com/aws/aws-sdk-go/internal/protocol/xml/xmlutil",
+			"Comment": "v0.6.4-5-g127313c",
+			"Rev": "127313c1b41e534a0456a68b6b3a16712dacb35d"
+		},
+		{
+			"ImportPath": "github.com/aws/aws-sdk-go/internal/signer/v4",
+			"Comment": "v0.6.4-5-g127313c",
+			"Rev": "127313c1b41e534a0456a68b6b3a16712dacb35d"
+		},
+		{
+			"ImportPath": "github.com/aws/aws-sdk-go/service/s3",
+			"Comment": "v0.6.4-5-g127313c",
+			"Rev": "127313c1b41e534a0456a68b6b3a16712dacb35d"
+		},
+		{
+			"ImportPath": "github.com/coreos/go-etcd/etcd",
+			"Comment": "v2.0.0-18-gc904d70",
+			"Rev": "c904d7032a70da6551c43929f199244f6a45f4c1"
+		},
+		{
+			"ImportPath": "github.com/fatih/structs",
+			"Rev": "a9f7daa9c2729e97450c2da2feda19130a367d8f"
+		},
+		{
+			"ImportPath": "github.com/go-ldap/ldap",
+			"Comment": "v1-14-g406aa05",
+			"Rev": "406aa05eb8272fb8aa201e410afa6f9fdcb2bf68"
+		},
+		{
+			"ImportPath": "github.com/go-sql-driver/mysql",
+			"Comment": "v1.2-112-gfb72997",
+			"Rev": "fb7299726d2e68745a8805b14f2ff44b5c2cfa84"
+		},
+		{
+			"ImportPath": "github.com/gocql/gocql",
+			"Comment": "1st_gen_framing-187-g80e812a",
+			"Rev": "80e812acf0ab386dd34271acc10d22514c0a67ba"
+		},
+		{
+			"ImportPath": "github.com/golang/groupcache/lru",
+			"Rev": "604ed5785183e59ae2789449d89e73f3a2a77987"
+		},
+		{
+			"ImportPath": "github.com/golang/snappy",
+			"Rev": "eaa750b9bf4dcb7cb20454be850613b66cda3273"
+		},
+		{
+			"ImportPath": "github.com/google/go-github/github",
+			"Rev": "fccd5bb66f985db0a0d150342ca0a9529a23488a"
+		},
+		{
+			"ImportPath": "github.com/google/go-querystring/query",
+			"Rev": "547ef5ac979778feb2f760cdb5f4eae1a2207b86"
+		},
+		{
+			"ImportPath": "github.com/hashicorp/aws-sdk-go/aws",
+			"Comment": "tf0.4.0-3-ge6ea019",
+			"Rev": "e6ea0192eee4640f32ec73c0cbb71f63e4f2b65a"
+		},
+		{
+			"ImportPath": "github.com/hashicorp/aws-sdk-go/gen/ec2",
+			"Comment": "tf0.4.0-3-ge6ea019",
+			"Rev": "e6ea0192eee4640f32ec73c0cbb71f63e4f2b65a"
+		},
+		{
+			"ImportPath": "github.com/hashicorp/aws-sdk-go/gen/endpoints",
+			"Comment": "tf0.4.0-3-ge6ea019",
+			"Rev": "e6ea0192eee4640f32ec73c0cbb71f63e4f2b65a"
+		},
+		{
+			"ImportPath": "github.com/hashicorp/aws-sdk-go/gen/iam",
+			"Comment": "tf0.4.0-3-ge6ea019",
+			"Rev": "e6ea0192eee4640f32ec73c0cbb71f63e4f2b65a"
+		},
+		{
+			"ImportPath": "github.com/hashicorp/consul/api",
+			"Comment": "v0.5.2-144-g2783f2b",
+			"Rev": "2783f2bfec1823362602924f5cd3c894743dca08"
+		},
+		{
+			"ImportPath": "github.com/hashicorp/errwrap",
+			"Rev": "7554cd9344cec97297fa6649b055a8c98c2a1e55"
+		},
+		{
+			"ImportPath": "github.com/hashicorp/go-multierror",
+			"Rev": "56912fb08d85084aa318edcf2bba735b97cf35c5"
+		},
+		{
+			"ImportPath": "github.com/hashicorp/go-syslog",
+			"Rev": "42a2b573b664dbf281bd48c3cc12c086b17a39ba"
+		},
+		{
+			"ImportPath": "github.com/hashicorp/golang-lru",
+			"Rev": "995efda3e073b6946b175ed93901d729ad47466a"
+		},
+		{
+			"ImportPath": "github.com/hashicorp/hcl",
+			"Rev": "54864211433d45cb780682431585b3e573b49e4a"
+		},
+		{
+			"ImportPath": "github.com/hashicorp/logutils",
+			"Rev": "0dc08b1671f34c4250ce212759ebd880f743d883"
+		},
+		{
+			"ImportPath": "github.com/kardianos/osext",
+			"Rev": "6e7f843663477789fac7c02def0d0909e969b4e5"
+		},
+		{
+			"ImportPath": "github.com/lib/pq",
+			"Comment": "go1.0-cutoff-51-ga8d8d01",
+			"Rev": "a8d8d01c4f91602f876bf5aa210274e8203a6b45"
+		},
+		{
+			"ImportPath": "github.com/mitchellh/cli",
+			"Rev": "8102d0ed5ea2709ade1243798785888175f6e415"
+		},
+		{
+			"ImportPath": "github.com/mitchellh/copystructure",
+			"Rev": "6fc66267e9da7d155a9d3bd489e00dad02666dc6"
+		},
+		{
+			"ImportPath": "github.com/mitchellh/go-homedir",
+			"Rev": "1f6da4a72e57d4e7edd4a7295a585e0a3999a2d4"
+		},
+		{
+			"ImportPath": "github.com/mitchellh/mapstructure",
+			"Rev": "2caf8efc93669b6c43e0441cdc6aed17546c96f3"
+		},
+		{
+			"ImportPath": "github.com/mitchellh/reflectwalk",
+			"Rev": "eecf4c70c626c7cfbb95c90195bc34d386c74ac6"
+		},
+		{
+			"ImportPath": "github.com/ryanuber/columnize",
+			"Comment": "v2.0.1-6-g44cb478",
+			"Rev": "44cb4788b2ec3c3d158dd3d1b50aba7d66f4b59a"
+		},
+		{
+			"ImportPath": "github.com/samuel/go-zookeeper/zk",
+			"Rev": "c86eba8e7e95efab81f6c0455332e49d39aed12f"
+		},
+		{
+			"ImportPath": "github.com/ugorji/go/codec",
+			"Rev": "821cda7e48749cacf7cad2c6ed01e96457ca7e9d"
+		},
+		{
+			"ImportPath": "github.com/vaughan0/go-ini",
+			"Rev": "a98ad7ee00ec53921f08832bc06ecf7fd600e6a1"
+		},
+		{
+			"ImportPath": "golang.org/x/crypto/bcrypt",
+			"Rev": "cc04154d65fb9296747569b107cfd05380b1ea3e"
+		},
+		{
+			"ImportPath": "golang.org/x/crypto/blowfish",
+			"Rev": "cc04154d65fb9296747569b107cfd05380b1ea3e"
+		},
+		{
+			"ImportPath": "golang.org/x/crypto/ssh/terminal",
+			"Rev": "cc04154d65fb9296747569b107cfd05380b1ea3e"
+		},
+		{
+			"ImportPath": "golang.org/x/net/context",
+			"Rev": "d9558e5c97f85372afee28cf2b6059d7d3818919"
+		},
+		{
+			"ImportPath": "golang.org/x/oauth2",
+			"Rev": "b5adcc2dcdf009d0391547edc6ecbaff889f5bb9"
+		},
+		{
+			"ImportPath": "gopkg.in/asn1-ber.v1",
+			"Comment": "v1",
+			"Rev": "9eae18c3681ae3d3c677ac2b80a8fe57de45fc09"
+		},
+		{
+			"ImportPath": "speter.net/go/exp/math/dec/inf",
+			"Rev": "42ca6cd68aa922bc3f32f1e056e61b65945d9ad7"
+		}
+	]
+}
diff --git a/testing/vault/vault.confd b/testing/vault/vault.confd
new file mode 100644
index 0000000..79bf72f
--- /dev/null
+++ b/testing/vault/vault.confd
@@ -0,0 +1 @@
+vault_opts="server -config=/etc/vault.hcl"
diff --git a/testing/vault/vault.hcl b/testing/vault/vault.hcl
new file mode 100644
index 0000000..b74da5e
--- /dev/null
+++ b/testing/vault/vault.hcl
@@ -0,0 +1,15 @@
+/*
+ * Vault configuration. See: https://vaultproject.io/docs/config/
+ */
+
+backend "file" {
+	path = "/var/lib/vault"
+}
+
+listener "tcp" {
+	/*
+	 * By default Vault listens on localhost only.
+	 * Make sure to enable TLS support otherwise.
+	 */
+	tls_disable = 1
+}
diff --git a/testing/vault/vault.initd b/testing/vault/vault.initd
new file mode 100644
index 0000000..f539db7
--- /dev/null
+++ b/testing/vault/vault.initd
@@ -0,0 +1,33 @@
+#!/sbin/openrc-run
+
+name=vault
+daemon=/usr/sbin/$name
+daemon_user=$name
+daemon_group=$name
+pidfile="/run/${name}.pid"
+
+depend() {
+        need net
+        after firewall
+}
+
+start() {
+
+        checkpath -f -m 0644 -o "${daemon_user}":"${daemon_group}" "$pidfile"
+
+        ebegin "Starting ${name}"
+                start-stop-daemon --start --quiet \
+                        -m --pidfile "$pidfile" \
+                        --user ${daemon_user} --group ${daemon_group} \
+                        -b -1 /dev/null -2 /dev/null \
+                        -k 027 --exec ${daemon} -- ${vault_opts}
+        eend $?
+}
+
+stop() {
+        ebegin "Stopping ${name}"
+                start-stop-daemon --stop --quiet \
+                        --pidfile "$pidfile" \
+                        --exec ${daemon}
+        eend $?
+}
-- 
2.5.1



---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---