diff --git a/user/gitlab-pages/APKBUILD b/user/gitlab-pages/APKBUILD new file mode 100644 index 0000000..d305a8b --- /dev/null +++ b/user/gitlab-pages/APKBUILD @@ -0,0 +1,35 @@ +# Maintainer: Antoine Martin (ayakael) +# Contributor: Antoine Martin (ayakael) +# Contributor: Jakub Jirutka +pkgname=gitlab-pages +pkgver=16.2.4 +_gittag="v$pkgver" +pkgrel=0 +pkgdesc="A daemon used to serve static websites for GitLab users" +url="https://gitlab.com/gitlab-org/gitlab-pages/" +arch="all" +license="MIT" +makedepends="go>=1.5" +source=" + https://gitlab.com/gitlab-org/gitlab-pages/-/archive/$_gittag/gitlab-pages-$_gittag.tar.gz + ungit-makefile.patch + $pkgname.initd + " +subpackages="$pkgname-openrc" +builddir="$srcdir"/$pkgname-$_gittag + +build() { + make VERSION=$pkgver REVISION=$pkgrel GOPATH="$srcdir" CGO_ENABLED=0 +} + +package() { + install -D -m 755 $pkgname "$pkgdir"/usr/bin/$pkgname + install -m755 -D "$srcdir"/$pkgname.initd \ + "$pkgdir"/etc/init.d/gitlab.pages +} + +sha512sums=" +d05b99d48a88a008a729f15471284169ea7ce664aa19894c93f0c95e4259d79891c7e58d2204c21fa2d11bfb9c59c77ed2d3d7effa5235263e7aa046233f4acc gitlab-pages-v16.2.4.tar.gz +710a9b652327e57e620c2bdb02bf912a6f61044eaaf61d36c6612284e9b951d2ac6f5eef77dfea16a0cde328bd4c556d9e47791c560139c27cb9659076f809b1 ungit-makefile.patch +20bc66c1c3548568ed353ca8d584f9108b9688f9375f212a18efc7b8386fdaafb3b2dc9e865f21c7f8fd31ada6e91842a8bb8d397f64851d853bb0de3e0e60bb gitlab-pages.initd +" diff --git a/user/gitlab-pages/gitlab-pages.initd b/user/gitlab-pages/gitlab-pages.initd new file mode 100644 index 0000000..4a34507 --- /dev/null +++ b/user/gitlab-pages/gitlab-pages.initd @@ -0,0 +1,55 @@ +#!/sbin/openrc-run + +name="GitLab Pages" +description="A daemon used to serve static websites for GitLab users" + +: ${pages_user:=${user:-"git"}} +: ${pages_root:="/var/lib/gitlab/pages"} +: ${pages_logfile:="/var/log/gitlab/pages.log"} + +command="/usr/bin/gitlab-pages" +# Note: The rest of the options is set in start_pre(). +command_args=" + -pages-domain=$pages_domain + -pages-root=$pages_root + -redirect-http=${pages_redirect_http:-true} + -use-http2=${pages_use_http2:-true} + " +command_background="yes" + +start_stop_daemon_args=" + --chdir $pages_root + --user $pages_user + --stdout $pages_logfile + --stderr $pages_logfile" +pidfile="/run/gitlab-pages.pid" + + +depend() { + use net +} + +start_pre() { + local item + + for item in $pages_listen_http; do + command_args="$command_args -listen-http=$item" + done + for item in $pages_listen_https; do + command_args="$command_args -listen-https=$item" + done + for item in $pages_listen_proxy; do + command_args="$command_args -listen-proxy=$item" + done + + command_args="$command_args + $(optif -metrics-address "$pages_metrics_address") + $(optif -root-cert "$pages_root_cert") + $(optif -root-key "$pages_root_key")" + + checkpath -m 640 -o $pages_user -f "$pages_logfile" +} + +optif() { + test -n "$2" && printf '%s/n' "$1=$2" || true +} diff --git a/user/gitlab-pages/ungit-makefile.patch b/user/gitlab-pages/ungit-makefile.patch new file mode 100644 index 0000000..4cbc132 --- /dev/null +++ b/user/gitlab-pages/ungit-makefile.patch @@ -0,0 +1,18 @@ +diff --git a/Makefile.internal.mk.orig b/Makefile.internal.mk +index 6dfaa1b..207bdaf 100644 +--- a/Makefile.internal.mk.orig ++++ b/Makefile.internal.mk +@@ -1,13 +1,3 @@ +-REVISION := $(shell git rev-parse --short HEAD || echo unknown) +-LAST_TAG := $(shell git describe --tags --abbrev=0) +-COMMITS := $(shell echo `git log --oneline $(LAST_TAG)..HEAD | wc -l`) +-VERSION := $(shell cat VERSION) +-BRANCH := $(shell git rev-parse --abbrev-ref HEAD) +- +-ifneq (v$(VERSION),$(LAST_TAG)) +- VERSION := $(shell echo $(VERSION)~beta.$(COMMITS).g$(REVISION)) +-endif +- + VERSION_FLAGS :=-X "main.VERSION=$(VERSION)" -X "main.REVISION=$(REVISION)" + + export GOBIN := $(CURDIR)/bin