# 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.30.1
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="
5cd602ffc98fa2f6c5efbc9541bb6ff234253e299b690aa43feaefab2518b63fd0f69a8c3d79a4f04624c2a6daceaefc300be90ef2a29ff0b8a2392d0ae710cf  gitlab-shell-v14.30.1.tar.gz
8cf13bf472e22b1c429bba5df98afb931c80b043ec83c8366d59f15a1e9b21daf09078f134e7aa622c87b32c774d1d5cf129878d5035102c06d0b12ead33f804  config.patch
499b3a46ea94a33a23b01f6a7509d74f5a6781b930619b3b8ae42bdeae8a052cc636578744d7992b4ae4f9b9f72b11ee3d3c0f5e50986fa3f7e35b979b08aada  change-config-path.patch
c53da7f145593693392d9fa880ad5a1909bfc7504fd1c93d94a468c3e0f5cc80f712f41ee1dc8bf38105b410c1165658f208bd88a70c4674104c78af33d8d09c  gitconfig
"