# Do not try to package empty debug_package %global debug_package %{nil} %global major_version 10 %global minor_version 0 %global patch_version 1 %global full_version %{major_version}.%{minor_version}.%{patch_version} Name: forgejo Version: %{major_version}.%{minor_version}.%{patch_version} Release: 1%{?dist} Summary: A painless self-hosted Git service License: MIT URL: https://forgejo.org Source0: https://codeberg.org/forgejo/forgejo/releases/download/v%{full_version}/%{name}-src-%{full_version}.tar.gz Source1: https://codeberg.org/forgejo/forgejo/releases/download/v%{full_version}/%{name}-src-%{full_version}.tar.gz.asc Source2: forgejo.service Source3: forgejo.conf Source4: app.default.ini Patch0: log-info-staticrootpath.patch BuildRequires: golang >= 1.23.2 BuildRequires: nodejs >= 16.20 BuildRequires: sqlite-devel BuildRequires: pam-devel BuildRequires: systemd BuildRequires: git-core BuildRequires: make %if 0%{?rhel} >= 9 BuildRequires: go-rpm-macros %endif Requires(pre): shadow-utils Requires: git-core Requires: git-lfs Requires: asciidoc Requires: bash-completion %description Forgejo is a painless self-hosted Git service written in Go. %prep %setup -q -n %{name}-src-%{version} %patch -P0 -p1 %build # Workaround OS's update cycle #sed -i s/1.22.3/1.22.2/ go.mod sed -i s/gitea/%{name}/ contrib/autocompletion/bash_autocomplete TAGS="bindata sqlite sqlite_unlock_notify" \ LDFLAGS="-X \"code.gitea.io/gitea/modules/setting.CustomPath=%{_sysconfdir}/%{name}\" \ -X \"code.gitea.io/gitea/modules/setting.CustomConf=%{_sysconfdir}/%{name}/conf/app.ini\" \ -X \"code.gitea.io/gitea/modules/setting.AppWorkPath=%{_sharedstatedir}/%{name}\" \ -X \"main.Version=%{full_version}\" " \ make build %install %{__rm} -rf %{buildroot} install -d -m 0755 %{buildroot}%{_bindir} install -m 755 gitea %{buildroot}%{_bindir}/%{name} install -d -m 0755 %{buildroot}%{_docdir}/%{name} install -m 644 custom/conf/app.example.ini %{buildroot}%{_docdir}/%{name}/app.example.ini install -d -m 0755 %{buildroot}%{_datadir}/bash-completion/completions install -m 644 contrib/autocompletion/bash_autocomplete %{buildroot}%{_datadir}/bash-completion/completions/%{name} install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}/conf \ %{buildroot}%{_sysconfdir}/%{name}/public/assets \ %{buildroot}%{_sysconfdir}/%{name}/templates install -m 640 %{SOURCE4} %{buildroot}%{_sysconfdir}/%{name}/conf/app.ini install -m 640 %{SOURCE4} %{buildroot}%{_sysconfdir}/%{name}/conf/app.dist.ini install -m 640 custom/conf/app.example.ini %{buildroot}%{_sysconfdir}/%{name}/conf/app.example.ini install -d -m 0755 %{buildroot}/%{_unitdir} install -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/%{name}.service install -d -m 0755 %{buildroot}%{_sysconfdir}/sysconfig install -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/%{name} install -d -m 0750 %{buildroot}%{_sharedstatedir}/%{name} install -d -m 0755 %{buildroot}%{_localstatedir}/log/%{name} %clean %{__rm} -rf %{buildroot} %pre getent group %{name} > /dev/null || groupadd -r %{name} getent passwd %{name} > /dev/null || \ useradd -r -g %{name} -s /bin/bash \ -d %{_sharedstatedir}/%{name} \ -c "Forge service" %{name} %post %systemd_post %{name}.service if ! [[ -f %{_sysconfdir}/%{name}/public/robots.txt ]] ; then echo -e "User-agent: *\nDisallow: /" > %{_sysconfdir}/%{name}/public/robots.txt fi %preun %systemd_preun %{name}.service %postun %systemd_postun_with_restart %{name}.service %files %defattr(-,root,root,-) %doc README.md RELEASE-NOTES.md %license LICENSE vendor/modules.txt %{_bindir}/%{name} %{_docdir}/%{name}/app.example.ini %{_unitdir}/%{name}.service %config(noreplace) %{_sysconfdir}/sysconfig/%{name} %attr(0755,-,-) %dir %{_sysconfdir}/%{name}/public/assets %attr(0755,-,-) %dir %{_sysconfdir}/%{name}/templates %attr(0640,-,%{name}) %{_sysconfdir}/%{name}/conf/app.example.ini %attr(0640,-,%{name}) %{_sysconfdir}/%{name}/conf/app.dist.ini %attr(0640,%{name},%{name}) %config(noreplace) %{_sysconfdir}/%{name}/conf/app.ini %attr(0755,%{name},%{name}) %dir %{_localstatedir}/log/%{name} %attr(0750,%{name},%{name}) %dir %{_sharedstatedir}/%{name} %{_datadir}/bash-completion/completions/%{name} %changelog * Wed Oct 30 2024 Engineering - 9.0.1-1.1 - Update to 9.0.1