86 lines
2.4 KiB
RPMSpec
86 lines
2.4 KiB
RPMSpec
%define debug_package %{nil}
|
|
|
|
Name: %(make name)
|
|
Version: %(make version)
|
|
Release: %(make release)
|
|
Summary: Netoik Reverse Proxy
|
|
License: MIT
|
|
URL: https://git.netoik.io/samuel/%(make name)
|
|
|
|
Source0: %{name}-%{version}-%{release}.tar.gz
|
|
Buildarch: %(make arch)
|
|
BuildRequires: make
|
|
Requires: netoik-rp netoik-db netoik-cache git
|
|
|
|
%description
|
|
Install the Git UI server called Gitea.
|
|
|
|
%prep
|
|
%autosetup -v
|
|
|
|
%install
|
|
%make_install
|
|
|
|
%post
|
|
# Download gitea bin and verify gpg signature
|
|
wget --output-document %{_tmppath}/gitea "$GITEA_BIN_URL"
|
|
wget --output-document %{_tmppath}/gitea.asc "$GITEA_ASC_URL"
|
|
gpg --keyserver "$GITEA_GPG_KEYSERVER" --recv "$GITEA_GPG_RECV"
|
|
gpg --verify %{_tmppath}/gitea.asc %{_tmppath}/gitea
|
|
mv %{_tmppath}/gitea %{_sbindir}
|
|
chmod 755 %{_sbindir}/gitea
|
|
rm %{_tmppath}/gitea.asc
|
|
|
|
# Create gitea user
|
|
useradd --system --create-home --bade-dir %{_sharedstatedir} gitea
|
|
runuser --user gitea -- mkdir --parents %{_sharedstatedir}/gitea/{data,custom}
|
|
|
|
# Generate internal token and secret key
|
|
INTERNAL_TOKEN="$(gitea generate secret INTERNAL_TOKEN)"
|
|
SECRET_KEY="$(gitea generate secret SECRET_KEY)"
|
|
envsubst < %{_sysconfdir}/gitea/app.ini > %{_sysconfdir}/gitea/app.ini.new
|
|
mv %{_sysconfdir}/gitea/app.ini.new %{_sysconfdir}/gitea/app.ini
|
|
chmod 600 %{_sysconfdir}/gitea/app.ini
|
|
|
|
# Create actrunners
|
|
for i in $(seq 1 $GITEA_ACT_RUNNERS); do
|
|
if ! id "actrunner$i"; then
|
|
useradd --system --create-home --base-dir %{_sharedstatedir}/actrunners "actrunner$i"
|
|
systemctl daemon-reload
|
|
systemctl reenable "actrunner@$i"
|
|
systemctl restart "actrunner@$i"
|
|
fi
|
|
done
|
|
|
|
# Start gitea service
|
|
systemctl daemon-reload
|
|
systemctl reenable gitea.service
|
|
systemctl restart gitea.service
|
|
|
|
%preun
|
|
# Backup gitea data in case of problem
|
|
runuser --user gitea -- gitea dump --config %{_sysconfdir}/gitea/app.ini --tempdir %{_tmppath}
|
|
|
|
%postun
|
|
# Remove gitea user after uninstall
|
|
if [ %1 == 0 ]; then
|
|
systemctl stop gitea.service
|
|
userdel --force --remove gitea
|
|
fi
|
|
|
|
%files
|
|
%attr(644, root, root) %{_sysconfdir}/nginx/conf.d/git.netoik.io.conf
|
|
|
|
%dir %attr(755, root, root) %{_sysconfdir}/gitea
|
|
%attr(640, root, gitea) %{_sysconfdir}/gitea/app.ini
|
|
|
|
%attr(644, root, root) %{_unitdir}/gitea.service
|
|
%attr(644, root, root) %{_unitdir}/actrunner@.service
|
|
|
|
%dir %attr(755, root, root) %{_sharedstatedir}/actrunners
|
|
|
|
%changelog
|
|
%autochangelog
|
|
|
|
|