Name: gitea Version: 1.25.5 Release: 1%{?dist} Summary: Gitea - Git with a cup of tea License: MIT Group: System Environment/Base URL: https://gitea.com Source0: https://dl.gitea.com/gitea/%{version}/gitea-%{version}-linux-amd64 Source1: https://dl.gitea.com/gitea/%{version}/gitea-%{version}-linux-arm64 Source10: gitea.service Source11: gitea.sysusers Source12: gitea.tmpfiles Source13: app.ini Source14: 50-gitea-service.conf Source15: 50-gitea-container.conf Source16: gitea.container Source17: gitea-keys Source18: gitea-shim Source19: gitea-database.conf Source20: gitea.pod Source21: gitea-db.container Source22: gitea-pod-enable.conf Source23: gitea-container-database.conf Source24: gitea-db-pod.conf Source25: gitea-db-publish.conf Source26: gitea-sudoers Source27: gitea-db-credentials.conf ExclusiveArch: x86_64 aarch64 BuildRequires: systemd-rpm-macros %description Gitea is a painless self-hosted all-in-one software development service. It includes Git hosting, code review, team collaboration, package registry and CI/CD. %package service Summary: Gitea systemd service (native binary) Requires: %{name} = %{version}-%{release} Requires: git Conflicts: %{name}-container %{?systemd_requires} %description service Runs Gitea as a native binary under systemd. Includes the gitea binary, systemd unit, and SSH passthrough configuration. %package container Summary: Gitea container (Podman quadlet) Requires: %{name} = %{version}-%{release} Requires: podman Requires: containers-common Conflicts: %{name}-service %description container Runs Gitea as a Podman container via quadlet. Includes the container definition, SSH passthrough shim, and sshd configuration. %package postgresql Summary: PostgreSQL database support for Gitea Requires: podman Requires: containers-common Requires: %{name} = %{version}-%{release} %description postgresql Provides PostgreSQL database integration for Gitea. When used with gitea-service, adds a systemd dependency on postgresql.service. When used with gitea-container, ships a PostgreSQL container (gitea-db) in the pod. %install %{__rm} -rf %{buildroot} # Binary (for -service subpackage) → libexec install -d -m 755 %{buildroot}%{_libexecdir} %ifarch x86_64 install -m 755 %{SOURCE0} %{buildroot}%{_libexecdir}/gitea %endif %ifarch aarch64 install -m 755 %{SOURCE1} %{buildroot}%{_libexecdir}/gitea %endif # Shim (for -container subpackage) install -d -m 755 %{buildroot}%{_libexecdir} install -m 755 %{SOURCE18} %{buildroot}%{_libexecdir}/gitea-container # Base: sysusers, tmpfiles, config install -p -D -m 644 %{SOURCE11} %{buildroot}%{_sysusersdir}/gitea.conf install -p -D -m 644 %{SOURCE12} %{buildroot}%{_tmpfilesdir}/gitea.conf install -d -m 770 %{buildroot}%{_sysconfdir}/gitea install -m 640 %{SOURCE13} %{buildroot}%{_sysconfdir}/gitea/app.ini # Base: data dirs install -d -m 750 %{buildroot}%{_sharedstatedir}/gitea install -d -m 750 %{buildroot}%{_sharedstatedir}/gitea/custom install -d -m 750 %{buildroot}%{_sharedstatedir}/gitea/data install -d -m 750 %{buildroot}%{_sharedstatedir}/gitea/data/git install -d -m 750 %{buildroot}%{_sharedstatedir}/gitea/data/git/repositories install -d -m 750 %{buildroot}%{_sharedstatedir}/gitea/data/git/lfs install -d -m 750 %{buildroot}%{_sharedstatedir}/gitea/log # Service subpackage install -p -D -m 644 %{SOURCE10} %{buildroot}%{_unitdir}/gitea.service install -p -D -m 644 %{SOURCE14} %{buildroot}%{_sysconfdir}/ssh/sshd_config.d/50-gitea.conf install -p -D -m 644 %{SOURCE25} %{buildroot}%{_datadir}/containers/systemd/gitea-db.container.d/publish.conf # Container subpackage install -p -D -m 644 %{SOURCE15} %{buildroot}%{_sysconfdir}/ssh/sshd_config.d/50-gitea.conf install -p -D -m 644 %{SOURCE16} %{buildroot}%{_datadir}/containers/systemd/gitea.container install -p -D -m 644 %{SOURCE20} %{buildroot}%{_datadir}/containers/systemd/gitea.pod install -p -D -m 644 %{SOURCE22} %{buildroot}%{_sysconfdir}/containers/systemd/gitea.pod.d/enable.conf install -p -D -m 755 %{SOURCE17} %{buildroot}%{_libexecdir}/gitea-keys install -p -D -m 644 %{SOURCE24} %{buildroot}%{_datadir}/containers/systemd/gitea-db.container.d/pod.conf install -p -D -m 440 %{SOURCE26} %{buildroot}%{_sysconfdir}/sudoers.d/gitea # PostgreSQL subpackage install -d -m 750 %{buildroot}%{_sharedstatedir}/gitea/postgresql install -p -D -m 644 %{SOURCE19} %{buildroot}%{_sysconfdir}/containers/systemd/gitea.service.d/database.conf install -p -D -m 644 %{SOURCE21} %{buildroot}%{_datadir}/containers/systemd/gitea-db.container install -p -D -m 644 %{SOURCE23} %{buildroot}%{_datadir}/containers/systemd/gitea.container.d/database.conf install -p -D -m 644 %{SOURCE27} %{buildroot}%{_sysconfdir}/containers/systemd/gitea-db.container.d/credentials.conf %pre %sysusers_create_compat %{SOURCE11} %post service %systemd_post gitea.service %posttrans service ln -sf %{_libexecdir}/gitea %{_bindir}/gitea %preun service %systemd_preun gitea.service %postun service %systemd_postun gitea.service if [ $1 -eq 0 ]; then rm -f %{_bindir}/gitea fi %post container %systemd_post gitea.service %posttrans container ln -sf %{_libexecdir}/gitea-container %{_bindir}/gitea %preun container %systemd_preun gitea.service if [ $1 -eq 0 ]; then rm -f %{_bindir}/gitea fi %postun container %systemd_postun gitea.service %clean %{__rm} -rf %{buildroot} %files %defattr(-,root,root,-) %{_sysusersdir}/gitea.conf %{_tmpfilesdir}/gitea.conf %dir %attr(0770,root,git) %{_sysconfdir}/gitea %config(noreplace) %attr(0640,root,git) %{_sysconfdir}/gitea/app.ini %dir %attr(0750,git,git) %{_sharedstatedir}/gitea %dir %attr(0750,git,git) %{_sharedstatedir}/gitea/custom %dir %attr(0750,git,git) %{_sharedstatedir}/gitea/data %dir %attr(0750,git,git) %{_sharedstatedir}/gitea/data/git %dir %attr(0750,git,git) %{_sharedstatedir}/gitea/data/git/repositories %dir %attr(0750,git,git) %{_sharedstatedir}/gitea/data/git/lfs %dir %attr(0750,git,git) %{_sharedstatedir}/gitea/log %files service %defattr(-,root,root,-) %{_libexecdir}/gitea %ghost %{_bindir}/gitea %attr(0644,root,root) %{_unitdir}/gitea.service %config(noreplace) %{_sysconfdir}/ssh/sshd_config.d/50-gitea.conf %{_datadir}/containers/systemd/gitea-db.container.d/publish.conf %files container %defattr(-,root,root,-) %attr(0755,root,root) %{_libexecdir}/gitea-container %ghost %{_bindir}/gitea %config(noreplace) %{_sysconfdir}/ssh/sshd_config.d/50-gitea.conf %{_datadir}/containers/systemd/gitea.container %{_datadir}/containers/systemd/gitea.pod %dir %{_sysconfdir}/containers/systemd/gitea.pod.d %config(noreplace) %{_sysconfdir}/containers/systemd/gitea.pod.d/enable.conf %attr(0755,root,root) %{_libexecdir}/gitea-keys %dir %{_datadir}/containers/systemd/gitea-db.container.d %{_datadir}/containers/systemd/gitea-db.container.d/pod.conf %attr(0440,root,root) %{_sysconfdir}/sudoers.d/gitea %files postgresql %defattr(-,root,root,-) %dir %attr(0750,git,git) %{_sharedstatedir}/gitea/postgresql # For -service: systemd drop-in adding postgresql.service dependency %dir %{_sysconfdir}/containers/systemd/gitea.service.d %config(noreplace) %{_sysconfdir}/containers/systemd/gitea.service.d/database.conf # For -container: gitea-db container + drop-in wiring it to gitea %{_datadir}/containers/systemd/gitea-db.container %dir %{_datadir}/containers/systemd/gitea.container.d %config(noreplace) %{_datadir}/containers/systemd/gitea.container.d/database.conf %dir %{_sysconfdir}/containers/systemd/gitea-db.container.d %config(noreplace) %{_sysconfdir}/containers/systemd/gitea-db.container.d/credentials.conf %changelog * Wed Mar 18 2026 Zoran Pericic - 1.25.4-1 - Initial package with service, container and postgresql subpackages