1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-24 11:45:18 +03:00
aports/community/gitea/APKBUILD
2023-02-22 10:28:54 +01:00

126 lines
3.9 KiB
Text

# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Contributor: 6543 <6543@obermui.de>
# Contributor: techknowlogick <techknowlogick@gitea.io>
# Maintainer: 6543 <6543@obermui.de>
pkgname=gitea
pkgver=1.18.5
pkgrel=0
pkgdesc="A self-hosted Git service written in Go"
url="https://gitea.io"
arch="all"
license="MIT"
options="net"
depends="git git-lfs gnupg"
makedepends="go libcap-utils"
checkdepends="bash openssh openssh-keygen sqlite tzdata"
install="$pkgname.pre-install"
pkgusers="gitea"
pkggroups="www-data"
subpackages="$pkgname-openrc"
source="$pkgname-$pkgver.tar.gz::https://dl.gitea.io/gitea/$pkgver/gitea-src-$pkgver.tar.gz
$pkgname.initd
$pkgname.ini
"
builddir="$srcdir/gitea-src-$pkgver"
options="!check" # broken with GIT_CEILING
# secfixes:
# 1.17.3-r0:
# - CVE-2022-42968
# - CVE-2022-32149
# 1.16.7-r0:
# - CVE-2022-30781
# 1.16.3-r0:
# - CVE-2022-27313
# 1.14.6-r0:
# - CVE-2020-26160
# 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
# 1.11.2-r0:
# - CVE-2021-45327
# 1.5.2-r0:
# - CVE-2021-45326
# 1.5.1-r0:
# - CVE-2021-45331
# - CVE-2021-45329
export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
# Skip tests for archs that fail unrelated in CI
case "$CARCH" in
s390x|x86|armhf|armv7) options="$options !check" ;;
esac
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 EXTRA_GOFLAGS="$GOFLAGS" backend -j1
}
check() {
local home="$srcdir"/home
mkdir -p "$home"
install -d -m700 "$home"/.ssh
touch "$home"/.gitconfig
env GITEA_ROOT="$home" HOME="$home" GITEA_WORK_DIR="$(pwd)" timeout -s ABRT 20m make -j1 test-sqlite
## "make test" - modified (exclude broken tests)
## 'code.gitea.io/gitea/modules/migrations': github hase rate limits! 403 API
local tests=$(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/models/migrations' | \
grep -v 'code.gitea.io/gitea/services/migrations' | \
grep -v 'code.gitea.io/gitea/integrations')
env GITEA_CONF="$PWD/tests/sqlite.ini" GITEA_ROOT="$home" HOME="$home" GO111MODULE=on go test -mod=vendor -tags='sqlite sqlite_unlock_notify' $tests
}
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="
20b502a11969691e5f331844453aedc5bd1708ff13e0615b7186b00f8fa6fe8de2b2c6ec1af052bfd6f87a07c92e1118e58aacf35f59bde32d587ba400adda8a gitea-1.18.5.tar.gz
2c757ad6159652bc628d71e09483452415ecf9327ad13a9838eec453b7feb34934401a2159350e40fb57ceda8b2abae0c57a3862e9ac054bcf9f0a424716172f gitea.initd
431184faffa8996873d92d7b0d16bc4b1a0178d264cd2928d1f49b13ad3e6470d9ede7a18c12112deeeb38f0647ccc0b012e98bcbd96e7b8496a3dc18f5b1fb7 gitea.ini
"