projects/aports·blob master · refs

99 lines · 3.4 KiB

1# Contributor: Carlo Landmeter <[email protected]>
2# Contributor: 6543 <[email protected]>
3# Contributor: techknowlogick <[email protected]>
4# Contributor: Patrycja Rosa <[email protected]>
5maintainer="Achill Gilgenast <[email protected]>"
6pkgname=forgejo-lts
7pkgver=15.0.10
8pkgrel=0
9# Please apply changes to `forgejo` as well
10pkgdesc="Self-hosted Git service written in Go (Long-term stable)"
11url="https://forgejo.org"
12arch="all !armv7 !armhf" # oom
13license="GPL-3.0-or-later"
14depends="git git-lfs gnupg"
15makedepends="go nodejs npm"
16checkdepends="bash openssh openssh-keygen sqlite tzdata"
17install="$pkgname.pre-install"
18pkgusers="forgejo"
19pkggroups="www-data"
20subpackages="$pkgname-openrc $pkgname-systemd"
21source="$pkgname-$pkgver.tar.gz::https://codeberg.org/forgejo/forgejo/archive/v$pkgver.tar.gz
22 forgejo.initd
23 forgejo.ini
24 "
25builddir="$srcdir/forgejo"
26options="!check net chmod-clean" # broken with GIT_CEILING
27
28# Skip tests for archs that fail unrelated in CI
29case "$CARCH" in
30s390x|x86|armhf|armv7) options="$options !check" ;;
31esac
32
33prepare() {
34 default_prepare
35
36 npm ci
37}
38
39build() {
40 # XXX: LARGEFILE64
41 export CGO_CFLAGS="$CFLAGS -O2 -D_LARGEFILE64_SOURCE"
42 export TAGS="bindata sqlite sqlite_unlock_notify"
43 export GITEA_VERSION="$pkgver"
44 export EXTRA_GOFLAGS="$GOFLAGS"
45 export CGO_LDFLAGS="$LDFLAGS"
46 unset LDFLAGS
47 ## make FHS compliant
48 local setting="forgejo.org/modules/setting"
49 export LDFLAGS="$LDFLAGS -X $setting.CustomConf=/etc/forgejo/app.ini"
50 export LDFLAGS="$LDFLAGS -X $setting.AppWorkPath=/var/lib/forgejo/"
51
52 make -j1 build
53}
54
55check() {
56 local home="$srcdir"/home
57 mkdir -p "$home"
58 install -d -m700 "$home"/.ssh
59 touch "$home"/.gitconfig
60
61 env GITEA_ROOT="$home" HOME="$home" GITEA_WORK_DIR="$(pwd)" timeout -s ABRT 20m make -j1 test-sqlite
62 ## "make test" - modified (exclude broken tests)
63 ## 'code.gitea.io/gitea/modules/migrations': github hase rate limits! 403 API
64 local tests=$(go list ./... | grep -v /vendor/ |
65 grep -v 'code.gitea.io/gitea/modules/migrations' |
66 grep -v 'code.gitea.io/gitea/modules/charset' |
67 grep -v 'code.gitea.io/gitea/models/migrations' |
68 grep -v 'code.gitea.io/gitea/services/migrations' |
69 grep -v 'code.gitea.io/gitea/integrations')
70 env GITEA_CONF="$PWD/tests/sqlite.ini" GITEA_ROOT="$home" HOME="$home" GO111MODULE=on go test -mod=vendor -tags='sqlite sqlite_unlock_notify' $tests
71
72}
73
74package() {
75 for dir in forgejo forgejo/git forgejo/data forgejo/db forgejo/custom; do
76 install -dm750 -o forgejo -g www-data \
77 "$pkgdir"/var/lib/$dir
78 done
79
80 install -dm755 -o forgejo -g www-data "$pkgdir"/var/log/forgejo
81
82 # TODO: rename when upstream does
83 install -Dm755 -g www-data gitea "$pkgdir"/usr/bin/forgejo
84
85 install -Dm644 -o forgejo -g www-data "$srcdir"/forgejo.ini \
86 "$pkgdir"/etc/forgejo/app.ini
87 chown forgejo:www-data "$pkgdir"/etc/forgejo
88
89 install -Dm755 "$srcdir"/forgejo.initd \
90 "$pkgdir"/etc/init.d/forgejo
91 install -Dm644 contrib/systemd/forgejo.service \
92 -t "$pkgdir"/usr/lib/systemd/system/
93}
94
95sha512sums="
9667d2c4da895ff0d5b5612e3fb8b23d70ba18c9a4c2d46224d6db22c3ccb793d22c4de466481923bcafae0a9cceb8cbb96781efad6fd883926087301e4837a267 forgejo-lts-15.0.10.tar.gz
97c88ee45c90c445aec440b80f72f17e249e4efb2c38be40dcb72a2ab27a9d6a06c804aeb0d417cd4209fb9096bdd46d5e1ecd8a8665fae93dc4d960720994afb4 forgejo.initd
98b537b41b6b3a945274a6028800f39787b48c318425a37cf5d40ace0d1b305444fd07f17b4acafcd31a629bedd7d008b0bb3e30f82ffeb3d7e7e947bdbe0ff4f3 forgejo.ini
99"