www-apps/gitea: Bump in-tree package

Signed-off-by: Nils Freydank <nils.freydank@posteo.de>
This commit is contained in:
Nils Freydank 2024-06-02 17:33:01 +02:00
parent f2d4d21ba8
commit 8f3c014f02
Signed by: nfr
GPG Key ID: 0F1DEAB2D36AD112
6 changed files with 240 additions and 0 deletions

1
www-apps/gitea/Manifest Normal file
View File

@ -0,0 +1 @@
DIST gitea-1.22.0.tar.gz 54603268 BLAKE2B f021fedf77ec6ab41221a8e73d6b48fc215c15053bb62ff288a5dc6a7d11a5acd4d7ee0cbfb40aee2b60011d83fc57f1011013b7d78556c3a84a2743ba90389b SHA512 8e9585d6224f49c2f21b855911c2ac4ded64b8b31c4eb28fbe39801908693a87aad2e9096bf812c30163faa8a8102fd01ec3240bd64debf5633c70568aec4b49

View File

@ -0,0 +1,14 @@
# Gitea configuration
GITEA_CONF="/etc/gitea/app.ini"
# Gitea user
GITEA_USER="git"
# Gitea group
GITEA_GROUP="git"
# Gitea working directory
GITEA_WORK_DIR="/var/lib/gitea"
# Gitea custom directory
GITEA_CUSTOM="${GITEA_WORK_DIR}/custom"

View File

@ -0,0 +1,22 @@
#!/sbin/openrc-run
# Copyright 2016-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
description="Gitea, a self-hosted Git service"
: ${GITEA_CONF:=/etc/gitea/app.ini}
: ${GITEA_USER:=git}
: ${GITEA_GROUP:=git}
: ${GITEA_WORK_DIR:=/var/lib/gitea}
: ${GITEA_CUSTOM:=${GITEA_WORK_DIR}/custom}
command="/usr/bin/gitea web"
command_args="--config ${GITEA_CONF}"
command_background="true"
command_user="${GITEA_USER}:${GITEA_GROUP}"
error_log="/var/log/${RC_SVCNAME}/${RC_SVCNAME}.err"
pidfile="/run/${RC_SVCNAME}.pid"
required_files="${GITEA_CONF}"
start_stop_daemon_args="-d ${GITEA_WORK_DIR}"
start_stop_daemon_args="${start_stop_daemon_args} -e GITEA_WORK_DIR=${GITEA_WORK_DIR}"
start_stop_daemon_args="${start_stop_daemon_args} -e GITEA_CUSTOM=${GITEA_CUSTOM}"

View File

