%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 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