diff --git a/SOURCES/git.xinetd.in b/SOURCES/git.xinetd.in
index 540e070..d4ca95d 100644
--- a/SOURCES/git.xinetd.in
+++ b/SOURCES/git.xinetd.in
@@ -8,7 +8,7 @@ service git
socket_type = stream
wait = no
user = nobody
- server = @GITCOREDIR@/git-daemon
+ server = @GITEXECDIR@/git-daemon
server_args = --base-path=@BASE_PATH@ --export-all --user-path=public_git --syslog --inetd --verbose
log_on_failure += USERID
}
diff --git a/SOURCES/git@.service.in b/SOURCES/git@.service.in
new file mode 100644
index 0000000..7abcfeb
--- /dev/null
+++ b/SOURCES/git@.service.in
@@ -0,0 +1,10 @@
+[Unit]
+Description=Git Repositories Server Daemon
+Documentation=man:git-daemon(1)
+
+[Service]
+User=nobody
+ExecStart=-@GITEXECDIR@/git-daemon --base-path=@BASE_PATH@ --export-all \
+ --user-path=public_git --inetd --log-destination=stderr --verbose
+StandardInput=socket
+StandardError=journal
diff --git a/SOURCES/gitweb-httpd.conf b/SOURCES/gitweb-httpd.conf
new file mode 100644
index 0000000..4f4eac7
--- /dev/null
+++ b/SOURCES/gitweb-httpd.conf
@@ -0,0 +1,7 @@
+Alias /git /var/www/git
+
+
+ Options +ExecCGI
+ AddHandler cgi-script .cgi
+ DirectoryIndex gitweb.cgi
+
diff --git a/SOURCES/gpgkey-junio.asc b/SOURCES/gpgkey-junio.asc
index 7214aea..5edb58f 100644
--- a/SOURCES/gpgkey-junio.asc
+++ b/SOURCES/gpgkey-junio.asc
@@ -1,5 +1,4 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1
mQINBE6GdewBEADE3szNmKeUAUad22z1tWkLjLzyDcJpF7IzEnLs8bD1y0I6iqH0
169ru5iXKn29wc+YAuxWorb4P5a2i2B/vs32hJy/rXE7dpvsAqlHLSGSDUJXiFzM
@@ -12,349 +11,134 @@ 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
-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
-mal7K7p+HI72Vw5shRYbmhlYrNUM0yLpmKVLprw=
-=K5VA
+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
+=7hTI
-----END PGP PUBLIC KEY BLOCK-----
diff --git a/SOURCES/print-failed-test-output b/SOURCES/print-failed-test-output
new file mode 100644
index 0000000..d0d63aa
--- /dev/null
+++ b/SOURCES/print-failed-test-output
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+shopt -s failglob
+
+# Print output from failing tests
+printf -v sep "%0.s-" {1..80}
+for exit_file in t/test-results/*.exit; do
+ [ "$(< "$exit_file")" -eq 0 ] && continue
+ out_file="${exit_file%exit}out"
+ printf '\n%s\n%s\n%s\n' "$sep" "$out_file" "$sep"
+ cat "$out_file"
+done
+exit 1
diff --git a/SPECS/git.spec b/SPECS/git.spec
index 7e67628..7746e58 100644
--- a/SPECS/git.spec
+++ b/SPECS/git.spec
@@ -1,150 +1,183 @@
-# Pass --without docs to rpmbuild if you don't want the documentation
-
-# Settings for EL-5
-# - Leave git-* binaries in %{_bindir}
-# - Don't use noarch subpackages
-# - Use proper libcurl devel package
-# - Patch emacs and tweak docbook spaces
-# - Explicitly enable ipv6 for git-daemon
-# - Use prebuilt documentation, asciidoc is too old
-# - Define missing python macro
-%if 0%{?rhel} && 0%{?rhel} <= 5
-%global gitcoredir %{_bindir}
-%global noarch_sub 0
-%global libcurl_devel curl-devel
-%global emacs_old 1
-%global docbook_suppress_sp 1
-%global enable_ipv6 1
-%global use_prebuilt_docs 1
-%global filter_yaml_any 1
-%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
-%else
-%global gitcoredir %{_libexecdir}/git-core
-%global noarch_sub 1
-%global libcurl_devel libcurl-devel
-%global emacs_old 0
-%global docbook_suppress_sp 0
-%global enable_ipv6 1
-%global use_prebuilt_docs 0
-%global filter_yaml_any 0
-%endif
-
-# Settings for F-19+ and EL-7+
-%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
-%global bashcomp_pkgconfig 1
-%global bashcompdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null)
-%global bashcomproot %(dirname %{bashcompdir} 2>/dev/null)
-%global desktop_vendor_tag 1
-%global gnome_keyring 0
-%global use_new_rpm_filters 1
-%global use_systemd 1
-%else
-%global bashcomp_pkgconfig 0
-%global bashcompdir %{_sysconfdir}/bash_completion.d
-%global bashcomproot %{bashcompdir}
-%global desktop_vendor_tag 1
-%global gnome_keyring 0
-%global use_new_rpm_filters 0
-%global use_systemd 0
-%endif
-
-# Settings for EL <= 7
-%if 0%{?rhel} && 0%{?rhel} <= 7
-%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro}
-%endif
+%bcond_without docs
+%bcond_without tests
+%bcond_without linkcheck
+%bcond_without asciidoctor
+%bcond_with python2
+%bcond_without python3
+%bcond_with cvs
+%bcond_without libsecret
+%bcond_without p4
+
+%global gitexecdir %{_libexecdir}/git-core
+%global gitweb_httpd_conf gitweb.conf
+%global use_glibc_langpacks 1
+%global use_perl_generators 1
+%global use_perl_interpreter 1
+%global build_cflags %{build_cflags} -fPIC -std=gnu99
+%global gitweb_httpd_conf git.conf
+%global bashcompdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null)
+%global bashcomproot %(dirname %{bashcompdir} 2>/dev/null)
+%global _hardened_build 1
+%global _package_note_file %{_builddir}/%{name}-%{version}%{?rcrev}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld
Name: git
-Version: 2.34.1
-Release: 1%{?dist}
+Version: 2.37.0
+Release: 1%{?rcrev}%{?dist}
Summary: Fast Version Control System
License: GPLv2
-Group: Development/Tools
URL: https://git-scm.com/
-Source0: https://www.kernel.org/pub/software/scm/git/%{name}-%{version}.tar.xz
-Source1: https://www.kernel.org/pub/software/scm/git/%{name}-htmldocs-%{version}.tar.xz
-Source2: https://www.kernel.org/pub/software/scm/git/%{name}-manpages-%{version}.tar.xz
-Source3: https://www.kernel.org/pub/software/scm/git/%{name}-%{version}.tar.sign
-Source4: https://www.kernel.org/pub/software/scm/git/%{name}-htmldocs-%{version}.tar.sign
-Source5: https://www.kernel.org/pub/software/scm/git/%{name}-manpages-%{version}.tar.sign
-
-# Junio C Hamano's key is used to sign git releases, it can be found in the
-# junio-gpg-pub tag within git.
-#
-# (Note that the tagged blob in git contains a version of the key with an
-# expired signing subkey. The subkey expiration has been extended on the
-# public keyservers, but the blob in git has not been updated.)
-#
-# https://git.kernel.org/cgit/git/git.git/tag/?h=junio-gpg-pub
-# https://git.kernel.org/cgit/git/git.git/blob/?h=junio-gpg-pub&id=7214aea37915ee2c4f6369eb9dea520aec7d855b
-Source9: gpgkey-junio.asc
-
-# Local sources begin at 10 to allow for additional future upstream sources
-Source10: git-init.el
+Source0: https://www.kernel.org/pub/software/scm/git/%{?rcrev:testing/}%{name}-%{version}%{?rcrev}.tar.xz
+Source1: https://www.kernel.org/pub/software/scm/git/%{?rcrev:testing/}%{name}-%{version}%{?rcrev}.tar.sign
+Source2: gpgkey-junio.asc
Source11: git.xinetd.in
-Source12: git.conf.httpd
-Source13: git-gui.desktop
+Source12: git-gui.desktop
+Source13: gitweb-httpd.conf
Source14: gitweb.conf.in
-Source15: git@.service
+Source15: git@.service.in
Source16: git.socket
-Patch0: git-1.8-gitweb-home-link.patch
-# https://bugzilla.redhat.com/490602
-Patch1: git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch
-# https://bugzilla.redhat.com/600411
-Patch3: git-1.7-el5-emacs-support.patch
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-%if ! %{use_prebuilt_docs} && ! 0%{?_without_docs}
+Source99: print-failed-test-output
+Patch0: git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch
+
+%if %{with docs}
+# pod2man is needed to build Git.3pm
+BuildRequires: %{_bindir}/pod2man
+%if %{with asciidoctor}
+BuildRequires: docbook5-style-xsl
+BuildRequires: rubygem-asciidoctor
+%else
BuildRequires: asciidoc >= 8.4.1
+%endif
+# endif with asciidoctor
+BuildRequires: perl(File::Compare)
BuildRequires: xmlto
+%if %{with linkcheck}
+BuildRequires: linkchecker
+%endif
+# endif with linkcheck
%endif
+# endif with docs
+BuildRequires: coreutils
BuildRequires: desktop-file-utils
-BuildRequires: emacs
+BuildRequires: diffutils
+%if 0%{?rhel} && 0%{?rhel} < 9
+# Require epel-rpm-macros for the %%gpgverify macro on EL-7/EL-8, and
+# %%build_cflags & %%build_ldflags on EL-7.
+BuildRequires: epel-rpm-macros
+%endif
+# endif rhel < 9
BuildRequires: expat-devel
+BuildRequires: findutils
+BuildRequires: gawk
+BuildRequires: gcc
BuildRequires: gettext
BuildRequires: gnupg2
-BuildRequires: %{libcurl_devel}
-%if %{gnome_keyring}
-BuildRequires: libgnome-keyring-devel
-%endif
-BuildRequires: pcre-devel
+BuildRequires: libcurl-devel
+BuildRequires: make
+BuildRequires: openssl-devel
BuildRequires: pcre2-devel
-#BuildRequires: perl-generators
+BuildRequires: perl(Error)
+BuildRequires: perl(lib)
BuildRequires: perl(Test)
-BuildRequires: openssl-devel
-BuildRequires: zlib-devel >= 1.2
-%if %{bashcomp_pkgconfig}
-BuildRequires: pkgconfig(bash-completion)
+%if %{use_perl_generators}
+BuildRequires: perl-generators
%endif
-%if %{use_systemd}
+# endif use_perl_generators
+%if %{use_perl_interpreter}
+BuildRequires: perl-interpreter
+%else
+BuildRequires: perl
+%endif
+# endif use_perl_interpreter
+BuildRequires: pkgconfig(bash-completion)
+BuildRequires: sed
# For macros
BuildRequires: systemd
+BuildRequires: tcl
+BuildRequires: tk
+BuildRequires: xz
+BuildRequires: zlib-devel >= 1.2
+
+%if %{with tests}
+# Test suite requirements
+BuildRequires: acl
+# Needed by t5540-http-push-webdav.sh
+BuildRequires: apr-util-bdb
+BuildRequires: bash
+%if %{with cvs}
+BuildRequires: cvs
+BuildRequires: cvsps
+%endif
+# endif with cvs
+%if %{use_glibc_langpacks}
+# glibc-all-langpacks and glibc-langpack-is are needed for GETTEXT_LOCALE and
+# GETTEXT_ISO_LOCALE test prereq's, glibc-langpack-en ensures en_US.UTF-8.
+BuildRequires: glibc-all-langpacks
+BuildRequires: glibc-langpack-en
+BuildRequires: glibc-langpack-is
+%endif
+# endif use_glibc_langpacks
+BuildRequires: gnupg2-smime
+BuildRequires: highlight
+BuildRequires: httpd
+BuildRequires: mod_dav_svn
+BuildRequires: openssh-clients
+BuildRequires: perl(App::Prove)
+BuildRequires: perl(CGI)
+BuildRequires: perl(CGI::Carp)
+BuildRequires: perl(CGI::Util)
+BuildRequires: perl(DBD::SQLite)
+BuildRequires: perl(Digest::MD5)
+BuildRequires: perl(Fcntl)
+BuildRequires: perl(File::Basename)
+BuildRequires: perl(File::Copy)
+BuildRequires: perl(File::Find)
+BuildRequires: perl(filetest)
+BuildRequires: perl(HTTP::Date)
+BuildRequires: perl(IO::Pty)
+BuildRequires: perl(JSON)
+BuildRequires: perl(JSON::PP)
+BuildRequires: perl(Mail::Address)
+BuildRequires: perl(Memoize)
+BuildRequires: perl(POSIX)
+BuildRequires: perl(Term::ReadLine)
+BuildRequires: perl(Test::More)
+BuildRequires: perl(Time::HiRes)
+%if %{with python3}
+BuildRequires: python3-devel
+%else
+%if %{with python2}
+BuildRequires: python2-devel
+%endif
+# endif with python2
%endif
+# endif with python3
+BuildRequires: subversion
+BuildRequires: subversion-perl
+BuildRequires: tar
+BuildRequires: time
+BuildRequires: zip
+%endif
+# endif with tests
Requires: git-core = %{version}-%{release}
Requires: git-core-doc = %{version}-%{release}
-#Requires: perl(Error)
%if ! %{defined perl_bootstrap}
Requires: perl(Term::ReadKey)
%endif
+# endif ! defined perl_bootstrap
Requires: perl-Git = %{version}-%{release}
-%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
-Requires: emacs-filesystem >= %{_emacs_version}
-# These can be removed in Fedora 26
-Obsoletes: emacs-git <= 2.4.5
-Obsoletes: emacs-git-el <= 2.4.5
-Provides: emacs-git <= 2.4.5
-Provides: emacs-git-el <= 2.4.5
+# Obsolete git-cvs if it's disabled
+%if %{without cvs}
+Obsoletes: git-cvs < %{?epoch:%{epoch}:}%{version}-%{release}
%endif
+# endif without cvs
-#Provides: git-core = %{version}-%{release}
-#%if 0%{?rhel} && 0%{?rhel} <= 5
-#Obsoletes: git-core <= 1.5.4.3
-#%endif
-
-# Obsolete git-arch
-Obsoletes: git-arch < %{version}-%{release}
+# Obsolete git-p4 if it's disabled
+%if %{without p4}
+Obsoletes: git-p4 < %{?epoch:%{epoch}:}%{version}-%{release}
+%endif
+# endif without p4
%description
Git is a fast, scalable, distributed revision control system with an
@@ -157,26 +190,32 @@ tools for integrating with other SCMs, install the git-all meta-package.
%package all
Summary: Meta-package to pull in all git tools
-Group: Development/Tools
-%if %{noarch_sub}
BuildArch: noarch
-%endif
Requires: git = %{version}-%{release}
+%if %{with libsecret}
+Requires: git-credential-libsecret = %{version}-%{release}
+%endif
+# endif with libsecret
+%if %{with cvs}
Requires: git-cvs = %{version}-%{release}
+%endif
+# endif with cvs
+Requires: git-daemon = %{version}-%{release}
Requires: git-email = %{version}-%{release}
Requires: git-gui = %{version}-%{release}
-Requires: git-svn = %{version}-%{release}
+%if %{with p4}
Requires: git-p4 = %{version}-%{release}
+%endif
+# endif with p4
+Requires: git-subtree = %{version}-%{release}
+Requires: git-svn = %{version}-%{release}
+Requires: git-instaweb = %{version}-%{release}
Requires: gitk = %{version}-%{release}
Requires: perl-Git = %{version}-%{release}
%if ! %{defined perl_bootstrap}
Requires: perl(Term::ReadKey)
%endif
-%if 0%{?rhel} && 0%{?rhel} <= 6
-Requires: emacs-git = %{version}-%{release}
-%endif
-Obsoletes: git <= 1.5.4.3
-
+# endif ! defined perl_bootstrap
%description all
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
@@ -185,11 +224,9 @@ and full access to internals.
This is a dummy package which brings in all subpackages.
%package core
-Summary: Core package of git with minimal funcionality
-Group: Development/Tools
+Summary: Core package of git with minimal functionality
Requires: less
Requires: openssh-clients
-Requires: rsync
Requires: zlib >= 1.2
%description core
Git is a fast, scalable, distributed revision control system with an
@@ -203,345 +240,361 @@ other SCMs, install the git-all meta-package.
%package core-doc
Summary: Documentation files for git-core
-Group: Development/Tools
+BuildArch: noarch
Requires: git-core = %{version}-%{release}
-
%description core-doc
Documentation files for git-core package including man pages.
-%package daemon
-Summary: Git protocol dæmon
-Group: Development/Tools
-Requires: git = %{version}-%{release}
-%if %{use_systemd}
-Requires: systemd
-Requires(post): systemd
-Requires(preun): systemd
-Requires(postun): systemd
-%else
-Requires: xinetd
-%endif
-%description daemon
-The git dæmon for supporting git:// access to git repositories
-
-%package -n gitweb
-Summary: Simple web interface to git repositories
-Group: Development/Tools
-%if %{noarch_sub}
-BuildArch: noarch
-%endif
+%if %{with libsecret}
+%package credential-libsecret
+Summary: Git helper for accessing credentials via libsecret
+BuildRequires: libsecret-devel
Requires: git = %{version}-%{release}
-
-%description -n gitweb
-Simple web interface to track changes in git repositories
-
-%package p4
-Summary: Git tools for working with Perforce depots
-Group: Development/Tools
-%if %{noarch_sub}
-BuildArch: noarch
-%endif
-BuildRequires: python
-Requires: git = %{version}-%{release}
-%description p4
+%description credential-libsecret
%{summary}.
-
-%package svn
-Summary: Git tools for importing Subversion repositories
-Group: Development/Tools
-Requires: git = %{version}-%{release}, subversion
-Requires: perl(Digest::MD5)
-%if ! %{defined perl_bootstrap}
-Requires: perl(Term::ReadKey)
%endif
-%description svn
-Git tools for importing Subversion repositories.
+# endif with libsecret
+%if %{with cvs}
%package cvs
Summary: Git tools for importing CVS repositories
-Group: Development/Tools
-%if %{noarch_sub}
BuildArch: noarch
-%endif
-Requires: git = %{version}-%{release}, cvs
+Requires: git = %{version}-%{release}
+Requires: cvs
Requires: cvsps
Requires: perl(DBD::SQLite)
%description cvs
-Git tools for importing CVS repositories.
+%{summary}.
+%endif
+# endif with cvs
+
+%package daemon
+Summary: Git protocol daemon
+Requires: git-core = %{version}-%{release}
+Requires: systemd
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
+%description daemon
+The git daemon for supporting git:// access to git repositories
%package email
-Summary: Git tools for sending email
-Group: Development/Tools
-%if %{noarch_sub}
+Summary: Git tools for sending patches via email
BuildArch: noarch
-%endif
-Requires: git = %{version}-%{release}, perl-Git = %{version}-%{release}
+Requires: git = %{version}-%{release}
Requires: perl(Authen::SASL)
+Requires: perl(Cwd)
+Requires: perl(Email::Valid)
+Requires: perl(File::Spec)
+Requires: perl(File::Spec::Functions)
+Requires: perl(File::Temp)
+Requires: perl(IO::Socket::SSL)
+Requires: perl(Mail::Address)
+Requires: perl(MIME::Base64)
+Requires: perl(MIME::QuotedPrint)
+Requires: perl(Net::Domain)
+Requires: perl(Net::SMTP)
Requires: perl(Net::SMTP::SSL)
+Requires: perl(POSIX)
+Requires: perl(Sys::Hostname)
+Requires: perl(Term::ANSIColor)
+Requires: perl(Term::ReadLine)
+Requires: perl(Text::ParseWords)
%description email
-Git tools for sending email.
+%{summary}.
+
+%package -n gitk
+Summary: Git repository browser
+BuildArch: noarch
+Requires: git = %{version}-%{release}
+Requires: git-gui = %{version}-%{release}
+Requires: tk >= 8.4
+%description -n gitk
+%{summary}.
+
+%package -n gitweb
+Summary: Simple web interface to git repositories
+BuildArch: noarch
+Requires: git = %{version}-%{release}
+%description -n gitweb
+%{summary}.
%package gui
-Summary: Git GUI tool
-Group: Development/Tools
-%if %{noarch_sub}
+Summary: Graphical interface to Git
BuildArch: noarch
-%endif
-Requires: git = %{version}-%{release}, tk >= 8.4
Requires: gitk = %{version}-%{release}
+Requires: tk >= 8.4
%description gui
-Git GUI tool.
+%{summary}.
-%package -n gitk
-Summary: Git revision tree visualiser
-Group: Development/Tools
-%if %{noarch_sub}
+%package instaweb
+Summary: Repository browser in gitweb
BuildArch: noarch
+Requires: git = %{version}-%{release}
+Requires: gitweb = %{version}-%{release}
+%if 0%{?rhel} >= 9
+Requires: httpd
+%else
+Requires: lighttpd
%endif
-Requires: git = %{version}-%{release}, tk >= 8.4
-%description -n gitk
-Git revision tree visualiser.
-%package -n perl-Git
-Summary: Perl interface to Git
-Group: Development/Libraries
-%if %{noarch_sub}
+%description instaweb
+A simple script to set up gitweb and a web server for browsing the local
+repository.
+
+%if %{with p4}
+%package p4
+Summary: Git tools for working with Perforce depots
BuildArch: noarch
+%if %{with python3}
+BuildRequires: python3-devel
+%else
+%if %{with python2}
+BuildRequires: python2-devel
+%endif
+# endif with python2
%endif
+# endif with python3
Requires: git = %{version}-%{release}
-#BuildRequires: perl(Error)
-BuildRequires: perl(ExtUtils::MakeMaker)
-#Requires: perl(Error)
-#Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+%description p4
+%{summary}.
+%endif
+# endif with p4
+%package -n perl-Git
+Summary: Perl interface to Git
+BuildArch: noarch
+Requires: git = %{version}-%{release}
+Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%description -n perl-Git
-Perl interface to Git.
+%{summary}.
%package -n perl-Git-SVN
Summary: Perl interface to Git::SVN
-Group: Development/Libraries
-%if %{noarch_sub}
BuildArch: noarch
-%endif
Requires: git = %{version}-%{release}
-#Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
-
+Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%description -n perl-Git-SVN
-Perl interface to Git.
-
-%if 0%{?rhel} && 0%{?rhel} <= 6
-%package -n emacs-git
-Summary: Git version control system support for Emacs
-Group: Applications/Editors
-Requires: git = %{version}-%{release}
-%if %{noarch_sub}
-BuildArch: noarch
-Requires: emacs(bin) >= %{_emacs_version}
-%else
-Requires: emacs-common
-%endif
-
-%description -n emacs-git
%{summary}.
-%package -n emacs-git-el
-Summary: Elisp source files for git version control system support for Emacs
-Group: Applications/Editors
-%if %{noarch_sub}
+%package subtree
+Summary: Git tools to merge and split repositories
+Requires: git-core = %{version}-%{release}
+%description subtree
+Git subtrees allow subprojects to be included within a subdirectory
+of the main project, optionally including the subproject's entire
+history.
+
+%package svn
+Summary: Git tools for interacting with Subversion repositories
BuildArch: noarch
+Requires: git = %{version}-%{release}
+Requires: perl(Digest::MD5)
+%if ! %{defined perl_bootstrap}
+Requires: perl(Term::ReadKey)
%endif
-Requires: emacs-git = %{version}-%{release}
-
-%description -n emacs-git-el
+# endif ! defined perl_bootstrap
+Requires: subversion
+%description svn
%{summary}.
-%endif
%prep
# Verify GPG signatures
-gpghome="$(mktemp -qd)" # Ensure we don't use any existing gpg keyrings
-key="%{SOURCE9}"
-# Ignore noisy output from GnuPG 2.0, used on EL <= 7
-# https://bugs.gnupg.org/gnupg/issue1555
-gpg2 --dearmor --quiet --batch --yes $key >/dev/null
-for src in %{SOURCE0} %{SOURCE1} %{SOURCE2}; do
- # Upstream signs the uncompressed tarballs
- tar=${src/%.xz/}
- xz -dc $src > $tar
- gpgv2 --homedir "$gpghome" --quiet --keyring $key.gpg $tar.sign $tar
- rm -f $tar
-done
-rm -rf "$gpghome" # Cleanup tmp gpg home dir
-
-%setup -q
-%patch0 -p1
-%patch1 -p1
-%if %{emacs_old}
-%patch3 -p1
-%endif
-
-%if %{use_prebuilt_docs}
-mkdir -p prebuilt_docs/{html,man}
-xz -dc %{SOURCE1} | tar xf - -C prebuilt_docs/html
-xz -dc %{SOURCE2} | tar xf - -C prebuilt_docs/man
-# Remove non-html files
-find prebuilt_docs/html -type f ! -name '*.html' | xargs rm
-find prebuilt_docs/html -type d | xargs rmdir --ignore-fail-on-non-empty
+xz -dc '%{SOURCE0}' | %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data=-
+
+%autosetup -p1 -n %{name}-%{version}%{?rcrev}
+
+# Install print-failed-test-output script
+install -p -m 755 %{SOURCE99} print-failed-test-output
+
+# Remove git-archimport from command list
+sed -i '/^git-archimport/d' command-list.txt
+
+%if %{without cvs}
+# Remove git-cvs* from command list
+sed -i '/^git-cvs/d' command-list.txt
+%endif
+# endif without cvs
+
+%if %{without p4}
+# Remove git-p4 from command list
+sed -i '/^git-p4/d' command-list.txt
%endif
+# endif without p4
# Use these same options for every invocation of 'make'.
# Otherwise it will rebuild in %%install due to flags changes.
-cat << \EOF > config.mak
+# Pipe to tee to aid confirmation/verification of settings.
+cat << \EOF | tee config.mak
V = 1
-CFLAGS = %{optflags}
-LDFLAGS = %{__global_ldflags}
-BLK_SHA1 = 1
-NEEDS_CRYPTO_WITH_SSL = 1
+CFLAGS = %{build_cflags}
+LDFLAGS = %{build_ldflags}
USE_LIBPCRE = 1
ETC_GITCONFIG = %{_sysconfdir}/gitconfig
-DESTDIR = %{buildroot}
-INSTALL = install -p
-GITWEB_PROJECTROOT = %{_var}/lib/git
+INSTALL_SYMLINKS = 1
+GITWEB_PROJECTROOT = %{_localstatedir}/lib/git
GNU_ROFF = 1
+NO_PERL_CPAN_FALLBACKS = 1
+%if 0%{?rhel} && 0%{?rhel} < 8
+NO_UNCOMPRESS2 = 1
+%endif
+%if %{with python3}
+PYTHON_PATH = %{__python3}
+%else
+%if %{with python2}
+PYTHON_PATH = %{__python2}
+%else
+NO_PYTHON = 1
+%endif
+%endif
+%if %{with asciidoctor}
+USE_ASCIIDOCTOR = 1
+%endif
htmldir = %{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}
prefix = %{_prefix}
-gitwebdir = %{_var}/www/git
-EOF
+perllibdir = %{perl_vendorlib}
+gitwebdir = %{_localstatedir}/www/git
-%if "%{gitcoredir}" == "%{_bindir}"
-echo gitexecdir = %{_bindir} >> config.mak
-%endif
-
-%if %{docbook_suppress_sp}
-# This is needed for 1.69.1-1.71.0
-echo DOCBOOK_SUPPRESS_SP = 1 >> config.mak
-%endif
+# Test options
+DEFAULT_TEST_TARGET = prove
+GIT_PROVE_OPTS = --verbose --normalize %{?_smp_mflags} --formatter=TAP::Formatter::File
+GIT_TEST_OPTS = -x --verbose-log
+EOF
# Filter bogus perl requires
# packed-refs comes from a comment in contrib/hooks/update-paranoid
-# YAML::Any is optional and not available on el5
-%if %{use_new_rpm_filters}
%{?perl_default_filter}
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}perl\\(packed-refs\\)
%if ! %{defined perl_bootstrap}
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}perl\\(Term::ReadKey\\)
%endif
-%else
-cat << \EOF > %{name}-req
-#!/bin/sh
-%{__perl_requires} $* |\
-sed \
-%if %{filter_yaml_any}
- -e '/perl(YAML::Any)/d' \
-%endif
- -e '/perl(packed-refs)/d'
-EOF
+# endif ! defined perl_bootstrap
-%global __perl_requires %{_builddir}/%{name}-%{version}/%{name}-req
-chmod +x %{__perl_requires}
-%endif
+# Remove Git::LoadCPAN to ensure we use only system perl modules. This also
+# allows the dependencies to be automatically processed by rpm.
+rm -rf perl/Git/LoadCPAN{.pm,/}
+grep -rlZ '^use Git::LoadCPAN::' | xargs -r0 sed -i 's/Git::LoadCPAN:://g'
+
+# Update gitweb default home link string
+sed -i 's@"++GITWEB_HOME_LINK_STR++"@$ENV{"SERVER_NAME"} ? "git://" . $ENV{"SERVER_NAME"} : "projects"@' \
+ gitweb/gitweb.perl
+
+# Move contrib/{contacts,subtree} docs to Documentation so they build with the
+# proper asciidoc/docbook/xmlto options
+mv contrib/{contacts,subtree}/git-*.txt Documentation/
%build
-make %{?_smp_mflags} all
-%if ! %{use_prebuilt_docs} && ! 0%{?_without_docs}
-make %{?_smp_mflags} doc
-%endif
+# Improve build reproducibility
+export TZ=UTC
+export SOURCE_DATE_EPOCH=$(date -r version +%%s 2>/dev/null)
+
+%make_build all %{?with_docs:doc}
-#make -C contrib/emacs
+%make_build -C contrib/contacts/ all
-%if %{gnome_keyring}
-make -C contrib/credential/gnome-keyring/
+%if %{with libsecret}
+%make_build -C contrib/credential/libsecret/
%endif
-make -C contrib/credential/netrc/
+# endif with libsecret
-make -C contrib/subtree/
+%make_build -C contrib/credential/netrc/
-# Remove shebang from bash-completion script
-sed -i '/^#!bash/,+1 d' contrib/completion/git-completion.bash
+%make_build -C contrib/diff-highlight/
-%install
-rm -rf %{buildroot}
-make %{?_smp_mflags} INSTALLDIRS=vendor install
-%if ! %{use_prebuilt_docs} && ! 0%{?_without_docs}
-make %{?_smp_mflags} INSTALLDIRS=vendor install-doc
+%make_build -C contrib/subtree/ all
+
+# Fix shebang in a few places to silence rpmlint complaints
+%if %{with python2}
+sed -i -e '1s@#! */usr/bin/env python$@#!%{__python2}@' \
+ contrib/fast-import/import-zips.py
%else
-cp -a prebuilt_docs/man/* %{buildroot}%{_mandir}
-cp -a prebuilt_docs/html/* Documentation/
-%endif
-
-#%if %{emacs_old}
-#%global _emacs_sitelispdir %{_datadir}/emacs/site-lisp
-#%global _emacs_sitestartdir %{_emacs_sitelispdir}/site-start.d
-#%endif
-#%global elispdir %{_emacs_sitelispdir}/git
-#make -C contrib/emacs install \
-# emacsdir=%{buildroot}%{elispdir}
-#for elc in %{buildroot}%{elispdir}/*.elc ; do
-# install -pm 644 contrib/emacs/$(basename $elc .elc).el \
-# %{buildroot}%{elispdir}
-#done
-#install -Dpm 644 %{SOURCE10} \
-# %{buildroot}%{_emacs_sitestartdir}/git-init.el
-
-%if %{gnome_keyring}
-install -pm 755 contrib/credential/gnome-keyring/git-credential-gnome-keyring \
- %{buildroot}%{gitcoredir}
-# Remove built binary files, otherwise they will be installed in doc
-make -C contrib/credential/gnome-keyring/ clean
+# Remove contrib/fast-import/import-zips.py which requires python2.
+rm -rf contrib/fast-import/import-zips.py
%endif
-install -pm 755 contrib/credential/netrc/git-credential-netrc \
- %{buildroot}%{gitcoredir}
+# endif with python2
+
+# Use python3 to avoid an unnecessary python2 dependency, if possible.
+%if %{with python3}
+sed -i -e '1s@#!\( */usr/bin/env python\|%{__python2}\)$@#!%{__python3}@' \
+ contrib/hg-to-git/hg-to-git.py
+%endif
+# endif with python3
+
+%install
+%make_install %{?with_docs:install-doc}
+
+%make_install -C contrib/contacts
-make -C contrib/subtree install
-%if ! %{use_prebuilt_docs}
-make -C contrib/subtree install-doc
+%if %{with libsecret}
+install -pm 755 contrib/credential/libsecret/git-credential-libsecret \
+ %{buildroot}%{gitexecdir}
%endif
-# it's ugly hack, but this file don't need to be copied to this directory
-# it's already part of git-core-doc and it's alone here
-rm -f %{buildroot}%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}/git-subtree.html
+# endif with libsecret
+install -pm 755 contrib/credential/netrc/git-credential-netrc \
+ %{buildroot}%{gitexecdir}
+# temporarily move contrib/credential/netrc aside to prevent it from being
+# deleted in the docs preparation, so the tests can be run in %%check
+mv contrib/credential/netrc .
+
+%make_install -C contrib/subtree
mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d
-install -pm 0644 %{SOURCE12} %{buildroot}%{_sysconfdir}/httpd/conf.d/git.conf
-sed "s|@PROJECTROOT@|%{_var}/lib/git|g" \
+install -pm 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/httpd/conf.d/%{gitweb_httpd_conf}
+sed "s|@PROJECTROOT@|%{_localstatedir}/lib/git|g" \
%{SOURCE14} > %{buildroot}%{_sysconfdir}/gitweb.conf
-find %{buildroot} -type f -name .packlist -exec rm -f {} ';'
-find %{buildroot} -type f -name '*.bs' -empty -exec rm -f {} ';'
-find %{buildroot} -type f -name perllocal.pod -exec rm -f {} ';'
+# install contrib/diff-highlight and clean up to avoid cruft in git-core-doc
+install -Dpm 0755 contrib/diff-highlight/diff-highlight \
+ %{buildroot}%{_datadir}/git-core/contrib/diff-highlight
+rm -rf contrib/diff-highlight/{Makefile,diff-highlight,*.perl,t}
+
+# Remove contrib/scalar to avoid cruft in the git-core-doc docdir
+rm -rf contrib/scalar
+
+# Clean up contrib/subtree to avoid cruft in the git-core-doc docdir
+rm -rf contrib/subtree/{INSTALL,Makefile,git-subtree*,t}
# git-archimport is not supported
find %{buildroot} Documentation -type f -name 'git-archimport*' -exec rm -f {} ';'
-exclude_re="archimport|email|git-citool|git-cvs|git-daemon|git-gui|git-remote-bzr|git-remote-hg|gitk|p4|svn"
-(find %{buildroot}{%{_bindir},%{_libexecdir}} -type f | grep -vE "$exclude_re" | sed -e s@^%{buildroot}@@) > bin-man-doc-files
+%if %{without cvs}
+# Remove git-cvs* and gitcvs*
+find %{buildroot} Documentation \( -type f -o -type l \) \
+ \( -name 'git-cvs*' -o -name 'gitcvs*' \) -exec rm -f {} ';'
+%endif
+# endif without cvs
+
+%if %{without p4}
+# Remove git-p4* and mergetools/p4merge
+find %{buildroot} Documentation -type f -name 'git-p4*' -exec rm -f {} ';'
+rm -f %{buildroot}%{gitexecdir}/mergetools/p4merge
+%endif
+# endif without p4
+
+# Remove unneeded git-remote-testsvn so git-svn can be noarch
+rm -f %{buildroot}%{gitexecdir}/git-remote-testsvn
+
+exclude_re="archimport|email|git-(citool|credential-libsecret|cvs|daemon|gui|instaweb|p4|subtree|svn)|gitk|gitweb|p4merge"
+(find %{buildroot}{%{_bindir},%{_libexecdir}} -type f -o -type l | grep -vE "$exclude_re" | sed -e s@^%{buildroot}@@) > bin-man-doc-files
(find %{buildroot}{%{_bindir},%{_libexecdir}} -mindepth 1 -type d | grep -vE "$exclude_re" | sed -e 's@^%{buildroot}@%dir @') >> bin-man-doc-files
-#(find %{buildroot}%{perl_vendorlib} -type f | sed -e s@^%{buildroot}@@) > perl-git-files
-#(find %{buildroot}%{perl_vendorlib} -mindepth 1 -type d | sed -e 's@^%{buildroot}@%dir @') >> perl-git-files
+(find %{buildroot}%{perl_vendorlib} -type f | sed -e s@^%{buildroot}@@) > perl-git-files
+(find %{buildroot}%{perl_vendorlib} -mindepth 1 -type d | sed -e 's@^%{buildroot}@%dir @') >> perl-git-files
# Split out Git::SVN files
-#grep Git/SVN perl-git-files > perl-git-svn-files
-#sed -i "/Git\/SVN/ d" perl-git-files
-%if %{!?_without_docs:1}0
+grep Git/SVN perl-git-files > perl-git-svn-files
+sed -i "/Git\/SVN/ d" perl-git-files
+%if %{with docs}
(find %{buildroot}%{_mandir} -type f | grep -vE "$exclude_re|Git" | sed -e s@^%{buildroot}@@ -e 's/$/*/' ) >> bin-man-doc-files
%else
rm -rf %{buildroot}%{_mandir}
%endif
+# endif with docs
-mkdir -p %{buildroot}%{_var}/lib/git
-%if %{use_systemd}
-mkdir -p %{buildroot}%{_unitdir}
-cp -a %{SOURCE15} %{SOURCE16} %{buildroot}%{_unitdir}
-%else
-mkdir -p %{buildroot}%{_sysconfdir}/xinetd.d
-# On EL <= 5, xinetd does not enable IPv6 by default
-enable_ipv6=" # xinetd does not enable IPv6 by default
- flags = IPv6"
+mkdir -p %{buildroot}%{_localstatedir}/lib/git
+install -Dp -m 0644 %{SOURCE16} %{buildroot}%{_unitdir}/git.socket
perl -p \
- -e "s|\@GITCOREDIR\@|%{gitcoredir}|g;" \
- -e "s|\@BASE_PATH\@|%{_var}/lib/git|g;" \
-%if %{enable_ipv6}
- -e "s|^}|$enable_ipv6\n$&|;" \
-%endif
- %{SOURCE11} > %{buildroot}%{_sysconfdir}/xinetd.d/git
-%endif
+ -e "s|\@GITEXECDIR\@|%{gitexecdir}|g;" \
+ -e "s|\@BASE_PATH\@|%{_localstatedir}/lib/git|g;" \
+ %{SOURCE15} > %{buildroot}%{_unitdir}/git@.service
# Setup bash completion
install -Dpm 644 contrib/completion/git-completion.bash %{buildroot}%{bashcompdir}/git
@@ -552,10 +605,9 @@ mkdir -p %{buildroot}%{_datadir}/git-core/contrib/completion
install -pm 644 contrib/completion/git-completion.tcsh \
%{buildroot}%{_datadir}/git-core/contrib/completion/
-# Move contrib/hooks out of %%docdir and make them executable
+# Move contrib/hooks out of %%docdir
mkdir -p %{buildroot}%{_datadir}/git-core/contrib
mv contrib/hooks %{buildroot}%{_datadir}/git-core/contrib
-chmod +x %{buildroot}%{_datadir}/git-core/contrib/hooks/*
pushd contrib > /dev/null
ln -s ../../../git-core/contrib/hooks
popd > /dev/null
@@ -566,11 +618,14 @@ install -pm 644 contrib/completion/git-prompt.sh \
%{buildroot}%{_datadir}/git-core/contrib/completion/
# install git-gui .desktop file
-desktop-file-install \
-%if %{desktop_vendor_tag}
- --vendor powerel \
-%endif
- --dir=%{buildroot}%{_datadir}/applications %{SOURCE13}
+desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE12}
+
+# symlink git-citool to git-gui if they are identical
+pushd %{buildroot}%{gitexecdir} >/dev/null
+if cmp -s git-gui git-citool 2>/dev/null; then
+ ln -svf git-gui git-citool
+fi
+popd >/dev/null
# find translations
%find_lang %{name} %{name}.lang
@@ -578,198 +633,711 @@ cat %{name}.lang >> bin-man-doc-files
# quiet some rpmlint complaints
chmod -R g-w %{buildroot}
-find %{buildroot} -name git-mergetool--lib | xargs chmod a-x
-# rm -f {Documentation/technical,contrib/emacs,contrib/credential/gnome-keyring}/.gitignore
+chmod a-x %{buildroot}%{gitexecdir}/git-mergetool--lib
# These files probably are not needed
-find . -name .gitignore -delete
+find . -regex '.*/\.\(git\(attributes\|ignore\)\|perlcriticrc\)' -delete
chmod a-x Documentation/technical/api-index.sh
-find contrib -type f | xargs chmod -x
+find contrib -type f -print0 | xargs -r0 chmod -x
# Split core files
-not_core_re="git-(add--interactive|am|credential-netrc|difftool|instaweb|relink|request-pull|send-mail|submodule)|gitweb|prepare-commit-msg|pre-rebase"
-grep -vE "$not_core_re|\/man\/" bin-man-doc-files > bin-files-core
-grep -vE "$not_core_re" bin-man-doc-files | grep "\/man\/" > man-doc-files-core
-grep -E "$not_core_re" bin-man-doc-files > bin-man-doc-git-files
+not_core_re="git-(add--interactive|contacts|credential-netrc|filter-branch|instaweb|request-pull|send-mail)|gitweb"
+grep -vE "$not_core_re|%{_mandir}" bin-man-doc-files > bin-files-core
+touch man-doc-files-core
+%if %{with docs}
+grep -vE "$not_core_re" bin-man-doc-files | grep "%{_mandir}" > man-doc-files-core
+%endif
+# endif with docs
+grep -E "$not_core_re" bin-man-doc-files > bin-man-doc-git-files
+
+##### DOC
+# place doc files into %%{_pkgdocdir} and split them into expected packages
+# contrib
+not_core_doc_re="(git-(cvs|gui|citool|daemon|instaweb|subtree))|p4|svn|email|gitk|gitweb"
+mkdir -p %{buildroot}%{_pkgdocdir}/
+cp -pr CODE_OF_CONDUCT.md README.md Documentation/*.txt Documentation/RelNotes contrib %{buildroot}%{_pkgdocdir}/
+# Remove contrib/ files/dirs which have nothing useful for documentation
+rm -rf %{buildroot}%{_pkgdocdir}/contrib/{contacts,credential}/
+cp -p gitweb/INSTALL %{buildroot}%{_pkgdocdir}/INSTALL.gitweb
+cp -p gitweb/README %{buildroot}%{_pkgdocdir}/README.gitweb
+
+%if %{with docs}
+cp -pr Documentation/*.html Documentation/docbook-xsl.css %{buildroot}%{_pkgdocdir}/
+cp -pr Documentation/{howto,technical} %{buildroot}%{_pkgdocdir}/
+find %{buildroot}%{_pkgdocdir}/{howto,technical} -type f \
+ |grep -o "%{_pkgdocdir}.*$" >> man-doc-files-core
+%endif
+# endif with docs
+
+{
+ find %{buildroot}%{_pkgdocdir} -type f -maxdepth 1 \
+ | grep -o "%{_pkgdocdir}.*$" \
+ | grep -vE "$not_core_doc_re"
+ find %{buildroot}%{_pkgdocdir}/{contrib,RelNotes} -type f \
+ | grep -o "%{_pkgdocdir}.*$"
+ find %{buildroot}%{_pkgdocdir} -type d | grep -o "%{_pkgdocdir}.*$" \
+ | sed "s/^/\%dir /"
+} >> man-doc-files-core
+##### #DOC
+
+%check
+%if %{without tests}
+echo "*** Skipping tests"
+exit 0
+%endif
+# endif without tests
+%if %{with docs} && %{with linkcheck}
+# Test links in HTML documentation
+find %{buildroot}%{_pkgdocdir} -name "*.html" -print0 | xargs -r0 linkchecker
+%endif
+# endif with docs && with linkcheck
-%clean
-rm -rf %{buildroot}
+# Tests to skip on all releases and architectures
+GIT_SKIP_TESTS=""
+%ifarch aarch64 %{arm} %{power64}
+# Skip tests which fail on aarch64, arm, and ppc
+#
+# The following 2 tests use run_with_limited_cmdline, which calls ulimit -s 128
+# to limit the maximum stack size.
+# t5541.36 'push 2000 tags over http'
+# t5551.25 'clone the 2,000 tag repo to check OS command line overflow'
+GIT_SKIP_TESTS="$GIT_SKIP_TESTS t5541.36 t5551.25"
+%endif
+# endif aarch64 %%{arm} %%{power64}
+
+%ifarch %{power64}
+# Skip tests which fail on ppc
+#
+# t9115-git-svn-dcommit-funky-renames is disabled because it frequently fails.
+# The port it uses (9115) is already in use. It is unclear if this is
+# due to an issue in the test suite or a conflict with some other process on
+# the build host. It only appears to occur on ppc-arches.
+GIT_SKIP_TESTS="$GIT_SKIP_TESTS t9115"
+%endif
+# endif %%{power64}
+
+%if 0%{?rhel} == 8 && "%{_arch}" == "s390x"
+# Skip tests which fail on s390x on rhel-8
+#
+# The following tests fail on s390x & el8. The cause should be investigated.
+# However, it's a lower priority since the same tests work consistently on
+# s390x with Fedora and RHEL-9. The failures seem to originate in t5300.
+#
+# t5300.10 'unpack without delta'
+# t5300.12 'unpack with REF_DELTA'
+# t5300.13 'unpack with REF_DELTA'
+# t5300.14 'unpack with OFS_DELTA'
+# t5300.18 'compare delta flavors'
+# t5300.20 'use packed deltified (REF_DELTA) objects'
+# t5300.23 'verify pack'
+# t5300.24 'verify pack -v'
+# t5300.25 'verify-pack catches mismatched .idx and .pack files'
+# t5300.29 'verify-pack catches a corrupted sum of the index file itself'
+# t5300.30 'build pack index for an existing pack'
+# t5300.45 'make sure index-pack detects the SHA1 collision'
+# t5300.46 'make sure index-pack detects the SHA1 collision (large blobs)'
+# t5303.5 'create corruption in data of first object'
+# t5303.7 '... and loose copy of second object allows for partial recovery'
+# t5303.11 'create corruption in data of first delta'
+# t6300.35 'basic atom: head objectsize:disk'
+# t6300.91 'basic atom: tag objectsize:disk'
+# t6300.92 'basic atom: tag *objectsize:disk'
+GIT_SKIP_TESTS="$GIT_SKIP_TESTS t5300.1[02348] t5300.2[03459] t5300.30 t5300.4[56] t5303.[57] t5303.11 t6300.35 t6300.9[12]"
+%endif
+# endif rhel == 8 && arch == s390x
+
+export GIT_SKIP_TESTS
+
+# Set LANG so various UTF-8 tests are run
+export LANG=en_US.UTF-8
+
+# Explicitly enable tests which may be skipped opportunistically
+# Check for variables set via test_bool_env in the test suite:
+# git grep 'test_bool_env GIT_' -- t/{lib-,t[0-9]}*.sh |
+# sed -r 's/.* (GIT_[^ ]+) .*/\1/g' | sort -u
+export GIT_TEST_GIT_DAEMON=true
+export GIT_TEST_HTTPD=true
+export GIT_TEST_SVNSERVE=true
+export GIT_TEST_SVN_HTTPD=true
+
+# Create tmpdir for test output and update GIT_TEST_OPTS
+# Also update GIT-BUILD-OPTIONS to keep make from any needless rebuilding
+testdir=$(mktemp -d -p /tmp git-t.XXXX)
+sed -i "s@^GIT_TEST_OPTS = .*@& --root=$testdir@" config.mak
+touch -r GIT-BUILD-OPTIONS ts
+sed -i "s@\(GIT_TEST_OPTS='.*\)'@\1 --root=$testdir'@" GIT-BUILD-OPTIONS
+touch -r ts GIT-BUILD-OPTIONS
+
+# Run the tests
+%__make -C t all || ./print-failed-test-output
+
+# Run contrib/credential/netrc tests
+mkdir -p contrib/credential
+mv netrc contrib/credential/
+%make_build -C contrib/credential/netrc/ test || \
+%make_build -C contrib/credential/netrc/ testverbose
+
+# Clean up test dir
+rmdir --ignore-fail-on-non-empty "$testdir"
-%if %{use_systemd}
%post daemon
-%systemd_post git@.service
+%systemd_post git.socket
+
%preun daemon
-%systemd_preun git@.service
-%postun daemon
-%systemd_postun_with_restart git@.service
-%endif
+%systemd_preun git.socket
+%postun daemon
+%systemd_postun_with_restart git.socket
%files -f bin-man-doc-git-files
-%defattr(-,root,root)
-%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
-#%{elispdir}
-#%{_emacs_sitestartdir}/git-init.el
-%endif
+%{_datadir}/git-core/contrib/diff-highlight
%{_datadir}/git-core/contrib/hooks/update-paranoid
%{_datadir}/git-core/contrib/hooks/setgitperms.perl
-#%{_datadir}/git-core/*
-#%doc Documentation/*.txt
-#%{!?_without_docs: %doc Documentation/*.html}
-#%{!?_without_docs: %doc Documentation/howto/* Documentation/technical/*}
+%{_datadir}/git-core/templates/hooks/fsmonitor-watchman.sample
+%{_datadir}/git-core/templates/hooks/pre-rebase.sample
+%{_datadir}/git-core/templates/hooks/prepare-commit-msg.sample
+%files all
+# No files for you!
%files core -f bin-files-core
-%defattr(-,root,root)
+#NOTE: this is only use of the %%doc macro in this spec file and should not
+# be used elsewhere
%{!?_licensedir:%global license %doc}
%license COPYING
-# exlude is best way here because of troubels with symlinks inside git-core/
+# exclude is best way here because of troubles with symlinks inside git-core/
+%exclude %{_datadir}/git-core/contrib/diff-highlight
%exclude %{_datadir}/git-core/contrib/hooks/update-paranoid
%exclude %{_datadir}/git-core/contrib/hooks/setgitperms.perl
+%exclude %{_datadir}/git-core/templates/hooks/fsmonitor-watchman.sample
+%exclude %{_datadir}/git-core/templates/hooks/pre-rebase.sample
+%exclude %{_datadir}/git-core/templates/hooks/prepare-commit-msg.sample
%{bashcomproot}
%{_datadir}/git-core/
-
%files core-doc -f man-doc-files-core
-%defattr(-,root,root)
-%doc README.md Documentation/*.txt Documentation/RelNotes contrib/
-%{!?_without_docs: %doc Documentation/*.html Documentation/docbook-xsl.css}
-%{!?_without_docs: %doc Documentation/howto Documentation/technical}
-%if ! %{use_prebuilt_docs}
-%{!?_without_docs: %doc contrib/subtree/git-subtree.html}
+%if 0%{?rhel} && 0%{?rhel} <= 7
+# .py files are only bytecompiled on EL <= 7
+%exclude %{_pkgdocdir}/contrib/*/*.py[co]
%endif
+# endif rhel <= 7
+%{_pkgdocdir}/contrib/hooks
+%if %{with libsecret}
+%files credential-libsecret
+%{gitexecdir}/git-credential-libsecret
+%endif
+# endif with libsecret
-%files p4
-%defattr(-,root,root)
-%{gitcoredir}/*p4*
-%{gitcoredir}/mergetools/p4merge
-%doc Documentation/*p4*.txt
-%{!?_without_docs: %{_mandir}/man1/*p4*.1*}
-%{!?_without_docs: %doc Documentation/*p4*.html }
-
-
-%files svn
-%defattr(-,root,root)
-%{gitcoredir}/*svn*
-%doc Documentation/*svn*.txt
-%{!?_without_docs: %{_mandir}/man1/*svn*.1*}
-%{!?_without_docs: %doc Documentation/*svn*.html }
-
-
+%if %{with cvs}
%files cvs
-%defattr(-,root,root)
-%doc Documentation/*git-cvs*.txt
-%if "%{gitcoredir}" != "%{_bindir}"
+%{_pkgdocdir}/*git-cvs*.txt
%{_bindir}/git-cvsserver
+%{gitexecdir}/*cvs*
+%{?with_docs:%{_mandir}/man1/*cvs*.1*}
+%{?with_docs:%{_pkgdocdir}/*git-cvs*.html}
%endif
-%{gitcoredir}/*cvs*
-%{!?_without_docs: %{_mandir}/man1/*cvs*.1*}
-%{!?_without_docs: %doc Documentation/*git-cvs*.html }
+# endif with cvs
+%files daemon
+%{_pkgdocdir}/git-daemon*.txt
+%{_unitdir}/git.socket
+%{_unitdir}/git@.service
+%{gitexecdir}/git-daemon
+%{_localstatedir}/lib/git
+%{?with_docs:%{_mandir}/man1/git-daemon*.1*}
+%{?with_docs:%{_pkgdocdir}/git-daemon*.html}
%files email
-%defattr(-,root,root)
-%doc Documentation/*email*.txt
-%{gitcoredir}/*email*
-%{!?_without_docs: %{_mandir}/man1/*email*.1*}
-%{!?_without_docs: %doc Documentation/*email*.html }
+%{_pkgdocdir}/*email*.txt
+%{gitexecdir}/*email*
+%{?with_docs:%{_mandir}/man1/*email*.1*}
+%{?with_docs:%{_pkgdocdir}/*email*.html}
+%files -n gitk
+%{_pkgdocdir}/*gitk*.txt
+%{_bindir}/*gitk*
+%{_datadir}/gitk
+%{?with_docs:%{_mandir}/man1/*gitk*.1*}
+%{?with_docs:%{_pkgdocdir}/*gitk*.html}
+
+%files -n gitweb
+%{_pkgdocdir}/*.gitweb
+%{_pkgdocdir}/gitweb*.txt
+%{?with_docs:%{_mandir}/man1/gitweb.1*}
+%{?with_docs:%{_mandir}/man5/gitweb.conf.5*}
+%{?with_docs:%{_pkgdocdir}/gitweb*.html}
+%config(noreplace)%{_sysconfdir}/gitweb.conf
+%config(noreplace)%{_sysconfdir}/httpd/conf.d/%{gitweb_httpd_conf}
+%{_localstatedir}/www/git/
%files gui
-%defattr(-,root,root)
-%{gitcoredir}/git-gui*
-%{gitcoredir}/git-citool
+%{gitexecdir}/git-gui*
+%{gitexecdir}/git-citool
%{_datadir}/applications/*git-gui.desktop
%{_datadir}/git-gui/
-%{!?_without_docs: %{_mandir}/man1/git-gui.1*}
-%{!?_without_docs: %doc Documentation/git-gui.html}
-%{!?_without_docs: %{_mandir}/man1/git-citool.1*}
-%{!?_without_docs: %doc Documentation/git-citool.html}
+%{_pkgdocdir}/git-gui.txt
+%{_pkgdocdir}/git-citool.txt
+%{?with_docs:%{_mandir}/man1/git-gui.1*}
+%{?with_docs:%{_pkgdocdir}/git-gui.html}
+%{?with_docs:%{_mandir}/man1/git-citool.1*}
+%{?with_docs:%{_pkgdocdir}/git-citool.html}
+
+%files instaweb
+%{gitexecdir}/git-instaweb
+%{_pkgdocdir}/git-instaweb.txt
+%{?with_docs:%{_mandir}/man1/git-instaweb.1*}
+%{?with_docs:%{_pkgdocdir}/git-instaweb.html}
+
+%if %{with p4}
+%files p4
+%{gitexecdir}/*p4*
+%{gitexecdir}/mergetools/p4merge
+%{_pkgdocdir}/*p4*.txt
+%{?with_docs:%{_mandir}/man1/*p4*.1*}
+%{?with_docs:%{_pkgdocdir}/*p4*.html}
+%endif
+# endif with p4
+%files -n perl-Git -f perl-git-files
+%{?with_docs:%{_mandir}/man3/Git.3pm*}
-%files -n gitk
-%defattr(-,root,root)
-%doc Documentation/*gitk*.txt
-%{_bindir}/*gitk*
-%{_datadir}/gitk
-%{!?_without_docs: %{_mandir}/man1/*gitk*.1*}
-%{!?_without_docs: %doc Documentation/*gitk*.html }
-
-
-#%files -n perl-Git -f perl-git-files
-%files -n perl-Git
-%defattr(-,root,root)
-%exclude %{_mandir}/man3/*Git*SVN*.3pm*
-%{!?_without_docs: %{_mandir}/man3/*Git*.3pm*}
-
-
-#%files -n perl-Git-SVN -f perl-git-svn-files
-%files -n perl-Git-SVN
-%defattr(-,root,root)
-#%{!?_without_docs: %{_mandir}/man3/*Git*SVN*.3pm*}
-/usr/share/perl5/FromCPAN/Error.pm
-/usr/share/perl5/FromCPAN/Mail/Address.pm
-/usr/share/perl5/Git.pm
-/usr/share/perl5/Git/I18N.pm
-/usr/share/perl5/Git/IndexInfo.pm
-/usr/share/perl5/Git/LoadCPAN.pm
-/usr/share/perl5/Git/LoadCPAN/Error.pm
-/usr/share/perl5/Git/LoadCPAN/Mail/Address.pm
-/usr/share/perl5/Git/Packet.pm
-/usr/share/perl5/Git/SVN.pm
-/usr/share/perl5/Git/SVN/Editor.pm
-/usr/share/perl5/Git/SVN/Fetcher.pm
-/usr/share/perl5/Git/SVN/GlobSpec.pm
-/usr/share/perl5/Git/SVN/Log.pm
-/usr/share/perl5/Git/SVN/Memoize/YAML.pm
-/usr/share/perl5/Git/SVN/Migration.pm
-/usr/share/perl5/Git/SVN/Prompt.pm
-/usr/share/perl5/Git/SVN/Ra.pm
-/usr/share/perl5/Git/SVN/Utils.pm
-
-
-%if 0%{?rhel} && 0%{?rhel} <= 6
-%files -n emacs-git
-%defattr(-,root,root)
-%doc contrib/emacs/README
-#%dir %{elispdir}
-%{elispdir}/*.elc
-#%{_emacs_sitestartdir}/git-init.el
-
-
-%files -n emacs-git-el
-%defattr(-,root,root)
-%{elispdir}/*.el
-%endif
+%files -n perl-Git-SVN -f perl-git-svn-files
+%files subtree
+%{gitexecdir}/git-subtree
+%{_pkgdocdir}/git-subtree.txt
+%{?with_docs:%{_mandir}/man1/git-subtree.1*}
+%{?with_docs:%{_pkgdocdir}/git-subtree.html}
-%files daemon
-%defattr(-,root,root)
-%doc Documentation/*daemon*.txt
-%if %{use_systemd}
-%{_unitdir}/git.socket
-%{_unitdir}/git@.service
-%else
-%config(noreplace)%{_sysconfdir}/xinetd.d/git
-%endif
-%{gitcoredir}/git-daemon
-%{_var}/lib/git
-%{!?_without_docs: %{_mandir}/man1/*daemon*.1*}
-%{!?_without_docs: %doc Documentation/*daemon*.html}
+%files svn
+%{gitexecdir}/git-svn
+%{_pkgdocdir}/git-svn.txt
+%{?with_docs:%{_mandir}/man1/git-svn.1*}
+%{?with_docs:%{_pkgdocdir}/git-svn.html}
+%changelog
+* Mon Jun 27 2022 Todd Zullinger - 2.37.0-1
+- update to 2.37.0
-%files -n gitweb
-%defattr(-,root,root)
-%doc gitweb/INSTALL gitweb/README
-%config(noreplace)%{_sysconfdir}/gitweb.conf
-%config(noreplace)%{_sysconfdir}/httpd/conf.d/git.conf
-%{_var}/www/git/
+* Wed Jun 22 2022 Todd Zullinger - 2.37.0-0.2.rc2
+- update to 2.37.0-rc2
+* Fri Jun 17 2022 Todd Zullinger - 2.37.0-0.1.rc1
+- update to 2.37.0-rc1
-%files all
-# No files for you!
+* Tue Jun 14 2022 Todd Zullinger - 2.37.0-0.0.rc0
+- update to 2.37.0-rc0
+- fix GIT_SKIP_TESTS for EL8 s390x
+- remove --with/--without emacs build conditional
+* Fri Jun 03 2022 Jitka Plesnikova - 2.36.1-1.2
+- Perl 5.36 re-rebuild of bootstrapped packages
-%changelog
+* Wed Jun 01 2022 Jitka Plesnikova - 2.36.1-1.1
+- Perl 5.36 rebuild
+
+* Fri May 06 2022 Todd Zullinger - 2.36.1-1
+- update to 2.36.1
+
+* Mon Apr 18 2022 Todd Zullinger - 2.36.0-1
+- update to 2.36.0
+
+* Thu Apr 14 2022 Todd Zullinger - 2.36.0-0.3.rc2
+- usability improvements on top of CVE-2022-24765
+
+* Wed Apr 13 2022 Todd Zullinger - 2.36.0-0.2.rc2
+- update to 2.36.0-rc2 (CVE-2022-24765)
+- disable failing tests on s390x on EL8
+
+* Fri Apr 08 2022 Todd Zullinger - 2.36.0-0.1.rc1
+- update to 2.36.0-rc1
+
+* Tue Apr 05 2022 Todd Zullinger - 2.36.0-0.0.rc0
+- update to 2.36.0-rc0
+- use httpd-core for tests on Fedora >= 37
+
+* Sat Jan 29 2022 Todd Zullinger - 2.35.1-1
+- update to 2.35.1
+
+* Mon Jan 24 2022 Todd Zullinger - 2.35.0-1
+- update to 2.35.0
+- set path to linker script in %%_package_note_file
+
+* Sat Jan 22 2022 Todd Zullinger - 2.35.0-0.2.rc2.3
+- remove contrib/scalar to avoid cruft in git-core-doc
+
+* Fri Jan 21 2022 Todd Zullinger - 2.35.0-0.2.rc2.2
+- fix compilation on EL7
+
+* Thu Jan 20 2022 Todd Zullinger - 2.35.0-0.2.rc2.1
+- checkout: avoid BUG() when hitting a broken repository (rhbz#2042920)
+
+* Wed Jan 19 2022 Todd Zullinger - 2.35.0-0.2.rc2
+- update to 2.35.0-rc2
+
+* Sat Jan 15 2022 Todd Zullinger - 2.35.0-0.1.rc1
+- update to 2.35.0-rc1
+
+* Mon Jan 10 2022 Todd Zullinger - 2.35.0-0.0.rc0
+- update to 2.35.0-rc0
+
+* Thu Nov 25 2021 Todd Zullinger - 2.34.1-1
+- update to 2.34.1
+- fix gpgsm issues with gnupg-2.3
+
+* Mon Nov 15 2021 Todd Zullinger - 2.34.0-1
+- update to 2.34.0
+
+* Sun Nov 14 2021 Todd Zullinger - 2.33.1-3
+- add more git-email perl dependencies
+- Resolves: rhbz#2020487
+
+* Thu Nov 11 2021 Ondřej Pohořelský - 2.33.1-2
+- add Perl requires to git-email
+- Resolves: rhbz#2020487
+
+* Wed Oct 13 2021 Todd Zullinger - 2.33.1-1
+- update to 2.33.1
+
+* Mon Sep 27 2021 Ondřej Pohořelský - 2.33.0-1
+- update to 2.33.0
+- contrib/hooks/multimail is no longer distributed with git
+
+* Tue Sep 14 2021 Sahana Prasad - 2.32.0-1.2
+- Rebuilt with OpenSSL 3.0.0
+
+* Thu Jul 22 2021 Fedora Release Engineering - 2.32.0-1.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Sun Jun 06 2021 Todd Zullinger - 2.32.0-1
+- update to 2.32.0
+- add perl(File::Compare) BuildRequires
+- fix var to enable git-svn tests with httpd
+- remove %%changelog entries prior to 2019
+
+* Thu Jun 03 2021 Todd Zullinger - 2.32.0-0.5.rc3
+- drop jgit on Fedora >= 35
+ Resolves: rhbz#1965808
+
+* Wed Jun 02 2021 Todd Zullinger - 2.32.0-0.4.rc3
+- update to 2.32.0-rc3
+
+* Fri May 28 2021 Todd Zullinger - 2.32.0-0.3.rc2
+- update to 2.32.0-rc2
+
+* Mon May 24 2021 Jitka Plesnikova - 2.32.0-0.2.rc1
+- Perl 5.34 re-rebuild of bootstrapped packages
+
+* Sat May 22 2021 Todd Zullinger - 2.32.0-0.1.rc1
+- update to 2.32.0-rc1
+- rearrange python2/python3 conditionals
+- re-enable git-p4 with python3
+- add coreutils BuildRequires
+- remove unneeded NEEDS_CRYPTO_WITH_SSL
+
+* Fri May 21 2021 Jitka Plesnikova - 2.31.1-3.1
+- Perl 5.34 rebuild
+
+* Mon May 17 2021 Todd Zullinger - 2.32.0-0.0.rc0
+- update to 2.32.0-rc0
+
+* Sun May 16 2021 Todd Zullinger
+- clean up various dist conditionals
+
+* Wed Apr 21 2021 Todd Zullinger - 2.31.1-3
+- apply upstream patch to fix clone --bare segfault
+ Resolves: rhbz#1952030
+
+* Tue Apr 06 2021 Todd Zullinger - 2.31.1-2
+- remove two stray %%defattr macros from %%files sections
+
+* Sat Mar 27 2021 Todd Zullinger - 2.31.1-1
+- update to 2.31.1
+
+* Fri Mar 19 2021 Todd Zullinger - 2.31.0-2
+- fix git bisect with annotaged tags
+
+* Mon Mar 15 2021 Todd Zullinger - 2.31.0-1
+- update to 2.31.0
+
+* Tue Mar 09 2021 Todd Zullinger - 2.31.0-0.2.rc2
+- update to 2.31.0-rc2
+
+* Wed Mar 03 2021 Todd Zullinger - 2.31.0-0.1.rc1
+- update to 2.31.0-rc1
+
+* Tue Mar 02 2021 Todd Zullinger - 2.31.0-0.0.rc0
+- update to 2.31.0-rc0
+
+* Tue Mar 02 2021 Todd Zullinger - 2.30.1-3
+- use %%{gpgverify} macro to verify tarball signature
+
+* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2.30.1-2.1
+- Rebuilt for updated systemd-rpm-macros
+ See https://pagure.io/fesco/issue/2583.
+
+* Thu Feb 18 2021 Ondřej Pohořelský
+- re-enable t7812-grep-icase-non-ascii on s390x
+
+* Tue Feb 09 2021 Todd Zullinger - 2.30.1-1
+- update to 2.30.1
+
+* Mon Feb 08 2021 Ondřej Pohořelský - 2.30.0-2
+- add rhel 9 conditional to require httpd instead of lighttpd in git-instaweb
+
+* Tue Jan 26 2021 Fedora Release Engineering - 2.30.0-1.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Mon Dec 28 2020 Todd Zullinger - 2.30.0-1
+- update to 2.30.0
+
+* Wed Dec 23 2020 Todd Zullinger - 2.30.0-0.2.rc2
+- update to 2.30.0-rc2
+
+* Sat Dec 19 2020 Todd Zullinger - 2.30.0-0.1.rc1
+- update to 2.30.0-rc1
+
+* Mon Dec 14 2020 Todd Zullinger - 2.30.0-0.0.rc0
+- update to 2.30.0-rc0
+
+* Sun Dec 06 2020 Todd Zullinger - 2.29.2-4
+- move git-difftool to git-core, it does not require perl
+
+* Wed Nov 25 2020 Todd Zullinger - 2.29.2-3
+- apply upstream patch to resolve git fast-import memory leak (#1900335)
+- add epel-rpm-macros BuildRequires on EL-7 (#1872865)
+
+* Sat Nov 07 2020 Todd Zullinger - 2.29.2-2
+- apply upstream patch to resolve git log segfault (#1791810)
+
+* Thu Oct 29 2020 Todd Zullinger - 2.29.2-1
+- update to 2.29.2
+
+* Sat Oct 24 2020 Todd Zullinger - 2.29.1-1
+- update to 2.29.1
+- fix bugs in am/rebase handling of committer ident/date
+
+* Mon Oct 19 2020 Todd Zullinger - 2.29.0-1
+- update to 2.29.0
+
+* Thu Oct 15 2020 Todd Zullinger - 2.29.0-0.2.rc2
+- update to 2.29.0-rc2
+
+* Fri Oct 09 2020 Todd Zullinger - 2.29.0-0.1.rc1
+- update to 2.29.0-rc1
+- drop emacs-git stub for fedora >= 34 (#1882360)
+- adjust python hashbang in contrib/hg-to-git, it supports python3
+
+* Mon Oct 05 2020 Todd Zullinger - 2.29.0-0.0.rc0
+- update to 2.29.0-rc0
+
+* Mon Jul 27 2020 Todd Zullinger - 2.28.0-1
+- update to 2.28.0
+
+* Mon Jul 27 2020 Fedora Release Engineering - 2.28.0-0.3.rc2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Wed Jul 22 2020 Todd Zullinger - 2.28.0-0.2.rc2
+- update to 2.28.0-rc2
+
+* Sat Jul 18 2020 Todd Zullinger - 2.28.0-0.1.rc1
+- update to 2.28.0-rc1
+
+* Thu Jul 09 2020 Todd Zullinger - 2.28.0-0.0.rc0
+- update to 2.28.0-rc0
+
+* Fri Jun 26 2020 Jitka Plesnikova - 2.27.0-1.2
+- Perl 5.32 re-rebuild of bootstrapped packages
+
+* Tue Jun 23 2020 Jitka Plesnikova - 2.27.0-1.1
+- Perl 5.32 rebuild
+
+* Mon Jun 01 2020 Todd Zullinger - 2.27.0-1
+- update to 2.27.0
+
+* Tue May 26 2020 Todd Zullinger - 2.27.0-0.2.rc2
+- update to 2.27.0-rc2
+
+* Thu May 21 2020 Todd Zullinger - 2.27.0-0.1.rc1
+- update to 2.27.0-rc1
+
+* Thu May 21 2020 Merlin Mathesius - 2.26.2-2
+- Minor conditional fixes for ELN
+
+* Mon Apr 20 2020 Todd Zullinger - 2.26.2-1
+- update to 2.26.2 (CVE-2020-11008)
+
+* Tue Apr 14 2020 Todd Zullinger - 2.26.1-1
+- update to 2.26.1 (CVE-2020-5260)
+
+* Sat Apr 04 2020 Todd Zullinger - 2.26.0-2
+- fix issue with fast-forward rebases when rebase.abbreviateCommands is set
+- fix/quiet rpmlint issues from libsecret split
+
+* Thu Apr 02 2020 Björn Esser - 2.26.0-1.1
+- Fix string quoting for rpm >= 4.16
+
+* Sun Mar 22 2020 Todd Zullinger - 2.26.0-1
+- update to 2.26.0
+
+* Mon Mar 16 2020 Todd Zullinger - 2.26.0-0.3.rc2
+- update to 2.26.0-rc2
+
+* Thu Mar 12 2020 Todd Zullinger - 2.26.0-0.2.rc1
+- remove s390x gcc10 workaround (#1799408)
+
+* Tue Mar 10 2020 Todd Zullinger - 2.26.0-0.1.rc1
+- update to 2.26.0-rc1
+- adjust make test options
+- add missing build deps for tests
+
+* Fri Mar 06 2020 Todd Zullinger - 2.26.0-0.0.rc0
+- update to 2.26.0-rc0
+
+* Wed Feb 26 2020 Todd Zullinger - 2.25.1-4
+- use Asciidoctor to build documentation when possible
+
+* Sat Feb 22 2020 Todd Zullinger - 2.25.1-3
+- work around issue on s390x with gcc10 (#1799408)
+
+* Wed Feb 19 2020 Todd Zullinger - 2.25.1-2
+- split libsecret credential helper into a subpackage (#1804741)
+- consolidate macros for Fedora/EPEL
+- remove unneeded gnome-keyring obsoletes
+
+* Mon Feb 17 2020 Todd Zullinger - 2.25.1-1
+- update to 2.25.1
+
+* Tue Jan 28 2020 Fedora Release Engineering - 2.25.0-2.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Tue Jan 14 2020 Tom Stellard - 2.25.0-2
+- Use make_build macro when running tests
+
+* Tue Jan 14 2020 Todd Zullinger - 2.25.0-1
+- update to 2.25.0
+
+* Thu Jan 09 2020 Todd Zullinger - 2.25.0-0.2.rc2
+- update to 2.25.0-rc2
+
+* Fri Jan 03 2020 Todd Zullinger - 2.25.0-0.1.rc1
+- update to 2.25.0-rc1
+- only add highlight test BR for ppc64le/x86_64 on EL7+
+
+* Wed Dec 25 2019 Todd Zullinger - 2.25.0-0.0.rc0
+- update to 2.25.0-rc0
+
+* Thu Dec 19 2019 Todd Zullinger - 2.24.1-2
+- fix git-daemon systemd scriptlets (#1785088)
+
+* Tue Dec 10 2019 Todd Zullinger - 2.24.1-1
+- update to 2.24.1 (CVE-2019-1348, CVE-2019-1349, CVE-2019-1350, CVE-2019-1351,
+ CVE-2019-1352, CVE-2019-1353, CVE-2019-1354, and CVE-2019-1387)
+
+* Wed Dec 04 2019 Todd Zullinger - 2.24.0-2
+- restore jgit BR for use in tests
+
+* Mon Nov 04 2019 Todd Zullinger - 2.24.0-1
+- update to 2.24.0
+
+* Thu Oct 31 2019 Todd Zullinger - 2.24.0-0.2.rc2
+- update to 2.24.0-rc2
+
+* Sun Oct 27 2019 Todd Zullinger - 2.24.0-0.1.rc1.1
+- disable linkchecker on all EL releases
+
+* Thu Oct 24 2019 Todd Zullinger - 2.24.0-0.1.rc1
+- update to 2.24.0-rc1
+- skip failing test in t7812-grep-icase-non-ascii on s390x
+- gitk: add Requires: git-gui (#1765113)
+
+* Sat Oct 19 2019 Todd Zullinger - 2.24.0-0.0.rc0
+- update to 2.24.0-rc0
+- fix t0500-progress-display on big-endian arches
+
+* Fri Aug 16 2019 Todd Zullinger - 2.23.0-1
+- Update to 2.23.0
+
+* Sun Aug 11 2019 Todd Zullinger - 2.23.0-0.2.rc2
+- Update to 2.23.0-rc2
+
+* Fri Aug 02 2019 Todd Zullinger - 2.23.0-0.1.rc1
+- Update to 2.23.0-rc1
+
+* Mon Jul 29 2019 Todd Zullinger - 2.23.0-0.0.rc0
+- Update to 2.23.0-rc0
+
+* Thu Jul 25 2019 Todd Zullinger - 2.22.0-2
+- completion: do not cache if --git-completion-helper fails
+- avoid trailing comments in spec file
+- drop jgit on Fedora > 30
+
+* Thu Jul 25 2019 Fedora Release Engineering - 2.22.0-1.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Fri Jun 07 2019 Todd Zullinger - 2.22.0-1
+- Update to 2.22.0
+
+* Tue Jun 04 2019 Jitka Plesnikova - 2.22.0-0.7.rc3
+- Perl 5.30 re-rebuild updated packages
+
+* Mon Jun 03 2019 Todd Zullinger - 2.22.0-0.6.rc3
+- Update to 2.22.0-rc3
+
+* Sun Jun 02 2019 Jitka Plesnikova - 2.22.0-0.5.rc2
+- Perl 5.30 re-rebuild of bootstrapped packages
+
+* Sat Jun 01 2019 Jitka Plesnikova - 2.22.0-0.4.rc2
+- Perl 5.30 rebuild
+
+* Thu May 30 2019 Todd Zullinger - 2.22.0-0.3.rc2
+- Update to 2.22.0-rc1
+
+* Fri May 24 2019 Todd Zullinger - 2.22.0-0.2.rc1
+- Apply upstream fixes for diff-parseopt issues on s390x
+
+* Sun May 19 2019 Todd Zullinger - 2.22.0-0.1.rc1
+- Update to 2.22.0-rc1
+
+* Mon May 13 2019 Todd Zullinger - 2.22.0-0.0.rc0
+- Update to 2.22.0-rc0
+- Ensure a consistent format for test output
+- Improve JGIT test prereq (jgit on Fedora >= 30 is broken)
+- Add perl(JSON::PP) BuildRequires for trace2 tests
+
+* Sun Feb 24 2019 Todd Zullinger - 2.21.0-1
+- Update to 2.21.0
+- Move gitweb manpages to gitweb package
+- Link git-citool to git-gui if they are identical
+
+* Tue Feb 19 2019 Todd Zullinger - 2.21.0-0.2.rc2
+- Update to 2.21.0.rc2
+
+* Fri Feb 15 2019 Todd Zullinger
+- Set SOURCE_DATE_EPOCH and TZ to improve build reproducibility
+
+* Wed Feb 13 2019 Todd Zullinger - 2.21.0-0.1.rc1
+- Update to 2.21.0.rc1
+
+* Thu Feb 07 2019 Todd Zullinger - 2.21.0-0.0.rc0
+- Update to 2.21.0.rc0
+- Remove %%changelog entries prior to 2017
+
+* Thu Jan 31 2019 Todd Zullinger - 2.20.1-2
+- Remove extraneous pcre BuildRequires
+- Add additional BuildRequires for i18n locales used in tests
+- Replace gitweb home-link with inline sed
+- Add gnupg2-smime and perl JSON BuildRequires for tests
+- Work around gpg-agent issues in the test suite
+- Drop gnupg BuildRequires on fedora >= 30
+- Fix formatting of contrib/{contacts,subtree} docs
+- Use %%{build_cflags} and %%{build_ldflags}
+- Drop unneeded TEST_SHELL_PATH make variable
+
+* Thu Jan 31 2019 Fedora Release Engineering - 2.20.1-1.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild