www-apps/gitea: bump to 1.8.2 + fix systemd service
authorFelix Neumärker <xdch47@posteo.de>
Wed, 24 Apr 2019 06:25:13 +0000 (08:25 +0200)
committerMichał Górny <mgorny@gentoo.org>
Fri, 7 Jun 2019 13:17:46 +0000 (15:17 +0200)
Closes: https://bugs.gentoo.org/671596
Closes: https://bugs.gentoo.org/684196
Closes: https://bugs.gentoo.org/685616
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Felix Neumärker <xdch47@posteo.de>
Closes: https://github.com/gentoo/gentoo/pull/11977
Signed-off-by: Michał Górny <mgorny@gentoo.org>
www-apps/gitea/Manifest
www-apps/gitea/files/gitea.initd-r3 [new file with mode: 0644]
www-apps/gitea/files/gitea.service-r2 [new file with mode: 0644]
www-apps/gitea/gitea-1.8.2.ebuild [new file with mode: 0644]

index 4bc7d85e61702c3a2ec18c597f22c0f7a0d4f1ae..7b0f2c8349bd0da371d777140cccc55f5c52f2ea 100644 (file)
@@ -1 +1,2 @@
 DIST gitea-1.8.0.tar.gz 24268907 BLAKE2B b46a17733fc7bd0f228620bdfadf0d596ea56fca6e685afab7734e794c1f87c5e004529ca3d69e907d516bcb83563565b1d8c32501f1c2c0f9295ca028d96ad0 SHA512 eebbe2f77ed2e4c3562f48a6fa647e6f2a0492c5b6ea4f13542a5ef82e94a357a8d53897aa013107b5f735d2aff9d719893b5724de44831c43998c2e9c6e78d7
+DIST gitea-1.8.2.tar.gz 24321492 BLAKE2B 48a718edd1d607e4f8ee2a301bdd907f2a233be515fa327eac9cfb50cdbc024e5f90e6e86e95056c256cb35497c5a3b2ab5fa4a068a22b28c1a3d2b94780da7a SHA512 23ef63c1cea276800a19fe04b87b4baa421e1202260b4ec55614a77ee54c0bc9e5db6dad7f98791c4d902b2d4cb15f4facc4d201631cf2ef7cefd0ff996753be
diff --git a/www-apps/gitea/files/gitea.initd-r3 b/www-apps/gitea/files/gitea.initd-r3
new file mode 100644 (file)
index 0000000..680ae83
--- /dev/null
@@ -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}"
diff --git a/www-apps/gitea/files/gitea.service-r2 b/www-apps/gitea/files/gitea.service-r2
new file mode 100644 (file)
index 0000000..1931b46
--- /dev/null
@@ -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-9.3.service
+After=postgresql-9.4.service
+After=postgresql-9.5.service
+After=postgresql-9.6.service
+After=postgresql-10.service
+After=postgresql-11.service
+After=postgresql-12.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 web --config /etc/gitea/app.ini
+
+Restart=always
+PrivateTmp=true
+Nice=5
+
+[Install]
+WantedBy=multi-user.target
diff --git a/www-apps/gitea/gitea-1.8.2.ebuild b/www-apps/gitea/gitea-1.8.2.ebuild
new file mode 100644 (file)
index 0000000..bdefa9b
--- /dev/null
@@ -0,0 +1,104 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit golang-vcs-snapshot systemd user
+
+EGO_PN="code.gitea.io/gitea"
+
+DESCRIPTION="A painless self-hosted Git service"
+HOMEPAGE="https://gitea.io"
+SRC_URI="https://github.com/go-gitea/gitea/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="pam sqlite"
+
+COMMON_DEPEND="pam? ( sys-libs/pam )"
+DEPEND="${COMMON_DEPEND}
+       dev-go/go-bindata"
+RDEPEND="${COMMON_DEPEND}
+       dev-vcs/git"
+
+DOCS=( custom/conf/app.ini.sample CONTRIBUTING.md README.md )
+S="${WORKDIR}/${P}/src/${EGO_PN}"
+
+pkg_setup() {
+       enewgroup git
+       enewuser git -1 /bin/bash /var/lib/gitea git
+}
+
+gitea_make() {
+       local my_tags=(
+               bindata
+               $(usev pam)
+               $(usex sqlite 'sqlite sqlite_unlock_notify' '')
+       )
+       local my_makeopt=(
+               DRONE_TAG=${PV}
+               TAGS="${my_tags[@]}"
+       )
+       GOPATH=${WORKDIR}/${P}:$(get_golibdir_gopath) emake "${my_makeopt[@]}" "$@"
+}
+
+src_prepare() {
+       default
+       sed -i \
+               -e "s#^RUN_MODE = dev#RUN_MODE = prod#"                                     \
+               -e "s#^ROOT =#ROOT = ${EPREFIX}/var/lib/gitea/gitea-repositories#"          \
+               -e "s#^ROOT_PATH =#ROOT_PATH = ${EPREFIX}/var/log/gitea#"                   \
+               -e "s#^APP_DATA_PATH = data#APP_DATA_PATH = ${EPREFIX}/var/lib/gitea/data#" \
+               -e "s#^HTTP_ADDR = 0.0.0.0#HTTP_ADDR = 127.0.0.1#"                          \
+               -e "s#^MODE = console#MODE = file#"                                         \
+               -e "s#^LEVEL = Trace#LEVEL = Info#"                                         \
+               -e "s#^LOG_SQL = true#LOG_SQL = false#"                                     \
+               -e "s#^DISABLE_ROUTER_LOG = false#DISABLE_ROUTER_LOG = true#"               \
+               -e "s#^APP_ID =#;APP_ID =#"                                                 \
+               -e "s#^TRUSTED_FACETS =#;TRUSTED_FACETS =#"                                 \
+               custom/conf/app.ini.sample || die
+       if use sqlite ; then
+               sed -i -e "s#^DB_TYPE = .*#DB_TYPE = sqlite3#" custom/conf/app.ini.sample || die
+       fi
+
+       gitea_make generate
+}
+
+src_compile() {
+       gitea_make build
+}
+
+src_test() {
+       gitea_make test
+}
+
+src_install() {
+       dobin gitea
+
+       einstalldocs
+
+       newconfd "${FILESDIR}"/gitea.confd-r1 gitea
+       newinitd "${FILESDIR}"/gitea.initd-r3 gitea
+       systemd_newunit "${FILESDIR}"/gitea.service-r2 gitea.service
+
+       insinto /etc/gitea
+       newins custom/conf/app.ini.sample app.ini
+       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
+}
+
+pkg_postinst() {
+       if [[ -e "${EROOT}/var/lib/gitea/conf/app.ini" ]]; then
+               ewarn "The configuration path has been changed to ${EROOT}/etc/gitea/app.ini."
+               ewarn "Please move your configuration from ${EROOT}/var/lib/gitea/conf/app.ini"
+               ewarn "and adapt the gitea-repositories hooks and ssh authorized_keys."
+               ewarn "Depending on your configuration you should run something like:"
+               ewarn "sed -i -e 's#${EROOT}/var/lib/gitea/conf/app.ini#${EROOT}/etc/gitea/app.ini#' \\"
+               ewarn "  /var/lib/gitea/gitea-repositories/*/*/hooks/*/* \\"
+               ewarn "  /var/lib/gitea/.ssh/authorized_keys"
+       fi
+}