This thread contains a patchset. You're looking at the original emails,
but you may wish to use the patch review UI.
Review patch
3
2
[PATCH v4] testing/tlsrouter: new aport
set prepare in the chronological order like leo suggested: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/24423#note_176100
---
testing/tlsrouter/APKBUILD | 52 +++++++++++++++++++++++++
testing/tlsrouter/go.mod | 5 +++
testing/tlsrouter/go.sum | 2 +
testing/tlsrouter/tlsrouter.confd | 3 ++
testing/tlsrouter/tlsrouter.initd | 14 +++++++
testing/tlsrouter/tlsrouter.pre-install | 8 ++++
6 files changed, 84 insertions(+)
create mode 100644 testing/tlsrouter/APKBUILD
create mode 100644 testing/tlsrouter/go.mod
create mode 100644 testing/tlsrouter/go.sum
create mode 100644 testing/tlsrouter/tlsrouter.confd
create mode 100644 testing/tlsrouter/tlsrouter.initd
create mode 100644 testing/tlsrouter/tlsrouter.pre-install
diff --git a/testing/tlsrouter/APKBUILD b/testing/tlsrouter/APKBUILD
new file mode 100644
index 0000000000..9383ff46a2
--- /dev/null
+++ b/testing/tlsrouter/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Marvin Preuss <marvin@xsteadfastx.org>
+# Maintainer: Marvin Preuss <marvin@xsteadfastx.org>
+pkgname=tlsrouter
+pkgver=0_git20210817
+pkgrel=0
+_short_commit=b6bb9b5
+pkgdesc="tls proxy that routes connections to backends based on tls sni"
+url="https://github.com/inetaf/tcpproxy/tree/master/cmd/tlsrouter"
+arch="all"
+license="Apache-2.0"
+options="!check" # some tests are failing
+makedepends="go libcap"
+subpackages="$pkgname-openrc"
+install="$pkgname.pre-install"
+source="tlsrouter-$pkgver.tar.gz::https://github.com/inetaf/tcpproxy/tarball/$_short_commit
+ $pkgname.initd
+ $pkgname.confd
+ go.mod
+ go.sum
+ "
+builddir="$srcdir/inetaf-tcpproxy-$_short_commit/cmd/tlsrouter"
+
+export GOFLAGS="$GOFLAGS -modcacherw"
+
+prepare() {
+ default_prepare
+ cp "$srcdir/go.mod" "$builddir"
+ cp "$srcdir/go.sum" "$builddir"
+}
+
+build() {
+ go build .
+}
+
+package() {
+ install -Dm755 "$builddir/$pkgname" "$pkgdir/usr/bin/$pkgname"
+
+ install -Dm755 "$srcdir/$pkgname.initd" \
+ "$pkgdir/etc/init.d/$pkgname"
+
+ install -Dm644 "$srcdir/$pkgname.confd" \
+ "$pkgdir/etc/conf.d/$pkgname"
+
+ setcap cap_net_bind_service=+ep "$pkgdir/usr/bin/$pkgname"
+}
+sha512sums="
+668dff16cdd7078b2fa1e363743ff642ef5e4bff20a7f320d855b6db8e69fd70b940875251950ec332ada8d1d4eb79649c30729fdf8a501e4fb5d8abc456de10 tlsrouter-0_git20210817.tar.gz
+495b26eaba88b57f4e363b7e89e302ba73c89a38f69c3c299ba4dd3531e5a2231c92b90c11d79a0199fbe602059c43ad52ae3d6cdfe532b350a884a90b21983e tlsrouter.initd
+7dde09a46fa706fc7ef511c034bd8e1cb58a29d55320cc5fae9fdd6a5dc053948cb28ef76f1f8893edd656a3b99dd222a54f660b12a220011fcb949c1f64874c tlsrouter.confd
+aa271f389bb13defd50234623e03ae4246db5a3c5fc81fa40f02f277b9cec1b463e61bd44151ffbfae5f579087d89da9d91cf2e54db8a011c0e3c6bb46933aae go.mod
+c9c7f86b7810aa098cc8dd5137502ec7683dc8141db07bc1dc0977b55f56adc2205219b76af96805a2d4ab7817a32f09f85df117e0179460a22a268f11f0e68c go.sum
+"
diff --git a/testing/tlsrouter/go.mod b/testing/tlsrouter/go.mod
new file mode 100644
index 0000000000..1aac78ca5b
--- /dev/null
+++ b/testing/tlsrouter/go.mod
@@ -0,0 +1,5 @@
+module tlsrouter
+
+go 1.16
+
+require github.com/armon/go-proxyproto v0.0.0-20210323213023-7e956b284f0a
diff --git a/testing/tlsrouter/go.sum b/testing/tlsrouter/go.sum
new file mode 100644
index 0000000000..de51fb1c3d
--- /dev/null
+++ b/testing/tlsrouter/go.sum
@@ -0,0 +1,2 @@
+github.com/armon/go-proxyproto v0.0.0-20210323213023-7e956b284f0a h1:AP/vsCIvJZ129pdm9Ek7bH7yutN3hByqsMoNrWAxRQc=
+github.com/armon/go-proxyproto v0.0.0-20210323213023-7e956b284f0a/go.mod h1:QmP9hvJ91BbJmGVGSbutW19IC0Q9phDCLGaomwTJbgU=
diff --git a/testing/tlsrouter/tlsrouter.confd b/testing/tlsrouter/tlsrouter.confd
new file mode 100644
index 0000000000..3332390b62
--- /dev/null
+++ b/testing/tlsrouter/tlsrouter.confd
@@ -0,0 +1,3 @@
+# tlsrouter options
+
+tlsrouter_opts="-conf /etc/tlsrouter/tlsrouter.conf -listen :443"
diff --git a/testing/tlsrouter/tlsrouter.initd b/testing/tlsrouter/tlsrouter.initd
new file mode 100644
index 0000000000..3f2bfa3388
--- /dev/null
+++ b/testing/tlsrouter/tlsrouter.initd
@@ -0,0 +1,14 @@
+#!/sbin/openrc-run
+
+supervisor=supervise-daemon
+
+name=tlsrouter
+command="/usr/bin/tlsrouter"
+command_args="$tlsrouter_opts"
+command_user="tlsrouter"
+start_stop_daemon_args="--quiet"
+
+depend() {
+ need net
+ after firewall
+}
diff --git a/testing/tlsrouter/tlsrouter.pre-install b/testing/tlsrouter/tlsrouter.pre-install
new file mode 100644
index 0000000000..e8bec36487
--- /dev/null
+++ b/testing/tlsrouter/tlsrouter.pre-install
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+addgroup -S tlsrouter 2>/dev/null
+adduser -S -D -h /var/lib/tlsrouter -s /sbin/nologin -G tlsrouter -g tlsrouter tlsrouter 2>/dev/null
+mkdir -p /etc/tlsrouter 2>/dev/null
+chown tlsrouter:tlsrouter /etc/tlsrouter 2>/dev/null
+
+exit 0
--
2.33.0
Please apply:
```diff
diff --git a/testing/tlsrouter/APKBUILD b/testing/tlsrouter/APKBUILD
index 9383ff46a2..e8086af58d 100644
--- a/testing/tlsrouter/APKBUILD
+++ b/testing/tlsrouter/APKBUILD
@@ -11,6 +11,8 @@ license="Apache-2.0"
options="!check" # some tests are failing
makedepends="go libcap"
subpackages="$pkgname-openrc"
+pkgusers="tlsrouter"
+pkggroups="tlsrouter"
install="$pkgname.pre-install"
source="tlsrouter-$pkgver.tar.gz::https://github.com/inetaf/tcpproxy/tarball/$_short_commit
$pkgname.initd
@@ -41,6 +43,8 @@ package() {
install -Dm644 "$srcdir/$pkgname.confd" \
"$pkgdir/etc/conf.d/$pkgname"
+ install -d -m644 -o tlsrouter -g tlsrouter "$pkgdir"/etc/tlsrouter
+
setcap cap_net_bind_service=+ep "$pkgdir/usr/bin/$pkgname"
}
sha512sums="
diff --git a/testing/tlsrouter/tlsrouter.pre-install b/testing/tlsrouter/tlsrouter.pre-install
index e8bec36487..f1821892ca 100644
--- a/testing/tlsrouter/tlsrouter.pre-install
+++ b/testing/tlsrouter/tlsrouter.pre-install
@@ -2,7 +2,5 @@
addgroup -S tlsrouter 2>/dev/null
adduser -S -D -h /var/lib/tlsrouter -s /sbin/nologin -G tlsrouter -g tlsrouter tlsrouter 2>/dev/null
-mkdir -p /etc/tlsrouter 2>/dev/null
-chown tlsrouter:tlsrouter /etc/tlsrouter 2>/dev/null
exit 0
```
--
via https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/24498#note_176179
i tried to add this but `abuild -r` throws this:
```
localhost:~/wip/aports/testing/tlsrouter$ abuild -r
>>> tlsrouter: Building testing/tlsrouter 0_git20210817-r0 (using abuild 3.8.0_rc4-r0) started Mon, 23 Aug 2021 07:36:00 +0000
>>> tlsrouter: Checking sanity of /home/marv/wip/aports/testing/tlsrouter/APKBUILD...
>>> tlsrouter: Analyzing dependencies...
>>> tlsrouter: Installing for build: build-base go libcap
WARNING: Ignoring /home/marv/packages//main: No such file or directory
(1/2) Installing libcap (2.53-r0)
(2/2) Installing .makedepends-tlsrouter (20210823.073601)
Executing busybox-1.33.1-r5.trigger
OK: 1594 MiB in 215 packages
>>> tlsrouter: Cleaning up srcdir
>>> tlsrouter: Cleaning up pkgdir
>>> tlsrouter: Fetching tlsrouter-0_git20210817.tar.gz::https://github.com/inetaf/tcpproxy/tarball/b6bb9b5
>>> tlsrouter: Fetching tlsrouter-0_git20210817.tar.gz::https://github.com/inetaf/tcpproxy/tarball/b6bb9b5
>>> tlsrouter: Checking sha512sums...
tlsrouter-0_git20210817.tar.gz: OK
tlsrouter.initd: OK
tlsrouter.confd: OK
go.mod: OK
go.sum: OK
>>> tlsrouter: Unpacking /var/cache/distfiles/tlsrouter-0_git20210817.tar.gz...
>>> tlsrouter: Entering fakeroot...
install: can't change ownership of /home/marv/wip/aports/testing/tlsrouter/pkg/tlsrouter/etc/tlsrouter: Permission denied
>>> ERROR: tlsrouter*: package failed
>>> ERROR: tlsrouter: rootpkg failed
>>> tlsrouter: Uninstalling dependencies...
(1/2) Purging .makedepends-tlsrouter (20210823.073601)
(2/2) Purging libcap (2.53-r0)
Executing busybox-1.33.1-r5.trigger
OK: 1594 MiB in 213 packages
```
--
via https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/24498#note_176195