%global debug_package %{nil} %global build_ldflags %{nil} %define _build_id_links none %global goipath forgejo.org Name: forgejo Version: 12.0.0 Release: %autorelease Summary: Beyond coding, we forge License: GPL-3.0-or-later URL: https://codeberg.org/forgejo/forgejo Source0: %{URL}/releases/download/v%{version}/%{name}-src-%{version}.tar.gz Source1: forgejo.service Source2: forgejo.sysusers Source3: forgejo.tmpfiles BuildRequires: coreutils BuildRequires: go-rpm-macros BuildRequires: systemd-rpm-macros BuildRequires: golang-bin >= 1.24 BuildRequires: golang-src >= 1.24 BuildRequires: make BuildRequires: nodejs-npm BuildRequires: systemd-rpm-macros Requires: git Requires: git-lfs Requires: sed %description Forgejo is a lightweight software forge. Use it to host git repositories, track their issues and allow people to contribute to them! %prep %setup -q -n forgejo-src-%{version} %build %global gomodulesmode GO111MODULE=on %global gotags bindata timetzdata %global gobuildflags %{?gobuildflags} -tags '%gotags' make %{?_smp_mflags} TAGS="%gotags" generate-go export EXTRA_GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw" export GO_LDFLAGS="-X \"forgejo.org/modules/setting.CustomPath=%{_sysconfdir}/%{name}\" \ -X \"forgejo.org/modules/setting.CustomConf=%{_sysconfdir}/%{name}/conf/app.ini\" \ -X \"forgejo.org/modules/setting.AppWorkPath=%{_sharedstatedir}/%{name}\"" %gobuild -o forgejo %{goipath} %install install -m755 -D %{name} %{buildroot}%{_bindir}/%{name} install -m644 -p -D %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service install -m644 -p -D %{SOURCE2} %{buildroot}%{_sysusersdir}/%{name}.conf install -m644 -p -D %{SOURCE3} %{buildroot}%{_tmpfilesdir}/%{name}.conf %pre %sysusers_create_compat %{SOURCE2} %post %systemd_post %{name}.service %preun %systemd_preun %{name}.service %postun %systemd_postun_with_restart %{name}.service %files %{_bindir}/forgejo %{_unitdir}/%{name}.service %{_sysusersdir}/%{name}.conf %{_tmpfilesdir}/%{name}.conf %changelog