@ -0,0 +1,34 @@
[Unit]
Description=Gitea service
Documentation=https://docs.gitea.io/
AssertPathIsDirectory=/var/lib/gitea
AssertPathIsReadWrite=/var/lib/gitea
After=network.target
Requires=network.target
After=mysqld.service
After=postgresql-10.service
After=postgresql-11.service
After=postgresql-12.service
After=postgresql-13.service
After=postgresql-14.service
After=postgresql-15.service
After=postgresql-16.service
After=memcached.service
After=redis.service
[Service]
User=git
Group=git
Environment="GITEA_WORK_DIR=/var/lib/gitea" "GITEA_CUSTOM=/var/lib/gitea/custom"
WorkingDirectory=/var/lib/gitea
ExecStart=/usr/bin/gitea --config /etc/gitea/app.ini web
Restart=always
PrivateTmp=true
Nice=5
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,147 @@
# Copyright 2016-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit fcaps go-module tmpfiles systemd flag-o-matic user-info
DESCRIPTION="A painless self-hosted Git service"
HOMEPAGE="https://gitea.com https://github.com/go-gitea/gitea"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/go-gitea/gitea.git"
else
SRC_URI="https://github.com/go-gitea/gitea/releases/download/v${PV}/gitea-src-${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
fi
S="${WORKDIR}/${PN}-src-${PV}"
LICENSE="Apache-2.0 BSD BSD-2 CC0-1.0 ISC MIT MPL-2.0"
SLOT="0"
IUSE="+acct pam sqlite pie"
DEPEND="
acct? (
acct-group/git
acct-user/git[gitea] )
pam? ( sys-libs/pam )"
RDEPEND="${DEPEND}
dev-vcs/git"
BDEPEND=">=dev-lang/go-1.21:="
DOCS=(
custom/conf/app.example.ini CHANGELOG.md CONTRIBUTING.md README.md
)
FILECAPS=(
-m 711 cap_net_bind_service+ep usr/bin/gitea
)
RESTRICT="test"
src_prepare() {
default
sed -i -e "s#^MODE = console#MODE = file#" custom/conf/app.example.ini || die
}
src_configure() {
# bug 832756 - PIE build issues
filter-flags -fPIE
filter-ldflags -fPIE -pie
}
src_compile() {
local gitea_tags
local -a gitea_settings makeenv
# The space-separated list of the -tags flag is deprecated, please
# always use the comma-separated list in the future.
gitea_tags="bindata"
gitea_tags+="$(usex pam ',pam' '')"
gitea_tags+="$(usex sqlite ',sqlite,sqlite_unlock_notify' '')"
gitea_settings=(
"-X code.gitea.io/gitea/modules/setting.CustomConf=${EPREFIX}/etc/gitea/app.ini"
"-X code.gitea.io/gitea/modules/setting.CustomPath=${EPREFIX}/var/lib/gitea/custom"
"-X code.gitea.io/gitea/modules/setting.AppWorkPath=${EPREFIX}/var/lib/gitea"
)
makeenv=(
LDFLAGS="-extldflags \"${LDFLAGS}\" ${gitea_settings[*]}"
TAGS="${gitea_tags}"
)
if [[ ${PV} != *9999 ]]; then
# Use variable STORED_VERSION_FILE (the "${S}/VERSION" file) to set version,
# and prevent executing git command when it's not a live version.
makeenv+=( GITHUB_REF_NAME="" )
fi
if use pie ; then
# Please check the supported platforms when a new keyword request opened,
# refer to file: 'go/src/internal/platform/supported.go'.
# When PIE buildmode is not supported by internal linker, the external
# linker will be used automatically, refer to:
# https://github.com/golang/go/blob/ed817f1c4055a559a94afffecbb91c78e4f39942/src/cmd/link/internal/ld/config.go#L149
makeenv+=( EXTRA_GOFLAGS="-buildmode=pie" )
fi
env "${makeenv[@]}" emake backend
}
src_install() {
dobin gitea
einstalldocs
newconfd "${FILESDIR}/gitea.confd-r1" gitea
newinitd "${FILESDIR}/gitea.initd-r3" gitea
newtmpfiles - gitea.conf <<-EOF
d /run/gitea 0755 git git
EOF
systemd_newunit "${FILESDIR}"/gitea.service-r4 gitea.service
insinto /etc/gitea
newins custom/conf/app.example.ini app.ini
if use acct; then
fowners root:git /etc/gitea/{,app.ini}
fperms g+w,o-rwx /etc/gitea/{,app.ini}
diropts -m0750 -o git -g git
keepdir /var/lib/gitea /var/lib/gitea/custom /var/lib/gitea/data
keepdir /var/log/gitea
fi
}
pkg_postinst() {
fcaps_pkg_postinst
# It is not guaranteed that the git user and group always exist (due to the acct USE Flag),
# but for convenience, the tmpfile uses the git user and group by default.
# To avoid installation errors, a condition needs to be added here:
# if there is no git user or group, the installation of tmpfile will be skipped
# and the user will be notified to handle it by themselves.
if egetent passwd git &>/dev/null && \
egetent group git &>/dev/null; then
tmpfiles_process gitea.conf
else
eerror "Unable to install the tmpfile for gitea due to the git user or group is missing,"
eerror "please install tmpfile manually or rebuild this package with USE flag 'acct'."
eerror "You can simply copy the default tmpfile from '/usr/lib/tmpfiles.d/gitea.conf'"
eerror "to higher priority path '/etc/tmpfiles.d/gitea.conf', and correct it with"
eerror "the right User and Group value (see tmpfiles.d(5) for details), then execute:"
eerror " # systemd-tmpfiles --create /etc/tmpfiles.d/gitea.conf"
eerror "to install it."
fi
if [[ -n ${REPLACING_VERSIONS} ]] && ver_test "${REPLACING_VERSIONS}" -lt 1.21; then
ewarn "Since 1.21.0:"
ewarn " 1. The built-in SSH server will now only accept SSH user"
ewarn " certificates, not server certificates. This behaviour matches OpenSSH."
ewarn " 2. The options of the subcommand must follow the subcommand now."
ewarn " 3. Remove 'CHARSET' config option for MySQL, always use 'utf8mb4'."
ewarn "For other breaking changes, see <https://github.com/go-gitea/gitea/releases/tag/v1.21.0>."
fi
}

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>i@bitbili.net</email>
<name>Ryan Qian</name>
</maintainer>
<maintainer type="person" proxied="proxy">
<email>dlan@gentoo.org</email>
<name>Yixun Lan</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="github">go-gitea/gitea</remote-id>
</upstream>
<use>
<flag name="acct">User and group management via acct-*/git packages</flag>
</use>
</pkgmetadata>