108 lines
2.7 KiB
RPMSpec
108 lines
2.7 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: 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
|