Bug 2396365

Summary: Build forgejo for EPEL 9
Product: [Fedora] Fedora EPEL Reporter: Jos Vos <jos>
Component: forgejoAssignee: Fedora Infrastructure SIG <infra-sig>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: epel9CC: gbailey, go-sig, infra-sig, nphilipp
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jos Vos 2025-09-18 12:22:55 UTC
The forgejo package was added to EPEL 10.  Is it possible to also add it to EPEL 9 or are there technical reasons so that this is not easily possible?  Most servers still run with RHEL 9-derivates.

Comment 1 Greg Bailey 2025-10-20 15:11:04 UTC
I also need Forgejo on a server running a RHEL 9 derivative. Looks like the only change has to do with handling of the first patch file, as I get this error when building against EPEL 9:

error: %patch N no longer applies Patch0 implicitly, add 0 (or -P 0): %patch 1 -p1 -b .pagure-migrator

If I "cheat" and modify the spec file to make the first patch look like a source file vs a patch file, then it builds (and runs) fine on EPEL 9:

diff --git a/forgejo.spec b/forgejo.spec
index 9f3080a..dc0f0e0 100644
--- a/forgejo.spec
+++ b/forgejo.spec
@@ -53,7 +53,7 @@ Source9:        forgejo.sysconfig
 Source10:       forgejo-node-deps-provides.py
 Source11:       forgejo-node-get-licenses.py
 
-Patch0:         forgejo-10.0.1-app.ini.tmpl.patch
+Source12:       forgejo-10.0.1-app.ini.tmpl.patch
 # Pagure migrator plugin. Generate from the pagure-migrator branch of
 # https://codeberg.org/ryanlerch/forgejo like this (assuming the branch is based off of the
 # v12.0/forgejo upstream branch):
@@ -93,7 +93,7 @@ them!
 %prep
 %{gpgverify} --keyring='%{S:2}' --signature='%{S:1}' --data='%{S:0}'
 %autosetup -N -n %{name}-src-%{version}
-patch --input=%{PATCH0} --output=app.ini.tmpl custom/conf/app.example.ini
+patch --input=%{SOURCE12} --output=app.ini.tmpl custom/conf/app.example.ini
 
 %patch 1 -p1 -b .pagure-migrator

Obviously the clean solution is to use some kind of RPM conditional for 0%{?rhel} < 10, but I'm only a part-time Fedora packager and I have to go re-read this stuff when making these kinds of updates...

Comment 2 Greg Bailey 2025-11-06 18:59:52 UTC
I took a stab at building this in a copr repo targeting EPEL 9:

https://copr.fedorainfracloud.org/coprs/gbailey/forgejo/

It's basically using golang 1.25 from Fedora 43 built for EPEL 9, and building the SRPM of Forgejo, also from Fedora 43 Updates.