Files
forgejo/forgejo.spec
T
2026-05-11 23:30:59 -05:00

148 lines
3.3 KiB
RPMSpec

ExclusiveArch: %{go_arches}
%if 0${?el8} || 0%{?el9} || 0%{?el10} || 0%{?fc42} || 0%{?fc43} || 0%{?fc44}
%global debug_package %{nil}
%endif
Name: forgejo
Version: 11.0.13
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.25.9
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
%make_build \
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
* Mon May 11 2026 Jason Rothstein
- packaging best practices for Fedora 44
* Wed Apr 29 2026 Jason Rothstein
- 11.0.13
* Tue Apr 28 2026 Jason Rothstein
- Drop EL8
* Mon Apr 27 2026 Jason Rothstein
- Add Fedora 44
* Wed Apr 15 2026 Jason Rothstein
- 11.0.12
- golang >= 1.25.9
* Sun Feb 01 2026 Jason Rothstein
- 11.0.10
- golang >= 1.25.6
* Sun Feb 01 2026 Jason Rothstein
- 11.0.9
* Wed Nov 26 2025 Jason Rothstein
- 11.0.8
* Tue Nov 25 2025 Jason Rothstein
- 11.0.7
- golang >= 1.25
* Wed Oct 29 2025 Jason Rothstein
- 11.0.6
* Mon Oct 27 2025 Jason Rothstein
- 11.0.6
* Sat Oct 25 2025 Jason Rothstein
- 11.0.5
* Thu Oct 23 2025 Jason Rothstein
- 11.0.4
* Fri Aug 01 2025 Jason Rothstein
- 11.0.3
* Tue Jul 14 2025 Jason Rothstein
- 11.0.2
* Sun May 11 2025 Jason Rothstein
- 11.0.1
* Sun Apr 27 2025 Jason Rothstein
- 11.0.0
- goland >= 1.24
- debug packages won't be built