# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
pkgname=gitlab-shell
pkgver=14.36.0
pkgrel=0
pkgdesc="GitLab Shell handles git SSH sessions for GitLab"
url="https://gitlab.com/gitlab-org/gitlab-shell"
arch="all"
license="MIT"
depends="git openssh"
makedepends="go krb5-dev"
pkgusers="git"
pkggroups="git"
install="$pkgname.pre-install $pkgname.post-install"
# NOTE: user vs system gitconfig, see https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/6166
source="https://gitlab.com/gitlab-org/gitlab-shell/-/archive/v$pkgver/gitlab-shell-v$pkgver.tar.gz
	config.patch
	change-config-path.patch
	gitconfig
	"
builddir="$srcdir/$pkgname-v$pkgver"
options="!check"

build() {
	# BUILD_TAGS - build without tracing libs,
	#   see https://gitlab.com/gitlab-org/labkit/-/merge_requests/2
	make build \
		VERSION_STRING="$pkgver" \
		BUILD_TAGS=""
}

package() {
	local datadir="$pkgdir/var/lib/gitlab"
	local libdir="$pkgdir/usr/lib/gitlab-shell"

	# XXX: I couldn't figure out how/where is gitlab-shell called,
	#  so I kept /usr/lib/gitlab-shell. It should be changed to /usr.
	make install DESTDIR="$pkgdir" PREFIX=/usr/lib/gitlab-shell

	install -m644 VERSION "$libdir"/
	install -m644 -D config.yml.example "$pkgdir"/etc/gitlab/gitlab-shell.yml

	cd "$pkgdir"

	rm "$libdir"/bin/gitlab-sshd

	install -d -m755 -o git -g git \
		"$pkgdir"/var/log/gitlab \
		"$datadir"

	install -d -m02770 -o git -g git \
		"$datadir"/repositories

	install -m644 -o git -g git "$srcdir"/gitconfig "$datadir"/.gitconfig

	ln -s /etc/gitlab/gitlab-shell.yml "$libdir"/config.yml
	ln -s /etc/gitlab/gitlab_shell_secret "$libdir"/.gitlab_shell_secret
}

sha512sums="
6b302be3630e60e3c9f76e58c61674bf08c3fe1395c9af5f354b9a557ecd1ddb43d27c9a995f868c4e4e2e734dd424a37c73e78d26b00f1f6a78f8670b45c371  gitlab-shell-v14.36.0.tar.gz
e9dd69c57c65197493f75bdde682075c6ab22892ed07d37c7a73129fb42a8349a676d5986bfd17f1df331645334248383845f21ce08d1e9664c38e4bbf5343ba  config.patch
499b3a46ea94a33a23b01f6a7509d74f5a6781b930619b3b8ae42bdeae8a052cc636578744d7992b4ae4f9b9f72b11ee3d3c0f5e50986fa3f7e35b979b08aada  change-config-path.patch
c53da7f145593693392d9fa880ad5a1909bfc7504fd1c93d94a468c3e0f5cc80f712f41ee1dc8bf38105b410c1165658f208bd88a70c4674104c78af33d8d09c  gitconfig
"
