%global _hardened_build 1 %define gitea_user git %define gitea_group git %define gitea_home /var/lib/gitea/ %define gitea_logdir /var/log/gitea/ Name : gitea Version : 1.20.6 Release : 1%{dist} License : MIT URL : http://gitea.io Summary : Git with a cup of tea Source0 : gitea.service Source1 : gitea.logrotate BuildRequires: golang BuildRequires: git Requires : git %description Gitea is a community managed fork of Gogs, lightweight code hosting solution written in Go and published under the MIT license. %prep %setup -T -q -c %{name}-%{version} export GOPATH=`pwd` mkdir -p src/github.com/go-gitea/ cd src/github.com/go-gitea/ git clone https://github.com/go-gitea/gitea %build export GOPATH=`pwd` cd src/github.com/go-gitea/gitea git checkout tags/v%{version} ### BACKEND - golang sed 's|^var Version = "1.[0-9].[0-9]-dev"$|var Version = "'%{version}'"|g' -i main.go sed 's|h1:NCWpmDDNjHNsrei6VmnYXzOiyZUxV8LVU19REGQ8dKA=|h1:CRDpKE90NuksNOWe7qjq1JHh7yonOht8f7rzAJQSDhc=|' -i go.sum GO111MODULE=on go build -v -ldflags "-extldflags -s -w -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -buildid "%{version}" -X 'main.Version="%{version}"' -X 'main.MakeVersion="%{release}"'" ### FRONTEND - nodejs make frontend V=1 ### CONFIG sed -i 's|^STATIC_ROOT_PATH =$|STATIC_ROOT_PATH = /usr/share/gitea/templates/default/|g' custom/conf/app.example.ini sed -i 's|^ROOT =$|ROOT = /var/lib/gitea/repositories/|g' custom/conf/app.example.ini sed -i 's|^APP_DATA_PATH = data$|APP_DATA_PATH = /var/lib/gitea/data|g' custom/conf/app.example.ini sed -i 's|^PROVIDER_CONFIG = data/sessions$|PROVIDER_CONFIG = /var/lib/gitea/data/sessions|g' custom/conf/app.example.ini sed -i 's|^AVATAR_UPLOAD_PATH = data/avatars$|AVATAR_UPLOAD_PATH = /var/lib/gitea/data/avatars|g' custom/conf/app.example.ini sed -i 's|^PATH = data/attachments$|PATH = /var/lib/gitea/data/attachments|g' custom/conf/app.example.ini sed -i 's|^ROOT_PATH =$|ROOT_PATH = /var/log/gitea|g' custom/conf/app.example.ini sed -i 's|^TEMP_PATH = data/tmp/uploads$|TEMP_PATH = /var/lib/gitea/data/tmp/uploads|g' custom/conf/app.example.ini %install install -p -D -m 0644 %{SOURCE0} %{buildroot}%{_unitdir}/gitea.service mkdir -p %{buildroot}/%{gitea_home}/conf/ install -p -D -m 0644 src/github.com/go-gitea/gitea/custom/conf/app.example.ini %{buildroot}%{gitea_home}/conf/app.ini cp -r src/github.com/go-gitea/gitea/options/ %{buildroot}%{gitea_home}/ install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/gitea mkdir -p %{buildroot}%{_datadir}/%{name}/templates/default/ cp -r src/github.com/go-gitea/gitea/templates %{buildroot}%{_datadir}/%{name}/templates/default/ cp -r src/github.com/go-gitea/gitea/public %{buildroot}%{_datadir}/%{name}/templates/default/ install -p -D -m 0555 src/github.com/go-gitea/gitea/gitea %{buildroot}%{_bindir}/gitea install -p -d -m 0700 %{buildroot}%{gitea_home} install -p -d -m 0700 %{buildroot}%{gitea_logdir} %pre getent group %{gitea_group} > /dev/null || groupadd -r %{gitea_group} getent passwd %{gitea_user} > /dev/null || \ useradd -r -d %{gitea_home} -g %{gitea_group} \ -s /bin/bash -c "git user" %{gitea_user} exit 0 %post %systemd_post gitea.service %preun %systemd_preun gitea.service %postun %systemd_postun gitea.service %files %config(noreplace) %{gitea_home}/conf/app.ini %{gitea_home}/options/locale/* %{gitea_home}/options/license/* %{gitea_home}/options/label/* %{gitea_home}/options/readme/* %{gitea_home}/options/gitignore/* %{_sysconfdir}/logrotate.d/%{name} %{_bindir}/gitea %{_unitdir}/gitea.service %{_datadir}/%{name}/templates/ %attr(700,%{gitea_user},%{gitea_group}) %dir %{gitea_home} %attr(700,%{gitea_user},%{gitea_group}) %dir %{gitea_logdir} %changelog