%global gitver 2.25.1 %global cachedir %{_localstatedir}/cache/%{name} %global filterdir %{_libexecdir}/%{name}/filters %global scriptdir %{_localstatedir}/www/cgi-bin %global cgitdata %{_datadir}/%{name} %global gpg_cgit AB9942E6D4A4CFC3412620A749FC7012A5DE03AE %global gpg_git 96E07AF25771955980DAD10020D04E5A713660A7 %global _python_bytecompile_extra 0 %global use_perl_interpreter 1 %bcond_with highlight %bcond_without httpd_filesystem Name: cgit Version: 1.2.3 Release: 1 Summary: A fast web interface for git License: GPLv2 URL: https://git.zx2c4.com/cgit/ Source0: https://git.zx2c4.com/cgit/snapshot/%{name}-%{version}.tar.xz Source1: https://www.kernel.org/pub/software/scm/git/git-%{gitver}.tar.xz Source2: cgitrc Source3: README.SELinux Source90: gpgkey-%{gpg_cgit}.asc Source91: gpgkey-%{gpg_git}.asc Source92: https://git.zx2c4.com/cgit/snapshot/%{name}-%{version}.tar.asc Source93: https://www.kernel.org/pub/software/scm/git/git-%{gitver}.tar.sign Patch0: cgit-0.9.1-highlightv3.patch Provides: bundled(git) = %gitver %if %{with highlight} BuildRequires: highlight %endif BuildRequires: asciidoc gcc gnupg2 libcurl-devel openssl-devel lua-devel make zlib-devel BuildRequires: gettext lzip %if %{use_perl_interpreter} BuildRequires: perl-interpreter %else BuildRequires: perl %endif BuildRequires: perl(ExtUtils::MakeMaker) strace tidy unzip xz zstd %if %{with httpd_filesystem} Requires: httpd-filesystem %endif Requires: webserver %description Cgit is a fast web interface for git. It uses caching to increase performance. %prep gpghome="$(mktemp -qd)" verify_source() { local src=$1 key=$2 ext=$3 tar tar=${src/%.xz/} xz -dc $src > $tar gpg2 --dearmor --quiet --batch --yes $key >/dev/null gpgv2 --homedir "$gpghome" --quiet --keyring $key.gpg $tar$ext $tar rm -f $key.gpg $tar } verify_source %{SOURCE0} %{SOURCE90} .asc verify_source %{SOURCE1} %{SOURCE91} .sign rm -rf "$gpghome" %autosetup -a 1 -p1 rm -rf git mv git-%{gitver} git cp -p %{SOURCE3} . cat << \EOF > cgit.conf V = 1 CFLAGS = %{optflags} LDFLAGS = %{?__global_ldflags} CACHE_ROOT = %{cachedir} CGIT_SCRIPT_PATH = %{scriptdir} CGIT_SCRIPT_NAME = cgit CGIT_DATA_PATH = %{cgitdata} COPYTREE = %{__cp} -rp docdir = %{docdir} filterdir = %{filterdir} prefix = %{_prefix} EOF cat << \EOF > git/config.mak V = 1 CFLAGS = %{optflags} LDFLAGS = %{?__global_ldflags} EOF grep -rl '#!.*/env' filters/ | xargs -r sed -Ei 's@^(.+/)env (.+)$@\1\2@' find contrib -type f | xargs -r chmod -x cat > httpd.conf < Require all granted EOF %build %make_build all doc-man doc-html %if %{with highlight} highlight --print-style --style-outfile=stdout >> cgit.css %endif %install %make_install install install-man install -d -m0755 %{buildroot}%{_sysconfdir}/httpd/conf.d install -p -m0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/cgitrc install -p -m0644 httpd.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/cgit.conf install -d -m0755 %{buildroot}%{cachedir} %check make test %files %doc README* contrib *.html %license COPYING %config(noreplace) %{_sysconfdir}/cgitrc %if ! %{with httpd_filesystem} %dir %{_sysconfdir}/httpd %dir %{_sysconfdir}/httpd/conf.d %endif %config(noreplace) %{_sysconfdir}/httpd/conf.d/cgit.conf %dir %attr(-,apache,root) %{cachedir} %{cgitdata} %{filterdir} %exclude %{filterdir}/*.py[co] %{scriptdir}/* %{_mandir}/man*/* %changelog * Tue Sep 7 2021 zhengyaohui - 1.2.3-1 - package init