ExclusiveArch: %{go_arches} %if 0%{?el8} || 0%{?el9} || 0%{?el10} || 0%{?fc42} || 0%{?fc43} || 0%{?fc44} %global debug_package %{nil} %endif Name: forgejo Version: 15.0.1 Release: 2%{?dist} Summary: Beyond coding. We forge. License: GPL-3.0-or-later URL: https://forgejo.org/ Source0: https://codeberg.org/%{name}/%{name}/releases/download/v%{version}/%{name}-src-%{version}.tar.gz Source1: forgejo.sysusers BuildRequires: git BuildRequires: make BuildRequires: golang >= 1.26.2 BuildRequires: pam-devel BuildRequires: systemd-rpm-macros %{?sysusers_requires_compat} Requires: git %description Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job. %prep %setup -q -n %{name}-src-%{version} cp %{SOURCE1} . %build sed -i -e 's/-s -w //g' Makefile LDFLAGS="" export LDFLAGS %set_build_flags make \ make %{?_smp_mflags} \ TAGS="bindata timetzdata pam sqlite sqlite_unlock_notify" \ FORGEJO_VERSION="%{version}-%{release}" \ build sed -i \ -e 's|^User=.*$|User=forgejo|g' \ -e 's|^Group=.*$|Group=forgejo|g' \ -e 's|^WorkingDirectory=.*$|WorkingDirectory=%{_sharedstatedir}/forgejo|g' \ -e 's|^ExecStart=.*$|ExecStart=%{_bindir}/forgejo web --config %{_sysconfdir}/forgejo/app.ini|g' \ -e 's|^Environment=.*$|Environment=USER=forgejo HOME=%{_sharedstatedir}/forgejo FORGEJO_WORK_DIR=%{_sharedstatedir}/forgejo|g' \ contrib/systemd/forgejo.service %install install -d %{buildroot}%{_bindir} install -d %{buildroot}%{_sysconfdir}/forgejo install -d %{buildroot}%{_unitdir} install -d %{buildroot}%{_sysusersdir} install -d %{buildroot}%{_sharedstatedir}/forgejo install -d %{buildroot}%{_localstatedir}/log/forgejo install -p -m 0755 gitea %{buildroot}%{_bindir}/%{name} install -p -m 0644 contrib/systemd/forgejo.service %{buildroot}%{_unitdir}/forgejo.service install -p -m 0644 forgejo.sysusers %{buildroot}%{_sysusersdir}/forgejo.conf %pre %sysusers_create_compat forgejo.sysusers %post %systemd_post forgejo.service %preun %systemd_preun forgejo.service %postun %systemd_postun_with_restart forgejo.service %files %license LICENSE %doc CODEOWNERS %doc CONTRIBUTING.md %doc DCO %doc README.md %doc RELEASE-NOTES.md %attr(0700, forgejo, forgejo) %dir %{_sharedstatedir}/forgejo %attr(0700, forgejo, forgejo) %dir %{_localstatedir}/log/forgejo %{_bindir}/%{name} %{_unitdir}/forgejo.service %{_sysusersdir}/forgejo.conf %attr(0770, root, forgejo) %dir %{_sysconfdir}/forgejo %changelog * Sun May 10 2026 Jason Rothstein - Implement systemd macros and sysusers.d best practices * Thu Apr 30 2026 Jason Rothstein - 15.0.1 - Add Fedora 44 - Drop EL8 * Sat Apr 25 2026 Jason Rothstein - 15.0.0 - golang >= 1.26.2