Add Gitea 1.26.4 Alpine package
Build Alpine Packages / build-and-publish (v3.24, 3.24) (pull_request) Successful in 29m45s
Build Alpine Packages / build-and-publish (v3.24, 3.24) (pull_request) Successful in 29m45s
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
# Maintainer: Joachim Schlöffel <me@joachim-schloeffel.com>
|
||||
pkgname=gitea
|
||||
pkgver=1.26.4
|
||||
pkgrel=0
|
||||
pkgdesc="Self-hosted Git service written in Go"
|
||||
url="https://about.gitea.com/"
|
||||
arch="x86_64 aarch64"
|
||||
license="MIT"
|
||||
depends="git git-lfs gnupg"
|
||||
makedepends="tar xz"
|
||||
provides="cmd:gitea=$pkgver-r$pkgrel"
|
||||
install="$pkgname.pre-install"
|
||||
pkgusers="gitea"
|
||||
pkggroups="www-data"
|
||||
subpackages="
|
||||
$pkgname-doc
|
||||
$pkgname-openrc:_openrc:noarch
|
||||
"
|
||||
options="!check !strip !tracedeps"
|
||||
|
||||
case "$CARCH" in
|
||||
x86_64)
|
||||
_archive="$pkgname-$pkgver-linux-amd64.xz"
|
||||
;;
|
||||
aarch64)
|
||||
_archive="$pkgname-$pkgver-linux-arm64.xz"
|
||||
;;
|
||||
esac
|
||||
|
||||
source="
|
||||
$pkgname-$pkgver-linux-amd64.xz::https://github.com/go-gitea/gitea/releases/download/v$pkgver/gitea-$pkgver-linux-amd64.xz
|
||||
$pkgname-$pkgver-linux-arm64.xz::https://github.com/go-gitea/gitea/releases/download/v$pkgver/gitea-$pkgver-linux-arm64.xz
|
||||
$pkgname-src-$pkgver.tar.gz::https://github.com/go-gitea/gitea/releases/download/v$pkgver/gitea-src-$pkgver.tar.gz
|
||||
gitea.ini
|
||||
gitea.initd
|
||||
"
|
||||
builddir="$srcdir/gitea-src-$pkgver"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
xz -dc "$srcdir/$_archive" > "$srcdir"/gitea
|
||||
chmod 0755 "$srcdir"/gitea
|
||||
}
|
||||
|
||||
package() {
|
||||
local _dir
|
||||
for _dir in gitea gitea/git gitea/data gitea/db gitea/custom; do
|
||||
install -d -m 0750 -o gitea -g www-data \
|
||||
"$pkgdir"/var/lib/$_dir
|
||||
done
|
||||
|
||||
install -d -m 0755 -o gitea -g www-data "$pkgdir"/var/log/gitea
|
||||
install -Dm755 "$srcdir"/gitea "$pkgdir"/usr/bin/gitea
|
||||
install -Dm644 -o gitea -g www-data "$srcdir"/gitea.ini \
|
||||
"$pkgdir"/etc/gitea/app.ini
|
||||
chown gitea:www-data "$pkgdir"/etc/gitea
|
||||
|
||||
install -d -m 0755 "$pkgdir"/usr/share/webapps/gitea
|
||||
cp -r "$builddir"/options "$builddir"/public "$builddir"/templates \
|
||||
"$pkgdir"/usr/share/webapps/gitea/
|
||||
install -Dm644 "$builddir"/LICENSE -t "$pkgdir"/usr/share/licenses/gitea/
|
||||
}
|
||||
|
||||
_openrc() {
|
||||
pkgdesc="$pkgdesc (OpenRC service)"
|
||||
depends="$pkgname=$pkgver-r$pkgrel openrc"
|
||||
|
||||
install -Dm755 "$srcdir"/gitea.initd "$subpkgdir"/etc/init.d/gitea
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
fa4d6a388f22f1f20e99a7a73143b5541aacaf2f60f9bf8b47cdb5c9cb192a16b0a1a2f8dd1fe9710817edf6ce5ea6fea4ef4acdb8e363fe9f25c53f6e682962 gitea-1.26.4-linux-amd64.xz
|
||||
f17868d979ca1ec37f7793d6286789a788abc674e06265011938cfa5b6bf6c1c259af2633fbf8d6371221240c4e3987b7f55ba50b893da74b77ce33265464c92 gitea-1.26.4-linux-arm64.xz
|
||||
9298d2d6eaf03d708a869e8fe5b2cbdcede3fc5e3ae640d3f43a27b7c9a3e10b353ae6135bfb634360679b5793a759c9ae9c7531cde331b11ae81c03b4904ddb gitea-src-1.26.4.tar.gz
|
||||
431184faffa8996873d92d7b0d16bc4b1a0178d264cd2928d1f49b13ad3e6470d9ede7a18c12112deeeb38f0647ccc0b012e98bcbd96e7b8496a3dc18f5b1fb7 gitea.ini
|
||||
9474d707df8b049c93ec4642f71195adff699e1e812f315cac4295b3ab29eeb9ba8b83bf3307c50b04e072a4a9dc4c4f84ac490ee22291bd50015009795c1598 gitea.initd
|
||||
"
|
||||
@@ -0,0 +1,38 @@
|
||||
# Gitea Alpine Package
|
||||
|
||||
Repackages upstream Gitea 1.26.4 Linux release binaries for `x86_64` and
|
||||
`aarch64`.
|
||||
|
||||
The package follows Alpine's Gitea runtime layout:
|
||||
|
||||
- `/usr/bin/gitea`
|
||||
- `/etc/gitea/app.ini`
|
||||
- `/var/lib/gitea`
|
||||
- `/var/log/gitea`
|
||||
- `/usr/share/webapps/gitea`
|
||||
|
||||
Install the OpenRC service with:
|
||||
|
||||
```sh
|
||||
apk add gitea gitea-openrc
|
||||
rc-update add gitea default
|
||||
rc-service gitea start
|
||||
```
|
||||
|
||||
Refresh checksums:
|
||||
|
||||
```sh
|
||||
ALPINE_PACKAGE=gitea mise run apk:checksum
|
||||
```
|
||||
|
||||
Build:
|
||||
|
||||
```sh
|
||||
ALPINE_PACKAGE=gitea mise run apk:build
|
||||
```
|
||||
|
||||
Install-test local build:
|
||||
|
||||
```sh
|
||||
ALPINE_PACKAGE=gitea SKIP_BUILD=1 mise run apk:test-install
|
||||
```
|
||||
@@ -0,0 +1,26 @@
|
||||
# Configuration cheat sheet: https://docs.gitea.io/en-us/config-cheat-sheet/
|
||||
|
||||
RUN_USER = gitea
|
||||
RUN_MODE = prod
|
||||
|
||||
[repository]
|
||||
ROOT = /var/lib/gitea/git
|
||||
SCRIPT_TYPE = sh
|
||||
|
||||
[server]
|
||||
STATIC_ROOT_PATH = /usr/share/webapps/gitea
|
||||
APP_DATA_PATH = /var/lib/gitea/data
|
||||
LFS_START_SERVER = true
|
||||
|
||||
[database]
|
||||
DB_TYPE = sqlite3
|
||||
PATH = /var/lib/gitea/db/gitea.db
|
||||
SSL_MODE = disable
|
||||
|
||||
[session]
|
||||
PROVIDER = file
|
||||
|
||||
[log]
|
||||
ROOT_PATH = /var/log/gitea
|
||||
MODE = file
|
||||
LEVEL = Info
|
||||
Executable
+30
@@ -0,0 +1,30 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
supervisor=supervise-daemon
|
||||
name=gitea
|
||||
command="/usr/bin/gitea"
|
||||
command_user="${GITEA_USER:-gitea}"
|
||||
command_args="web --config '${GITEA_CONF:-/etc/gitea/app.ini}'"
|
||||
supervise_daemon_args="--env GITEA_WORK_DIR='${GITEA_WORK_DIR:-/var/lib/gitea}' --chdir '${GITEA_WORK_DIR:-/var/lib/gitea}' --stdout '${GITEA_LOG_FILE:-/var/log/gitea/http.log}' --stderr '${GITEA_LOG_FILE:-/var/log/gitea/http.log}'"
|
||||
pidfile="/run/gitea.pid"
|
||||
extra_started_commands="reopen_log"
|
||||
capabilities="^cap_net_bind_service"
|
||||
|
||||
depend() {
|
||||
use logger dns
|
||||
need net
|
||||
after firewall mysql postgresql
|
||||
}
|
||||
|
||||
# https://github.com/go-gitea/gitea/issues/17976
|
||||
# reload() {
|
||||
# ebegin "Reloading ${RC_SVCNAME}"
|
||||
# ${supervisor} ${RC_SVCNAME} --signal HUP --pidfile "${pidfile}"
|
||||
# eend $?
|
||||
# }
|
||||
|
||||
reopen_log() {
|
||||
ebegin "Reopening logfile for ${RC_SVCNAME}"
|
||||
${supervisor} ${RC_SVCNAME} --signal USR1 --pidfile "${pidfile}"
|
||||
eend $?
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
addgroup -S www-data 2>/dev/null
|
||||
adduser -S -D -H -h /var/lib/gitea -s /sbin/nologin \
|
||||
-G www-data -g gitea gitea 2>/dev/null
|
||||
|
||||
exit 0
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
apk add gitea gitea-doc gitea-openrc
|
||||
|
||||
test -x /usr/bin/gitea
|
||||
test -f /etc/gitea/app.ini
|
||||
test -d /var/lib/gitea
|
||||
test -d /var/lib/gitea/git
|
||||
test -d /var/lib/gitea/data
|
||||
test -d /var/lib/gitea/db
|
||||
test -d /var/log/gitea
|
||||
test -d /usr/share/webapps/gitea/options
|
||||
test -d /usr/share/webapps/gitea/public
|
||||
test -d /usr/share/webapps/gitea/templates
|
||||
test -f /etc/init.d/gitea
|
||||
|
||||
gitea --version
|
||||
|
||||
rc-update add gitea default || true
|
||||
test -L /etc/runlevels/default/gitea
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
repo_root="${REPO_ROOT:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../../../../.." && pwd)}"
|
||||
package_name="${PACKAGE_NAME:-gitea}"
|
||||
package_version="${PACKAGE_VERSION:-1.26.4-r0}"
|
||||
alpine_version="${ALPINE_VERSION:-3.24}"
|
||||
arch="${ALPINE_ARCH:-x86_64}"
|
||||
repository_url="${ALPINE_REPOSITORY_URL:-}"
|
||||
repository_key_url="${ALPINE_REPOSITORY_KEY_URL:-}"
|
||||
|
||||
case "${arch}" in
|
||||
x86_64)
|
||||
platform="${ALPINE_TEST_PLATFORM:-linux/amd64}"
|
||||
;;
|
||||
aarch64)
|
||||
platform="${ALPINE_TEST_PLATFORM:-linux/arm64}"
|
||||
;;
|
||||
*)
|
||||
printf 'unsupported Alpine architecture: %s\n' "${arch}" >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ -z "${repository_url}" && "${SKIP_BUILD:-0}" != "1" ]]; then
|
||||
ALPINE_PACKAGE="${package_name}" "${repo_root}/scripts/apk/build.sh" build "${arch}"
|
||||
fi
|
||||
|
||||
if [[ -z "${repository_url}" && ! -d "${repo_root}/packages/local/${arch}" ]]; then
|
||||
printf 'missing local repository: packages/local/%s\n' "${arch}" >&2
|
||||
printf 'run: ALPINE_PACKAGE=%s mise run apk:build\n' "${package_name}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
docker run --rm --platform "${platform}" \
|
||||
-e "ALPINE_ARCH=${arch}" \
|
||||
-e "PACKAGE_NAME=${package_name}" \
|
||||
-e "PACKAGE_VERSION=${package_version}" \
|
||||
-e "ALPINE_REPOSITORY_URL=${repository_url}" \
|
||||
-e "ALPINE_REPOSITORY_KEY_URL=${repository_key_url}" \
|
||||
-v "${repo_root}/packages/local:/repo:ro" \
|
||||
"alpine:${alpine_version}" \
|
||||
sh -lc '
|
||||
set -e
|
||||
|
||||
if [ -n "${ALPINE_REPOSITORY_URL}" ]; then
|
||||
if [ -n "${ALPINE_REPOSITORY_KEY_URL}" ]; then
|
||||
apk add --no-cache curl >/dev/null
|
||||
cd /etc/apk/keys
|
||||
curl -fsSLOJ "${ALPINE_REPOSITORY_KEY_URL}"
|
||||
fi
|
||||
printf "%s\n" "${ALPINE_REPOSITORY_URL}" >> /etc/apk/repositories
|
||||
else
|
||||
apk update
|
||||
apk add "${PACKAGE_NAME}"
|
||||
installed_before="$(apk list -I "${PACKAGE_NAME}" | awk "{print \$1}")"
|
||||
printf "Installed repository package before local upgrade: %s\n" "${installed_before}"
|
||||
if [ "${installed_before}" = "${PACKAGE_NAME}-${PACKAGE_VERSION}" ]; then
|
||||
printf "default repository already has %s; upgrade path was not exercised\n" "${PACKAGE_VERSION}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cp "/repo/${ALPINE_ARCH}"/*.rsa.pub /etc/apk/keys/
|
||||
printf "%s\n" /repo >> /etc/apk/repositories
|
||||
fi
|
||||
apk update
|
||||
apk add --upgrade "${PACKAGE_NAME}" "${PACKAGE_NAME}-doc" "${PACKAGE_NAME}-openrc"
|
||||
installed_after="$(apk list -I "${PACKAGE_NAME}" | awk "{print \$1}")"
|
||||
printf "Installed package after local upgrade: %s\n" "${installed_after}"
|
||||
test "${installed_after}" = "${PACKAGE_NAME}-${PACKAGE_VERSION}"
|
||||
|
||||
test -x /usr/bin/gitea
|
||||
test -f /etc/gitea/app.ini
|
||||
test -d /var/lib/gitea
|
||||
test -d /var/lib/gitea/git
|
||||
test -d /var/lib/gitea/data
|
||||
test -d /var/lib/gitea/db
|
||||
test -d /var/log/gitea
|
||||
test -d /usr/share/webapps/gitea/options
|
||||
test -d /usr/share/webapps/gitea/public
|
||||
test -d /usr/share/webapps/gitea/templates
|
||||
test -f /etc/init.d/gitea
|
||||
|
||||
gitea --version
|
||||
|
||||
rc-update add gitea default
|
||||
test -L /etc/runlevels/default/gitea
|
||||
'
|
||||
Reference in New Issue
Block a user