# Contributor: Carlo Landmeter # Contributor: 6543 <6543@obermui.de> # Maintainer: 6543 <6543@obermui.de> pkgname=gitea pkgver=1.14.5 pkgrel=0 pkgdesc="A self-hosted Git service written in Go" url="https://gitea.io" # mips(64): nodejs missing # armhf: failing tests # riscv64 nodejs missing arch="all !mips !mips64 !armhf !riscv64" license="MIT" options="chmod-clean" depends="git git-lfs gnupg" makedepends="go libcap nodejs npm" checkdepends="bash openssh openssh-keygen sqlite" install="$pkgname.pre-install" pkgusers="gitea" pkggroups="www-data" subpackages="$pkgname-openrc" source="$pkgname-$pkgver.tar.gz::https://github.com/go-gitea/gitea/archive/v$pkgver.tar.gz $pkgname.initd $pkgname.ini " builddir="$srcdir/src/code.gitea.io/$pkgname" # secfixes: # 1.13.7-r0: # - CVE-2021-29272 # 1.13.6-r0: # - CVE-2021-29134 # 1.13.4-r0: # - CVE-2021-28378 # 1.13.2-r0: # - CVE-2021-3382 # Skip tests for archs that fail unrelated in CI case "$CARCH" in s390x|x86|armhf|armv7) options="$options !check" ;; esac prepare() { mkdir -p ${builddir%/*} mv "$srcdir"/$pkgname-$pkgver "$builddir"/ default_prepare } build() { export GOPATH="$srcdir" export TAGS="tidb sqlite sqlite_unlock_notify" export GITEA_VERSION="$pkgver" unset LDFLAGS ## make FHS compliant LDFLAGS="$LDFLAGS -X code.gitea.io/gitea/modules/setting.CustomConf=/etc/gitea/app.ini" LDFLAGS="$LDFLAGS -X code.gitea.io/gitea/modules/setting.AppWorkPath=/var/lib/gitea/" LDFLAGS="$LDFLAGS -X code.gitea.io/gitea/modules/setting.StaticRootPath=/usr/share/webapps/gitea/" export LDFLAGS ## make should run without any parallelism make build -j1 } check() { ## "make test" - modified (exclude broken tests) ## 'code.gitea.io/gitea/modules/migrations': github hase rate limits! 403 API PACKAGES=$(go list ./... | grep -v /vendor/ | \ grep -v 'code.gitea.io/gitea/modules/migrations' | \ grep -v 'code.gitea.io/gitea/modules/charset' | \ grep -v 'code.gitea.io/gitea/integrations') GO111MODULE=on go test -mod=vendor -tags='sqlite sqlite_unlock_notify' $PACKAGES export GITEA_WORK_DIR=$(pwd) timeout -s ABRT 20m make test-sqlite } package() { for dir in $pkgname $pkgname/git $pkgname/data $pkgname/db $pkgname/custom; do install -d -m 750 -o gitea -g www-data \ "$pkgdir"/var/lib/$dir done install -d -m 755 -o gitea -g www-data "$pkgdir"/var/log/$pkgname install -D -m 755 $pkgname "$pkgdir"/usr/bin/$pkgname # Allow non root to bind to port 80. setcap cap_net_bind_service=+ep \ "$pkgdir"/usr/bin/$pkgname install -D -m 644 -o gitea -g www-data "$srcdir"/gitea.ini \ "$pkgdir"/etc/$pkgname/app.ini chown gitea:www-data "$pkgdir"/etc/$pkgname install -d -m 755 "$pkgdir"/usr/share/webapps/$pkgname mv options public templates "$pkgdir"/usr/share/webapps/$pkgname/ install -D -m 755 "$srcdir"/$pkgname.initd \ "$pkgdir"/etc/init.d/$pkgname } sha512sums="8c973d443c4b95ecfa50a0eeef549f6bef0eea56b347f3a36fa5ebe7d4dc9bca2227f5660e1397a68652926d8de9a8c633c8b3785eec54ec7fa69619dc6021fa gitea-1.14.5.tar.gz 2497e6f2a18e3ceb65352cd220eab2c1c0893d0e731600462a60397de2b70d7c1de7db2af2769b25fe708b0822c811bb20dc797b59b9dd93efb376bea1c35796 gitea.initd 431184faffa8996873d92d7b0d16bc4b1a0178d264cd2928d1f49b13ad3e6470d9ede7a18c12112deeeb38f0647ccc0b012e98bcbd96e7b8496a3dc18f5b1fb7 gitea.ini"