diff --git a/SOURCES/0001-t-lib-httpd-try-harder-to-find-a-port-for-apache.patch b/SOURCES/0001-t-lib-httpd-try-harder-to-find-a-port-for-apache.patch new file mode 100644 index 0000000..f7c1509 --- /dev/null +++ b/SOURCES/0001-t-lib-httpd-try-harder-to-find-a-port-for-apache.patch @@ -0,0 +1,73 @@ +From aedeaaf788bd8a7fc5a1887196b6f6d8a5c31362 Mon Sep 17 00:00:00 2001 +From: Todd Zullinger +Date: Sun, 21 Aug 2022 13:49:57 -0400 +Subject: [PATCH] t/lib-httpd: try harder to find a port for apache +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When running multiple builds concurrently, tests which run daemons, like +apache httpd, sometimes conflict with each other, leading to spurious +failures: + + ++ /usr/sbin/httpd -d '/tmp/git-t.ck9I/trash directory.t9118-git-svn-funky-branch-names/httpd' \ + -f /builddir/build/BUILD/git-2.37.2/t/lib-httpd/apache.conf -DDAV -DSVN -c 'Listen 127.0.0.1:9118' \ + -k start + (98)Address already in use: AH00072: make_sock: could not bind to address 127.0.0.1:9118 + no listening sockets available, shutting down + AH00015: Unable to open logs + ++ test 1 -ne 0 + +Try a bit harder to find an open port to use to avoid these intermittent +failures. If we fail to start httpd, increment the port number and try +again. By default, we make 3 attempts. This may be overridden by +setting GIT_TEST_START_HTTPD_TRIES to a different value. + +Helped-by: Ondřej Pohořelský +Signed-off-by: Todd Zullinger +--- + t/lib-httpd.sh | 29 ++++++++++++++++++----------- + 1 file changed, 18 insertions(+), 11 deletions(-) + +diff --git a/t/lib-httpd.sh b/t/lib-httpd.sh +index 1f6b9b08d1..9279dcd659 100644 +--- a/t/lib-httpd.sh ++++ b/t/lib-httpd.sh +@@ -175,19 +175,26 @@ prepare_httpd() { + } + + start_httpd() { +- prepare_httpd >&3 2>&4 +- + test_atexit stop_httpd + +- "$LIB_HTTPD_PATH" -d "$HTTPD_ROOT_PATH" \ +- -f "$TEST_PATH/apache.conf" $HTTPD_PARA \ +- -c "Listen 127.0.0.1:$LIB_HTTPD_PORT" -k start \ +- >&3 2>&4 +- if test $? -ne 0 +- then +- cat "$HTTPD_ROOT_PATH"/error.log >&4 2>/dev/null +- test_skip_or_die GIT_TEST_HTTPD "web server setup failed" +- fi ++ i=0 ++ while test $i -lt ${GIT_TEST_START_HTTPD_TRIES:-3} ++ do ++ i=$(($i + 1)) ++ prepare_httpd >&3 2>&4 ++ say >&3 "Starting httpd on port $LIB_HTTPD_PORT" ++ "$LIB_HTTPD_PATH" -d "$HTTPD_ROOT_PATH" \ ++ -f "$TEST_PATH/apache.conf" $HTTPD_PARA \ ++ -c "Listen 127.0.0.1:$LIB_HTTPD_PORT" -k start \ ++ >&3 2>&4 ++ test $? -eq 0 && return ++ LIB_HTTPD_PORT=$(($LIB_HTTPD_PORT + 1)) ++ export LIB_HTTPD_PORT ++ # clean up modules symlink, prepare_httpd will re-create it ++ rm -f "$HTTPD_ROOT_PATH/modules" ++ done ++ cat "$HTTPD_ROOT_PATH"/error.log >&4 2>/dev/null ++ test_skip_or_die GIT_TEST_HTTPD "web server setup failed" + } + + stop_httpd() { diff --git a/SOURCES/0002-t-lib-git-daemon-try-harder-to-find-a-port.patch b/SOURCES/0002-t-lib-git-daemon-try-harder-to-find-a-port.patch new file mode 100644 index 0000000..4540b63 --- /dev/null +++ b/SOURCES/0002-t-lib-git-daemon-try-harder-to-find-a-port.patch @@ -0,0 +1,88 @@ +From 16750d024ce038b019ab2e9ee5639901e445af37 Mon Sep 17 00:00:00 2001 +From: Todd Zullinger +Date: Fri, 26 Aug 2022 18:28:44 -0400 +Subject: [PATCH] t/lib-git-daemon: try harder to find a port + +As with the previous commit, try harder to find an open port to avoid +intermittent failures on busy/shared build systems. + +By default, we make 3 attempts. This may be overridden by setting +GIT_TEST_START_GIT_DAEMON_TRIES to a different value. + +Signed-off-by: Todd Zullinger +--- + t/lib-git-daemon.sh | 60 ++++++++++++++++++++++++++++----------------- + 1 file changed, 37 insertions(+), 23 deletions(-) + +diff --git a/t/lib-git-daemon.sh b/t/lib-git-daemon.sh +index e62569222b..c3e8dda9ff 100644 +--- a/t/lib-git-daemon.sh ++++ b/t/lib-git-daemon.sh +@@ -51,30 +51,44 @@ start_git_daemon() { + registered_stop_git_daemon_atexit_handler=AlreadyDone + fi + +- say >&3 "Starting git daemon ..." +- mkfifo git_daemon_output +- ${LIB_GIT_DAEMON_COMMAND:-git daemon} \ +- --listen=127.0.0.1 --port="$LIB_GIT_DAEMON_PORT" \ +- --reuseaddr --verbose --pid-file="$GIT_DAEMON_PIDFILE" \ +- --base-path="$GIT_DAEMON_DOCUMENT_ROOT_PATH" \ +- "$@" "$GIT_DAEMON_DOCUMENT_ROOT_PATH" \ +- >&3 2>git_daemon_output & +- GIT_DAEMON_PID=$! +- { +- read -r line <&7 +- printf "%s\n" "$line" >&4 +- cat <&7 >&4 & +- } 7&3 "Starting git daemon on port $LIB_GIT_DAEMON_PORT ..." ++ mkfifo git_daemon_output ++ ${LIB_GIT_DAEMON_COMMAND:-git daemon} \ ++ --listen=127.0.0.1 --port="$LIB_GIT_DAEMON_PORT" \ ++ --reuseaddr --verbose --pid-file="$GIT_DAEMON_PIDFILE" \ ++ --base-path="$GIT_DAEMON_DOCUMENT_ROOT_PATH" \ ++ "$@" "$GIT_DAEMON_DOCUMENT_ROOT_PATH" \ ++ >&3 2>git_daemon_output & ++ GIT_DAEMON_PID=$! ++ { ++ read -r line <&7 ++ printf "%s\n" "$line" >&4 ++ cat <&7 >&4 & ++ } 7 +Date: Fri, 26 Aug 2022 18:28:44 -0400 +Subject: [PATCH] t/lib-git-svn: try harder to find a port + +As with the previous commits, try harder to find an open port to avoid +intermittent failures on busy/shared build systems. + +By default, we make 3 attempts. This may be overridden by setting +GIT_TEST_START_SVNSERVE_TRIES to a different value. + +Run svnserve in daemon mode and use 'test_atexit' to stop it. This is +cleaner than running in the foreground with --listen-once and having to +manage the PID ourselves. + +Signed-off-by: Todd Zullinger +--- + t/lib-git-svn.sh | 34 +++++++++++++++++++++++++---- + t/t9113-git-svn-dcommit-new-file.sh | 1 - + 2 files changed, 30 insertions(+), 5 deletions(-) + +diff --git a/t/lib-git-svn.sh b/t/lib-git-svn.sh +index ea28971e8e..04e660e2ba 100644 +--- a/t/lib-git-svn.sh ++++ b/t/lib-git-svn.sh +@@ -17,6 +17,7 @@ fi + GIT_DIR=$PWD/.git + GIT_SVN_DIR=$GIT_DIR/svn/refs/remotes/git-svn + SVN_TREE=$GIT_SVN_DIR/svn-tree ++SVNSERVE_PIDFILE="$PWD"/daemon.pid + test_set_port SVNSERVE_PORT + + svn >/dev/null 2>&1 +@@ -119,10 +120,35 @@ require_svnserve () { + } + + start_svnserve () { +- svnserve --listen-port $SVNSERVE_PORT \ +- --root "$rawsvnrepo" \ +- --listen-once \ +- --listen-host 127.0.0.1 & ++ test_atexit stop_svnserve ++ ++ i=0 ++ while test $i -lt ${GIT_TEST_START_SVNSERVE_TRIES:-3} ++ do ++ say >&3 "Starting svnserve on port $SVNSERVE_PORT ..." ++ svnserve --listen-port $SVNSERVE_PORT \ ++ --root "$rawsvnrepo" \ ++ --daemon --pid-file="$SVNSERVE_PIDFILE" \ ++ --listen-host 127.0.0.1 ++ ret=$? ++ # increment port and retry if unsuccessful ++ if test $ret -ne 0 ++ then ++ SVNSERVE_PORT=$(($SVNSERVE_PORT + 1)) ++ export SVNSERVE_PORT ++ else ++ break ++ fi ++ done ++} ++ ++stop_svnserve () { ++ say >&3 "Stopping svnserve ..." ++ SVNSERVE_PID="$(cat "$SVNSERVE_PIDFILE")" ++ if test -n "$SVNSERVE_PID" ++ then ++ kill "$SVNSERVE_PID" 2>/dev/null ++ fi + } + + prepare_utf8_locale () { +diff --git a/t/t9113-git-svn-dcommit-new-file.sh b/t/t9113-git-svn-dcommit-new-file.sh +index e8479cec7a..5925891f5d 100755 +--- a/t/t9113-git-svn-dcommit-new-file.sh ++++ b/t/t9113-git-svn-dcommit-new-file.sh +@@ -28,7 +28,6 @@ test_expect_success 'create files in new directory with dcommit' " + echo hello > git-new-dir/world && + git update-index --add git-new-dir/world && + git commit -m hello && +- start_svnserve && + git svn dcommit + " + diff --git a/SOURCES/print-failed-test-output b/SOURCES/print-failed-test-output index d0d63aa..4e65662 100644 --- a/SOURCES/print-failed-test-output +++ b/SOURCES/print-failed-test-output @@ -10,4 +10,17 @@ for exit_file in t/test-results/*.exit; do printf '\n%s\n%s\n%s\n' "$sep" "$out_file" "$sep" cat "$out_file" done + +# tar up test-results & $testdir, then print base64 encoded output +# +# copy $testdir contents to test-results to avoid absolute paths with tar +cp -a $testdir/* t/test-results/ +begin='-----BEGIN BASE64 MESSAGE-----' +end='-----END BASE64 MESSAGE-----' +printf '\n%s\n' 'test-results and trash directory output follows; decode via:' +printf '%s\n' "sed -n '/^${begin}$/,/^${end}$/{/^${begin}$/!{/^${end}$/!p}}' build.log | base64 -d >output.tar.zst" +printf '%s\n' "$begin" +tar -C t -cf - test-results/ | zstdmt -17 | base64 +printf '%s\n' "$end" + exit 1 diff --git a/SPECS/git.spec b/SPECS/git.spec index abf02d8..adb440b 100644 --- a/SPECS/git.spec +++ b/SPECS/git.spec @@ -1,71 +1,85 @@ # Pass --without docs to rpmbuild if you don't want the documentation +%bcond_without docs -# 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())")} +# Pass --without tests to rpmbuild if you don't want to run the tests +%bcond_without tests + +%global gitexecdir %{_libexecdir}/git-core + +# Settings for Fedora +%if 0%{?fedora} +# linkchecker is not available on EL +%bcond_without linkcheck %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 0 -%global use_prebuilt_docs 0 -%global filter_yaml_any 0 +%bcond_with linkcheck %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 0 -%global gnome_keyring 0 -%global use_new_rpm_filters 1 -%global use_systemd 1 +# Settings for Fedora and EL >= 9 +%if 0%{?fedora} || 0%{?rhel} >= 9 +%bcond_without asciidoctor %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 +%bcond_with asciidoctor %endif -# Settings for EL <= 7 -%if 0%{?rhel} && 0%{?rhel} <= 7 -%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro} +# Settings for Fedora and EL >= 8 +%if 0%{?fedora} || 0%{?rhel} >= 8 +%bcond_with python2 +%bcond_without python3 +%global gitweb_httpd_conf gitweb.conf +%global use_glibc_langpacks 1 +%global use_perl_generators 1 +%global use_perl_interpreter 1 +%else +%bcond_without python2 +%bcond_with python3 +%global build_cflags %{build_cflags} -fPIC -std=gnu99 +%global gitweb_httpd_conf git.conf +%global use_glibc_langpacks 0 +%global use_perl_generators 0 +%global use_perl_interpreter 0 +%endif + +# Allow cvs subpackage to be toggled via --with/--without +# Disable cvs subpackage by default on EL >= 8 +%if 0%{?rhel} >= 8 +%bcond_with cvs +%else +%bcond_without cvs %endif +# Allow credential-libsecret subpackage to be toggled via --with/--without +%bcond_without libsecret + +# Allow p4 subpackage to be toggled via --with/--without +# Disable by default if we lack python2 or python3 support +%if %{with python2} || %{with python3} +%bcond_without p4 +%else +%bcond_with p4 +%endif + +# Hardening flags for EL-7 +%if 0%{?rhel} == 7 +%global _hardened_build 1 +%endif + +# Define %%bash_completions_dir for EL <= 9 +%{?!bash_completions_dir:%global bash_completions_dir %{_datadir}/bash-completion/completions} + +# Define for release candidates +#global rcrev .rc0 + +# Set path to the package-notes linker script +%global _package_note_file %{_builddir}/%{name}-%{version}%{?rcrev}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld + Name: git Version: 2.39.0 -Release: 1%{?dist} +Release: 1%{?rcrev}%{?dist} Summary: Fast Version Control System -License: GPLv2 -Group: Development/Tools +License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT 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 +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 # Junio C Hamano's key is used to sign git releases, it can be found in the # junio-gpg-pub tag within git. @@ -76,75 +90,196 @@ Source5: https://www.kernel.org/pub/software/scm/git/%{name}-manpages-%{v # # 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 +Source2: gpgkey-junio.asc # Local sources begin at 10 to allow for additional future upstream sources -Source10: git-init.el 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) +# Script to print test failure output (used in %%check) +Source99: print-failed-test-output -%if ! %{use_prebuilt_docs} && ! 0%{?_without_docs} +# https://bugzilla.redhat.com/490602 +Patch0: git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch + +# https://bugzilla.redhat.com/2114531 +# tests: try harder to find open ports for apache, git, and svn +# +# https://github.com/tmzullinger/git/commit/aedeaaf788 +Patch1: 0001-t-lib-httpd-try-harder-to-find-a-port-for-apache.patch +# https://github.com/tmzullinger/git/commit/16750d024c +Patch2: 0002-t-lib-git-daemon-try-harder-to-find-a-port.patch +# https://github.com/tmzullinger/git/commit/aa5105dc11 +Patch3: 0003-t-lib-git-svn-try-harder-to-find-a-port.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 +# endif use_perl_generators +%if %{use_perl_interpreter} +BuildRequires: perl-interpreter +%else +BuildRequires: perl %endif -%if %{use_systemd} -# For macros +# endif use_perl_interpreter +BuildRequires: pkgconfig(bash-completion) +BuildRequires: sed +%if 0%{?fedora} || 0%{?rhel} >= 8 +BuildRequires: systemd-rpm-macros +%else BuildRequires: systemd %endif +BuildRequires: tcl +BuildRequires: tk +BuildRequires: xz +BuildRequires: zlib-devel >= 1.2 + +%if %{with tests} +# Test suite requirements +BuildRequires: acl +%if 0%{?fedora} || 0%{?rhel} >= 8 +# Needed by t5540-http-push-webdav.sh +BuildRequires: apr-util-bdb +# Needed by t5559-http-fetch-smart-http2.sh +BuildRequires: mod_http2 +%endif +# endif fedora or rhel >= 8 +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 +%if 0%{?fedora} || 0%{?rhel} >= 9 +BuildRequires: gnupg2-smime +%endif +# endif fedora or el >= 9 +%if 0%{?fedora} || ( 0%{?rhel} >= 7 && ( "%{_arch}" == "ppc64le" || "%{_arch}" == "x86_64" ) ) +BuildRequires: highlight +%endif +# endif fedora or el7+ (ppc64le/x86_64) +%if 0%{?fedora} >= 37 +BuildRequires: httpd-core +%else +BuildRequires: httpd +%endif +# endif fedora >= 37 +%if 0%{?fedora} && ! ( 0%{?fedora} >= 35 || "%{_arch}" == "i386" || "%{_arch}" == "s390x" ) +BuildRequires: jgit +%endif +# endif fedora (except i386 and s390x) +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 +BuildRequires: zstd +%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 +292,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 +326,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,359 +342,375 @@ 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 -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 +%if %{with libsecret} +%package credential-libsecret +Summary: Git helper for accessing credentials via libsecret +BuildRequires: libsecret-devel 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} +%{?systemd_requires} +%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. +%{summary}. -%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} +%package subtree +Summary: Git tools to merge and split repositories BuildArch: noarch -Requires: emacs(bin) >= %{_emacs_version} -%else -Requires: emacs-common -%endif - -%description -n emacs-git -%{summary}. +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 -n emacs-git-el -Summary: Elisp source files for git version control system support for Emacs -Group: Applications/Editors -%if %{noarch_sub} +%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 +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 +sed -i '/^SCRIPT_PERL += git-archimport\.perl$/d' Makefile +sed -i '/^git-archimport/d' command-list.txt +rm git-archimport.perl Documentation/git-archimport.txt + +%if %{without cvs} +# Remove git-cvs* from command list +sed -i '/^git-cvs/d' command-list.txt %endif +# endif without cvs -%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 +%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/ +# Remove contrib/fast-import/import-zips.py which requires python2. +rm -rf contrib/fast-import/import-zips.py %endif +# endif with python2 -#%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 +# 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 -install -pm 755 contrib/credential/netrc/git-credential-netrc \ - %{buildroot}%{gitcoredir} +# endif with python3 + +%install +%make_install %{?with_docs:install-doc} -make -C contrib/subtree install -%if ! %{use_prebuilt_docs} -make -C contrib/subtree install-doc +%make_install -C contrib/contacts + +%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/persistent-https; a) this code requires compilation; and b) it +# is licensed differently than git +rm -rf contrib/persistent-https + +# 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} + +%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 -# git-archimport is not supported -find %{buildroot} Documentation -type f -name 'git-archimport*' -exec rm -f {} ';' +# Remove unneeded git-remote-testsvn so git-svn can be noarch +rm -f %{buildroot}%{gitexecdir}/git-remote-testsvn -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 +exclude_re="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 -ln -s git %{buildroot}%{bashcompdir}/gitk +install -Dpm 644 contrib/completion/git-completion.bash %{buildroot}%{bash_completions_dir}/git +ln -s git %{buildroot}%{bash_completions_dir}/gitk # Install tcsh completion 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 +721,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 fedora \ -%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,1216 +736,518 @@ 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 + +# Tests to skip on all releases and architectures +# +# t5559-http-fetch-smart-http2 runs t5551-http-fetch-smart with +# HTTP_PROTO=HTTP/2. Unfortunately, it fails quite regularly. +# https://lore.kernel.org/git/Y4fUntdlc1mqwad5@pobox.com/ +GIT_SKIP_TESTS="t5559" + +%if 0%{?rhel} && 0%{?rhel} < 8 +# Skip tests which require mod_http2 on el7 +GIT_SKIP_TESTS="$GIT_SKIP_TESTS t5559" +%endif +# endif rhel < 8 +%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.37 t5551.25" +%endif +# endif aarch64 %%{arm} %%{power64} -%clean -rm -rf %{buildroot} +%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 +export 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 +%systemd_preun git.socket %postun daemon -%systemd_postun_with_restart git@.service -%endif +%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 -%{bashcomproot} +%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 +%{bash_completions_dir}/git %{_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 email -%defattr(-,root,root) -%doc Documentation/*email*.txt -%{gitcoredir}/*email* -%{!?_without_docs: %{_mandir}/man1/*email*.1*} -%{!?_without_docs: %doc Documentation/*email*.html } +%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 gui -%defattr(-,root,root) -%{gitcoredir}/git-gui* -%{gitcoredir}/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} +%files email +%{_pkgdocdir}/*email*.txt +%{gitexecdir}/*email* +%{?with_docs:%{_mandir}/man1/*email*.1*} +%{?with_docs:%{_pkgdocdir}/*email*.html} %files -n gitk -%defattr(-,root,root) -%doc Documentation/*gitk*.txt +%{_pkgdocdir}/*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 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} +%{bash_completions_dir}/gitk +%{?with_docs:%{_mandir}/man1/*gitk*.1*} +%{?with_docs:%{_pkgdocdir}/*gitk*.html} %files -n gitweb -%defattr(-,root,root) -%doc gitweb/INSTALL gitweb/README +%{_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/git.conf -%{_var}/www/git/ - - -%files all -# No files for you! - -%changelog -* Mon Oct 31 2016 Jon Ciesla - 2.10.2-1 -- Update to 2.10.2 - -* Tue Oct 04 2016 Jon Ciesla - 2.10.1-1 -- Update to 2.10.1 - -* Sat Sep 03 2016 Todd Zullinger - 2.10.0-1 -- Update to 2.10.0 - -* Mon Aug 15 2016 Jon Ciesla - 2.9.3-1 -- Update to 2.9.3. - -* Fri Jul 15 2016 Jon Ciesla - 2.9.2-1 -- Update to 2.9.2. - -* Tue Jul 12 2016 Jon Ciesla - 2.9.1-1 -- Update to 2.9.1. - -* Tue Jun 14 2016 Jon Ciesla - 2.9.0-1 -- Update to 2.9.0. - -* Wed Jun 08 2016 Jon Ciesla - 2.8.4-1 -- Update to 2.8.4. - -* Fri May 20 2016 Jitka Plesnikova - 2.8.3-2 -- Perl 5.24 rebuild - -* Thu May 19 2016 Todd Zullinger - 2.8.3-1 -- Update to 2.8.3 - -* Thu May 19 2016 Jitka Plesnikova - 2.8.2-5 -- Perl 5.24 re-rebuild of bootstrapped packages - -* Wed May 18 2016 Todd Zullinger - 2.8.2-4 -- Use perl(MOD::NAME) format for perl-DBD-SQLite and perl-Digest-MD5 deps -- Define __global_ldflags on EL < 7 (#1337137) - -* Wed May 18 2016 Jitka Plesnikova - 2.8.2-3 -- Perl 5.24 re-rebuild of bootstrapped packages - -* Sun May 15 2016 Jitka Plesnikova - 2.8.2-2 -- Perl 5.24 rebuild - -* Fri Apr 29 2016 Todd Zullinger - 2.8.2-1 -- Update to 2.8.2 - -* Mon Apr 11 2016 Todd Zullinger - 2.8.1-3 -- Set LDFLAGS for hardened builds (#1289728) - -* Wed Apr 06 2016 Paolo Bonzini - 2.8.1-2 -- Install git-credentials-netrc (#1303358) - -* Tue Apr 05 2016 Jon Ciesla - 2.8.1-1 -- Update to 2.8.1. - -* Tue Mar 29 2016 Neal Gompa - 2.8.0-1 -- Update to 2.8.0 -- Use license macro for COPYING - -* Sun Mar 27 2016 Todd Zullinger - 2.7.4-2 -- Use https for URL / Source and smaller tar.xz files -- Check upstream GPG signatures in %%prep - -* Tue Mar 22 2016 Konrad Scherer -- Workaround missing git subtree documentation in prebuilt docs (bug 1320210) -- Only add git-cvsserver binary once if the core dir matches the bin dir as it - does on el5 (bug 1320210) - -* Tue Mar 22 2016 Todd Zullinger -- Conditionalize bash-completion pkg-config usage for EL <= 6 (bug 1320210) - -* Fri Mar 18 2016 David Woodhouse - 2.7.4-1 -- Update to 2.7.4 (for CVE-2016-2315, CVE-2016-2324) - Resolves: #1318220 - -* Mon Mar 14 2016 Jon Ciesla - 2.7.3-1 -- Update to 2.7.3. - -* Tue Feb 23 2016 Jon Ciesla - 2.7.2-1 -- Update to 2.7.2. - -* Sat Feb 06 2016 Jon Ciesla - 2.7.1-1 -- Update to 2.7.1. - -* Thu Feb 04 2016 Petr Stodulka - 2.7.0-3 -- remove all '.gitignore' files from packages - -* Wed Feb 03 2016 Fedora Release Engineering - 2.7.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Tue Jan 05 2016 Jon Ciesla - 2.7.0-1 -- Update to 2.7.0. -- Infinite loop patch appears obsolete. - -* Wed Dec 09 2015 Jon Ciesla - 2.6.4-1 -- Update to 2.6.4. - -* Fri Nov 27 2015 Petr Stodulka - 2.6.3-2 -- found 2 perl scripts in git-core, move them to git package - (#1284688) - -* Fri Nov 06 2015 Jon Ciesla - 2.6.3-1 -- Update to 2.6.3. - -* Tue Nov 03 2015 Petr Stodulka - 2.6.2-2 -- provides failback for the macro _pkgdocdir (#1277550) - -* Sat Oct 17 2015 Jon Ciesla - 2.6.2-1 -- Update to 2.6.2. - -* Tue Oct 06 2015 Jon Ciesla - 2.6.1-1 -- Update to 2.6.1. - -* Tue Sep 29 2015 Jon Ciesla - 2.6.0-1 -- Update to 2.6.0. - -* Fri Sep 18 2015 Jon Ciesla - 2.5.3-1 -- Update to 2.5.3. - -* Fri Sep 11 2015 Jon Ciesla - 2.5.2-1 -- Update to 2.5.2. - -* Sat Aug 29 2015 Petr Stodulka - 2.5.1-1 -- Update to 2.5.1 - -* Tue Jul 28 2015 Jon Ciesla - 2.5.0-1 -- Update to 2.5.0. - -* Thu Jul 16 2015 Petr Stodulka - 2.4.6-1 -- New upstream release 2.4.6 - -* Tue Jul 7 2015 Jonathan Underwood - 2.4.5-2 -- Comply with modern Emacs packaging guidelines on recent Fedora - No longer split out emacs-git and emacs-git-el sub-packages on recent Fedora - Require emacs-filesystem on recent Fedora (#1234552) - -* Fri Jun 26 2015 Jon Ciesla - 2.4.5-1 -- Update to 2.4.5. - -* Mon Jun 22 2015 Petr Stodulka - 2.4.4-2 -- git-svn - added requires for perl-Digest-MD5 (#1218176) -- solve troubles with infinite loop due to broken symlink (probably - shouldn't be problem here, but it's reproducible manually) - (#1204193) - -* Tue Jun 16 2015 Jon Ciesla - 2.4.4-1 -- Update to 2.4.4. - -* Wed Jun 10 2015 Jitka Plesnikova - 2.4.3-4 -- Perl 5.22 re-rebuild of bootstrapped packages - -* Tue Jun 09 2015 Jitka Plesnikova - 2.4.3-3 -- Perl 5.22 rebuild - -* Mon Jun 08 2015 Petr Stodulka - 2.4.3-2 -- separate documentation files from git-core package to git-core-doc - including core man pages - -* Sat Jun 06 2015 Jon Ciesla - 2.4.3-1 -- Update to 2.4.3. - -* Fri Jun 05 2015 Jitka Plesnikova -- Perl 5.22 rebuild - -* Wed Jun 03 2015 Petr Stodulka - 2.4.2-2 -- split create subpackage git-core (perl-less) from git package -- git package requires git-core and it has same tool set as - before -- relevant docs are part of git-core package too -- removed proved and obsoletes in git for git-core - -* Tue May 26 2015 Jon Ciesla - 2.4.2-1 -- Update to 2.4.2. - -* Thu May 14 2015 Jon Ciesla - 2.4.1-1 -- Update to 2.4.1. - -* Fri May 01 2015 Jon Ciesla - 2.4.0-1 -- Update to 2.4.0. - -* Tue Apr 28 2015 Jon Ciesla - 2.3.7-1 -- Update to 2.3.7. - -* Wed Apr 22 2015 Jon Ciesla - 2.3.6-1 -- Update to 2.3.6. - -* Mon Apr 06 2015 Jon Ciesla - 2.3.5-1 -- Update to 2.3.5. - -* Tue Mar 24 2015 Petr Stodulka - 2.3.4-1 -- Update to 2.3.4. - -* Mon Mar 16 2015 Jon Ciesla - 2.3.3-1 -- Update to 2.3.3. - -* Mon Mar 09 2015 Jon Ciesla - 2.3.2-1 -- Update to 2.3.2. - -* Fri Feb 27 2015 Jon Ciesla - 2.3.1-1 -- Update to 2.3.1. - -* Sat Feb 21 2015 Till Maas - 2.3.0-2 -- Rebuilt for Fedora 23 Change - https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code - -* Fri Feb 06 2015 Jon Ciesla - 2.3.0-1 -- Update to 2.3.0. - -* Tue Jan 27 2015 Ville Skyttä - 2.2.2-2 -- Install bash completion to %%{_datadir}/bash-completion/completions - -* Fri Jan 23 2015 Jon Ciesla - 2.2.2-1 -- Update to 2.2.2. - -* Thu Jan 08 2015 Jon Ciesla - 2.2.1-1 -- Update to 2.2.1. - -* Thu Dec 11 2014 Petr Stodulka - 2.2.0-3 -- removed subpackage git-hg which is replaced by git-remote-hg from - separated package - -* Fri Nov 28 2014 Petr Stodulka - 2.2.0-2 -- removed subpackage git-bzr which is replaced by git-remote-bzr from - separated package - -* Fri Nov 28 2014 Petr Stodulka - 2.2.0-1 -- 2.2.0 - -* Fri Oct 24 2014 Pierre-Yves Chibon - 2.1.0-5 -- Rename the git.service into git@.service fixing - https://bugzilla.redhat.com/980574 - -* Mon Sep 08 2014 Jitka Plesnikova - 2.1.0-4 -- Perl 5.20 re-rebuild of bootstrapped packages - -* Thu Aug 28 2014 Jitka Plesnikova - 2.1.0-3 -- Perl 5.20 rebuild - -* Tue Aug 26 2014 Jitka Plesnikova - 2.1.0-2 -- Disable requires perl(Term::ReadKey) when perl bootstraping - -* Mon Aug 18 2014 Ondrej Oprala - 2.0.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Thu Jul 31 2014 Ondrej Oprala - 2.0.0-4 -- Change source URLs, as googlecode doesn't have up-to-date tarballs - -* Tue Jun 10 2014 Ondrej Oprala - 2.0.0-3 -- Conditionalize an ancient obsolete - -* Sat Jun 07 2014 Fedora Release Engineering - 2.0.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Thu May 29 2014 Ondrej Oprala - 2.0.0-1 -- Update to 2.0.0 - -* Mon May 19 2014 Jon Ciesla - 1.9.3-1 -- Update to 1.9.3 - -* Mon Feb 17 2014 Ondrej Oprala - 1.9.0-1 -- Update to 1.9.0 - -* Thu Jan 16 2014 Todd Zullinger - 1.8.5.3-2 -- Drop unused python DESTIR patch -- Consolidate settings for Fedora 19+ and EL 7+ -- Use new rpm filtering on Fedora 19+ and EL 7+ -- Rebuild with file-5.14-14 (#1026760) - -* Thu Jan 16 2014 Ondrej Oprala - 1.8.5.3-1 -* Update to 1.8.5.3 - -* Wed Dec 18 2013 Ondrej Oprala - 1.8.5.2-1 -* Update to 1.8.5.2 - -* Wed Nov 13 2013 Ville Skyttä - 1.8.4.2-2 -- Fix htmldir when doc dir is unversioned (#993779). - -* Tue Oct 29 2013 Todd Zullinger - 1.8.4.2-1 -- Update to 1.8.4.2 (#1024497) - -* Sat Oct 05 2013 Todd Zullinger -- Add mercurial version requirement to git-hg, for those rebuilding on EL - -* Sat Aug 03 2013 Fedora Release Engineering - 1.8.3.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Mon Jul 15 2013 Petr Pisar - 1.8.3.1-2 -- Perl 5.18 rebuild - -* Fri Jun 14 2013 Todd Zullinger - 1.8.3.1-1 -- Update to 1.8.3.1 -- Add bzr and hg subpackages, thanks to Michael Scherer (#974800) - -* Mon May 13 2013 Jon Ciesla - 1.8.2.1-4 -- Fix typo introduced in 1.8.2-3, fixed desktop tag. - -* Wed May 1 2013 Tom Callaway - 1.8.2.1-3 -- conditionalize systemd vs xinetd -- cleanup systemd handling (it was not quite right in -2) - -* Tue Apr 30 2013 Tom Callaway - 1.8.2.1-2 -- switch to systemd instead of xinetd (bz 737183) - -* Sun Apr 14 2013 Todd Zullinger - 1.8.2.1-1 -- Update to 1.8.2.1 -- Exclude optional perl(YAML::Any) dependency on EL-5 - -* Wed Apr 10 2013 Jon Ciesla - 1.8.2-3 -- Drop desktop vendor tag for >= f19. - -* Wed Mar 27 2013 Todd Zullinger - 1.8.2-2 -- Require perl(Term::ReadKey) for git add --interactive (#928328) -- Drop DESTDIR from python instlibdir -- Fix bogus changelog dates - -* Tue Mar 19 2013 Adam Tkac - 1.8.2-1 -- update to 1.8.2 -- 0001-DESTDIR-support-in-contrib-subtree-Makefile.patch has been merged - -* Tue Feb 26 2013 Todd Zullinger - 1.8.1.4-2 -- Update asciidoc requirements, drop unsupported ASCIIDOC7 -- Define GNU_ROFF to force ASCII apostrophes in manpages (so copy/paste works) -- Install tcsh completion (requires manual setup by users) -- Clean up dist conditionals, don't pretend to support EL-4 builds -- Use prebuilt documentation on EL-5, where asciidoc is too old -- Respect gitexecdir variable in git-subtree install - -* Wed Feb 20 2013 Adam Tkac - 1.8.1.4-1 -- update to 1.8.1.4 +%config(noreplace)%{_sysconfdir}/httpd/conf.d/%{gitweb_httpd_conf} +%{_localstatedir}/www/git/ -* Wed Jan 30 2013 Adam Tkac - 1.8.1.2-1 -- update to 1.8.1.2 -- own directories which should be owned (#902517) - -* Thu Jan 03 2013 Adam Tkac - 1.8.1-1 -- update to 1.8.1 -- build git-svn as arch subpkg due to new git-remote-testsvn binary - -* Tue Dec 11 2012 Adam Tkac - 1.8.0.2-1 -- update to 1.8.0.2 - -* Thu Dec 06 2012 Adam Tkac - 1.8.0.1-2 -- don't install some unneeded credential-gnome-keyring stuff - -* Thu Nov 29 2012 Adam Tkac - 1.8.0.1-1 -- update to 1.8.0.1 -- include git-subtree in git rpm (#864651) - -* Mon Oct 29 2012 Adam Tkac - 1.8.0-1 -- update to 1.8.0 -- include git-credential-gnome-keyring helper in git pkg -- 0001-cvsimport-strip-all-inappropriate-tag-strings.patch was merged - -* Thu Oct 25 2012 Adam Tkac - 1.7.12.1-2 -- move git-prompt.sh into usr/share/git-core/contrib/completion (#854061) - -* Thu Sep 27 2012 Adam Tkac - 1.7.12.1-1 -- update to 1.7.12.1 -- cvsimport should skip more characters (#850640) - -* Thu Aug 23 2012 Todd Zullinger - 1.7.12-2 -- Install git-prompt.sh which provides __git_ps1() - -* Wed Aug 22 2012 Adam Tkac - 1.7.12-1 -- update to 1.7.12 - -* Wed Aug 15 2012 Todd Zullinger - 1.7.11.5-1 -- Update to 1.7.11.5 -- Add git-p4 subpackage (#844008) - -* Tue Aug 07 2012 Adam Tkac - 1.7.11.4-1 -- update to 1.7.11.4 - -* Fri Jul 27 2012 Fedora Release Engineering - 1.7.11.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Wed Jul 25 2012 Todd Zullinger - 1.7.11.2-2 -- Split perl(Git::SVN) into its own package (#843182) - -* Mon Jul 16 2012 Adam Tkac - 1.7.11.2-1 -- update to 1.7.11.2 - -* Thu Jun 28 2012 Petr Pisar - 1.7.10.4-2 -- Perl 5.16 rebuild - -* Fri Jun 15 2012 Adam Tkac - 1.7.10.4-1 -- update to 1.7.10.4 - -* Thu Jun 07 2012 Petr Pisar - 1.7.10.2-2 -- Perl 5.16 rebuild - -* Mon May 14 2012 Adam Tkac - 1.7.10.2-1 -- update to 1.7.10.2 - -* Thu May 03 2012 Adam Tkac - 1.7.10.1-1 -- update to 1.7.10.1 - -* Tue Apr 10 2012 Adam Tkac - 1.7.10-1 -- update to 1.7.10 - -* Fri Mar 30 2012 Adam Tkac - 1.7.9.5-1 -- update to 1.7.9.5 - -* Thu Mar 08 2012 Adam Tkac - 1.7.9.3-1 -- update to 1.7.9.3 - -* Wed Feb 15 2012 Todd Zullinger - 1.7.9.1-1 -- Update to 1.7.9.1 -- Fix EPEL builds (rpm doesn't accept mutiple -f options in %files) - -* Fri Feb 10 2012 Petr Pisar - 1.7.9-2 -- Rebuild against PCRE 8.30 - -* Mon Jan 30 2012 Adam Tkac - 1.7.9-1 -- update to 1.7.9 - -* Thu Jan 19 2012 Adam Tkac - 1.7.8.4-1 -- update to 1.7.8.4 - -* Thu Jan 12 2012 Adam Tkac - 1.7.8.3-1 -- update to 1.7.8.3 - -* Mon Jan 02 2012 Adam Tkac - 1.7.8.2-1 -- update to 1.7.8.2 - -* Fri Dec 23 2011 Adam Tkac - 1.7.8.1-1 -- update to 1.7.8.1 - -* Wed Dec 07 2011 Adam Tkac - 1.7.8-1 -- update to 1.7.8 - -* Tue Nov 29 2011 Adam Tkac - 1.7.7.4-1 -- update to 1.7.7.4 - -* Thu Nov 10 2011 Adam Tkac - 1.7.7.3-1 -- update to 1.7.7.3 - -* Mon Nov 07 2011 Adam Tkac - 1.7.7.2-1 -- update to 1.7.7.2 - -* Tue Nov 01 2011 Adam Tkac - 1.7.7.1-1 -- update to 1.7.7.1 - -* Wed Oct 26 2011 Fedora Release Engineering - 1.7.7-2 -- Rebuilt for glibc bug#747377 - -* Thu Oct 20 2011 Adam Tkac - 1.7.7-1 -- update to 1.7.7 - - git-1.6-update-contrib-hooks-path.patch is no longer needed - -* Mon Sep 26 2011 Adam Tkac - 1.7.6.4-1 -- update to 1.7.6.4 - -* Wed Sep 07 2011 Todd Zullinger - 1.7.6.2-1 -- Update to 1.7.6.2 -- Fixes incompatibility caused by git push --quiet fix - http://thread.gmane.org/gmane.comp.version-control.git/180652 - -* Mon Aug 29 2011 Todd Zullinger - 1.7.6.1-2 -- Build with PCRE support (#734269) - -* Fri Aug 26 2011 Todd Zullinger - 1.7.6.1-1 -- Update to 1.7.6.1 -- Include gpg signature for tarball in SRPM - -* Fri Aug 05 2011 Todd Zullinger - 1.7.6-5 -- Fix git push --quiet, thanks to Clemens Buchacher (#725593) -- Obsolete git-arch as needed - -* Tue Jul 26 2011 Todd Zullinger - 1.7.6-4 -- Drop git-arch on fedora >= 16, the tla package has been retired -- Rework most spec file dist conditionals to make future changes easier - -* Thu Jul 21 2011 Petr Sabata - 1.7.6-3 -- Perl mass rebuild - -* Wed Jul 20 2011 Petr Sabata - 1.7.6-2 -- Perl mass rebuild - -* Wed Jun 29 2011 Adam Tkac - 1.7.6-1 -- update to 1.7.6 - -* Mon Jun 20 2011 Marcela Mašláňová - 1.7.5.4-2 -- Perl mass rebuild - -* Thu Jun 09 2011 Adam Tkac - 1.7.5.4-1 -- update to 1.7.5.4 - -* Tue May 24 2011 Adam Tkac - 1.7.5.2-1 -- update to 1.7.5.2 - -* Thu May 05 2011 Adam Tkac - 1.7.5.1-1 -- update to 1.7.5.1 - -* Wed Apr 27 2011 Adam Tkac - 1.7.5-1 -- update to 1.7.5 - -* Mon Apr 11 2011 Adam Tkac - 1.7.4.4-1 -- update to 1.7.4.4 - -* Mon Mar 28 2011 Adam Tkac - 1.7.4.2-1 -- update to 1.7.4.2 -- move man3/Git.3pm file to perl-Git subpkg (#664889) -- add perl-DBD-SQLite dependency to git-cvs (#602410) - -* Sun Feb 13 2011 Todd Zullinger - 1.7.4.1-1 -- Update to 1.7.4.1 -- Clean up documentation settings (the defaults changed in 1.7.4) -- Improve EL-5 compatibility, thanks to Kevin Fenzi for emacs testing - -* Tue Feb 08 2011 Fedora Release Engineering - 1.7.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Mon Jan 31 2011 Adam Tkac - 1.7.4-1 -- update to 1.7.4 - -* Wed Jan 19 2011 Adam Tkac - 1.7.3.5-1 -- update to 1.7.3.5 - -* Thu Dec 16 2010 Adam Tkac - 1.7.3.4-1 -- update to 1.7.3.4 - -* Mon Dec 06 2010 Adam Tkac - 1.7.3.3-1 -- update to 1.7.3.3 - -* Fri Oct 22 2010 Adam Tkac - 1.7.3.2-1 -- update to 1.7.3.2 - -* Thu Sep 30 2010 Adam Tkac - 1.7.3.1-1 -- update to 1.7.3.1 - -* Wed Sep 29 2010 jkeating - 1.7.3-3 -- Rebuilt for gcc bug 634757 - -* Mon Sep 20 2010 Todd Zullinger - 1.7.3-2 -- Ensure the release notes are included in %%doc - -* Sun Sep 19 2010 Todd Zullinger - 1.7.3-1 -- Update to 1.7.3 - -* Tue Sep 07 2010 Adam Tkac - 1.7.2.3-1 -- update to 1.7.2.3 - -* Fri Aug 20 2010 Adam Tkac - 1.7.2.2-1 -- update to 1.7.2.2 - -* Fri Jul 30 2010 Thomas Spura - 1.7.2.1-2 -- cherry-pick: "Do not unquote + into ' ' in URLs" - -* Thu Jul 29 2010 Todd Zullinger - 1.7.2.1-1 -- Update to git-1.7.2.1 - -* Thu Jul 22 2010 Adam Tkac - 1.7.2-1 -- update to 1.7.2 - -* Fri Jul 02 2010 Adam Tkac - 1.7.1.1-1 -- update to 1.7.1.1 - -* Fri Jun 25 2010 Adam Tkac - 1.7.1-2 -- rebuild against new perl - -* Tue May 04 2010 Todd Zullinger - 1.7.1-1 -- git-1.7.1 -- Fix conditionals for EL-6 -- Comply with Emacs add-on packaging guidelines (#573423), Jonathan Underwood - - Place elisp source files in separate emacs-git-el package - - Place git support files in own directory under site-lisp - - Use Emacs packaging macros - -* Thu Apr 29 2010 Marcela Maslanova - 1.7.0.1-2 -- Mass rebuild with perl-5.12.0 - -* Mon Mar 01 2010 Todd Zullinger - 1.7.0.1-1 -- git-1.7.0.1 - -* Sat Feb 13 2010 Todd Zullinger - 1.7.0-1 -- git-1.7.0 -- Link imap-send with libcrypto (#565147) -- Disable building of unused python remote helper libs - -* Tue Jan 26 2010 Todd Zullinger - 1.6.6.1-1 -- git-1.6.6.1 -- Use %%{gitcoredir}/git-daemon as xinetd server option, for SELinux (#529682) -- Make %%{_var}/lib/git the default gitweb projectroot (#556299) -- Include gitweb/INSTALL file as documentation, the gitweb README refers to it -- Ship a short example gitweb config file (%%{_sysconfdir}/gitweb.conf) -- Remove long fixed xinetd IPv6 workaround on Fedora (#557528) -- Install missing gitweb.js (#558740) - -* Wed Dec 23 2009 Todd Zullinger - 1.6.6-1 -- git-1.6.6 - -* Fri Dec 11 2009 Todd Zullinger - 1.6.5.6-1 -- git-1.6.5.6 - -* Sun Dec 06 2009 Todd Zullinger - 1.6.5.5-1 -- git-1.6.5.5 - -* Fri Dec 4 2009 Stepan Kasal - 1.6.5.3-2 -- rebuild against perl 5.10.1 - -* Sat Nov 21 2009 Todd Zullinger - 1.6.5.3-1 -- git-1.6.5.3 -- Only BR perl(Error) on Fedora and RHEL >= 5 -- Use config.mak to set build options -- Improve compatibility with EPEL -- Replace $RPM_BUILD_ROOT with %%{buildroot} -- Fix Obsoletes for those rebuilding on EL-4 - -* Mon Oct 26 2009 Todd Zullinger - 1.6.5.2-1 -- git-1.6.5.2 -- Drop asciidoc --unsafe option, it should not be needed anymore -- Don't use install -t/-T, they're not compatible with older coreutils -- Don't use -perm /a+x with find, it's incompatible with older findutils - -* Sat Oct 17 2009 Todd Zullinger - 1.6.5.1-1 -- git-1.6.5.1 - -* Sun Oct 11 2009 Todd Zullinger - 1.6.5-1 -- git-1.6.5 - -* Mon Sep 28 2009 Todd Zullinger - 1.6.5-0.2.rc2 -- git-1.6.5.rc2 -- Enable Linus' block-sha1 implementation - -* Wed Sep 16 2009 Todd Zullinger - 1.6.4.4-1 -- git-1.6.4.4 - -* Sun Sep 13 2009 Todd Zullinger - 1.6.4.3-1 -- git-1.6.4.3 - -* Sun Aug 30 2009 Todd Zullinger - 1.6.4.2-1 -- git-1.6.4.2 - -* Sat Aug 22 2009 Todd Zullinger - 1.6.4.1-1 -- git-1.6.4.1 - -* Fri Aug 21 2009 Tomas Mraz - 1.6.4-2 -- rebuilt with new openssl - -* Wed Jul 29 2009 Todd Zullinger - 1.6.4-1 -- git-1.6.4 - -* Fri Jul 24 2009 Fedora Release Engineering - 1.6.3.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Sun Jun 28 2009 Todd Zullinger - 1.6.3.3-1 -- git-1.6.3.3 -- Move contributed hooks to %%{_datadir}/git-core/contrib/hooks (bug 500137) -- Fix rpmlint warnings about Summary and git-mergetool--lib missing shebang - -* Fri Jun 19 2009 Todd Zullinger - 1.6.3.2-3 -- Temporarily disable asciidoc's safe mode until bug 506953 is fixed - -* Fri Jun 19 2009 Todd Zullinger - 1.6.3.2-2 -- Fix git-daemon hang on invalid input (CVE-2009-2108, bug 505761) - -* Fri Jun 05 2009 Todd Zullinger - 1.6.3.2-1 -- git-1.6.3.2 -- Require emacs >= 22.2 for emacs support (bug 495312) -- Add a .desktop file for git-gui (bug 498801) -- Set ASCIIDOC8 and ASCIIDOC_NO_ROFF to correct documentation issues, - the sed hack to fix bug 485161 should no longer be needed -- Escape newline in git-daemon xinetd description (bug 502393) -- Add xinetd to git-daemon Requires (bug 504105) -- Organize BuildRequires/Requires, drop redundant expat Requires -- Only build noarch subpackages on Fedora >= 10 -- Only build emacs and arch subpackages on Fedora -- Handle curl/libcurl naming for EPEL and Fedora - -* Fri Apr 03 2009 Todd Zullinger - 1.6.2.2-1 -- git-1.6.2.2 -- Include contrib/ dir in %%doc (bug 492490) -- Don't set DOCBOOK_XSL_172, fix the '\&.ft' with sed (bug 485161) -- Ignore Branches output from cvsps-2.2b1 (bug 490602) -- Remove shebang from bash-completion script -- Include README in gitweb subpackage - -* Mon Mar 09 2009 Todd Zullinger - 1.6.2-1 -- git-1.6.2 -- Include contrib/emacs/README in emacs subpackage -- Drop upstreamed git-web--browse patch - -* Tue Feb 24 2009 Todd Zullinger - 1.6.1.3-2 -- Require perl(Authen::SASL) in git-email (bug 483062) -- Build many of the subpackages as noarch -- Update URL field - -* Mon Feb 09 2009 Todd Zullinger 1.6.1.3-1 -- git-1.6.1.3 -- Set htmldir so "git help -w " works -- Patch git-web--browse to not use "/sbin/start" to browse -- Include git-daemon documentation in the git-daemon package - -* Thu Jan 29 2009 Josh Boyer 1.6.1.2-1 -- git-1.6.1.2 - -* Mon Jan 26 2009 Todd Zullinger 1.6.1.1-1 -- git-1.6.1.1 -- Make compile more verbose - -* Fri Jan 16 2009 Tomas Mraz 1.6.1-2 -- rebuild with new openssl - -* Sat Jan 03 2009 Todd Zullinger 1.6.1-1 -- Install git-* commands in %%{_libexecdir}/git-core, the upstream default -- Remove libcurl from Requires, rpm will pick this up automatically -- Consolidate build/install options in %%make_git (Roland McGrath) -- Include DirectoryIndex in gitweb httpd-config (bug 471692) -- Define DOCBOOK_XSL_172 to fix minor manpage issues -- Rename %%{_var}/lib/git-daemon to %%{_var}/lib/git -- Preserve timestamps on installed files -- Quiet some rpmlint complaints -- Use macros more consistently - -* Sat Dec 20 2008 Todd Zullinger 1.6.0.6-1 -- git-1.6.0.6 -- Fixes a local privilege escalation bug in gitweb - (http://article.gmane.org/gmane.comp.version-control.git/103624) -- Add gitk Requires to git-gui (bug 476308) - -* Thu Dec 11 2008 Josh Boyer 1.6.0.5-1 -- git-1.6.0.5 - -* Mon Nov 17 2008 Seth Vidal -- switch from /srv/git to /var/lib/git-daemon for packaging rules compliance - -* Fri Nov 14 2008 Josh Boyer 1.6.0.4-1 -- git-1.6.0.4 - -* Wed Oct 22 2008 Josh Boyer 1.6.0.3-1 -- git-1.6.0.3 -- Drop curl requirement in favor of libcurl (bug 449388) -- Add requires for SMTP-SSL perl module to make git-send-email work (bug 443615) - -* Thu Aug 28 2008 James Bowes 1.6.0.1-1 -- git-1.6.0.1 - -* Thu Jul 24 2008 James Bowes 1.5.6-4 -- git-1.5.6.4 - -* Thu Jun 19 2008 James Bowes 1.5.6-1 -- git-1.5.6 - -* Tue Jun 3 2008 Stepan Kasal 1.5.5.3-2 -- use tar.bz2 instead of tar.gz - -* Wed May 28 2008 James Bowes 1.5.5.3-1 -- git-1.5.5.3 - -* Mon May 26 2008 James Bowes 1.5.5.2-1 -- git-1.5.5.2 - -* Mon Apr 21 2008 James Bowes 1.5.5.1-1 -- git-1.5.5.1 - -* Wed Apr 09 2008 James Bowes 1.5.5-1 -- git-1.5.5 - -* Fri Apr 04 2008 James Bowes 1.5.4.5-3 -- Remove the last two requires on git-core. - -* Wed Apr 02 2008 James Bowes 1.5.4.5-2 -- Remove a patch that's already upstream. - -* Fri Mar 28 2008 James Bowes 1.5.4.5-1 -- git-1.5.4.5 - -* Wed Mar 26 2008 James Bowes 1.5.4.4-4 -- Own /etc/bash_completion.d in case bash-completion isn't installed. - -* Tue Mar 25 2008 James Bowes 1.5.4.4-3 -- Include the sample hooks from contrib/hooks as docs (bug 321151). -- Install the bash completion script from contrib (bug 433255). -- Include the html docs in the 'core' package again (bug 434271). - -* Wed Mar 19 2008 James Bowes 1.5.4.4-2 -- Obsolete git <= 1.5.4.3, to catch going from F8 to rawhide/F9 +%files gui +%{gitexecdir}/git-gui* +%{gitexecdir}/git-citool +%{_datadir}/applications/*git-gui.desktop +%{_datadir}/git-gui/ +%{_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 -* Thu Mar 13 2008 James Bowes 1.5.4.4-1 -- git-1.5.4.4 +%files -n perl-Git -f perl-git-files +%{?with_docs:%{_mandir}/man3/Git.3pm*} -* Mon Mar 3 2008 Tom "spot" Callaway 1.5.4.3-3 -- rebuild for new perl (again) +%files -n perl-Git-SVN -f perl-git-svn-files -* Sun Feb 24 2008 Bernardo Innocenti 1.5.4.3-2 -- Do not silently overwrite /etc/httpd/conf.d/git.conf +%files subtree +%{gitexecdir}/git-subtree +%{_pkgdocdir}/git-subtree.txt +%{?with_docs:%{_mandir}/man1/git-subtree.1*} +%{?with_docs:%{_pkgdocdir}/git-subtree.html} -* Sat Feb 23 2008 James Bowes 1.5.4.3-1 -- git-1.5.4.3 -- Include Kristian Høgsberg's changes to rename git-core to - git and git to git-all. +%files svn +%{gitexecdir}/git-svn +%{_pkgdocdir}/git-svn.txt +%{?with_docs:%{_mandir}/man1/git-svn.1*} +%{?with_docs:%{_pkgdocdir}/git-svn.html} -* Sun Feb 17 2008 James Bowes 1.5.4.2-1 -- git-1.5.4.2 +%changelog +* Mon Dec 12 2022 Todd Zullinger - 2.39.0-1 +- update to 2.39.0 -* Mon Feb 11 2008 Jeremy Katz - 1.5.4.1-2 -- Add upstream patch (e62a641de17b172ffc4d3a803085c8afbfbec3d1) to have - gitweb rss feeds point be commitdiffs instead of commit +* Mon Dec 05 2022 Todd Zullinger - 2.39.0-0.2.rc2 +- update to 2.39.0-rc2 -* Sun Feb 10 2008 James Bowes 1.5.4.1-1 -- git-1.5.4.1 +* Wed Nov 30 2022 Todd Zullinger - 2.39.0-0.1.rc1 +- update to 2.39.0-rc1 -* Tue Feb 05 2008 Tom "spot" Callaway 1.5.4-3 -- rebuild for new perl +* Wed Nov 23 2022 Todd Zullinger - 2.39.0-0.0.rc0 +- update to 2.39.0-rc0 +- add mod_http2 BuildRequires for tests -* Sun Feb 03 2008 James Bowes 1.5.4-1 -- Add BuidRequires on gettext. +* Sat Nov 12 2022 Todd Zullinger - 2.38.1-3 +- use %%bash_completions_dir -* Sat Feb 02 2008 James Bowes 1.5.4-1 -- git-1.5.4 +* Mon Nov 07 2022 Todd Zullinger - 2.38.1-2 +- don't ship contrib/persistent-https as documentation +- update license data and convert to SPDX format -* Tue Jan 08 2008 James Bowes 1.5.3.8-1 -- git-1.5.3.8 +* Tue Oct 18 2022 Todd Zullinger - 2.38.1-1 +- update to 2.38.1 (CVE-2022-39253, CVE-2022-39260) -* Fri Dec 21 2007 James Bowes 1.5.3.7-2 -- Have git metapackage require explicit versions (bug 247214) +* Mon Oct 03 2022 Todd Zullinger - 2.38.0-1 +- update to 2.38.0 -* Mon Dec 03 2007 Josh Boyer 1.5.3.7-1 -- git-1.5.3.7 +* Wed Sep 28 2022 Todd Zullinger - 2.38.0-0.2.rc2 +- update to 2.38.0-rc2 -* Tue Nov 27 2007 Josh Boyer 1.5.3.6-1 -- git-1.5.3.6 -- git-core requires perl(Error) (bug 367861) -- git-svn requires perl(Term:ReadKey) (bug 261361) -- git-email requires perl-Git (bug 333061) +* Wed Sep 21 2022 Todd Zullinger - 2.38.0-0.1.rc1 +- update to 2.38.0-rc1 +- git-subtree sub-package is noarch -* Wed Oct 24 2007 Lubomir Kundrak 1.5.3.4-2 -- git-Perl requires Error package +* Fri Sep 16 2022 Todd Zullinger - 2.38.0-0.0.rc0 +- update to 2.38.0-rc0 -* Tue Oct 09 2007 James Bowes 1.5.3.4-1 -- git-1.5.3.4 +* Tue Aug 30 2022 Todd Zullinger - 2.37.3-1 +- update to 2.37.3 +- remove %%changelog entries prior to 2020 +- tests: try harder to find open ports for apache, git, and svn -* Sun Sep 30 2007 James Bowes 1.5.3.3-1 -- git-1.5.3.3 +* Sun Aug 14 2022 Todd Zullinger - 2.37.2-2 +- consolidate git-archimport removal in %%prep -* Wed Sep 26 2007 James Bowes 1.5.3.2-1 -- git-1.5.3.2 +* Thu Aug 11 2022 Todd Zullinger - 2.37.2-1 +- update to 2.37.2 -* Thu Sep 06 2007 Josh Boyer 1.5.3.1-2 -- Include git-gui and git-citool docs +* Sat Jul 23 2022 Todd Zullinger - 2.37.1-2 +- require systemd-rpm-macros rather than systemd -* Thu Sep 06 2007 Josh Boyer 1.5.3.1-1 -- git-1.5.3.1-1 +* Thu Jul 21 2022 Fedora Release Engineering - 2.37.1-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild -* Thu Aug 23 2007 James Bowes 1.5.2.5-1 -- git-1.5.2.5-1 +* Tue Jul 12 2022 Todd Zullinger - 2.37.1-1 +- update to 2.37.1 (CVE-2022-29187) -* Fri Aug 03 2007 Josh Boyer 1.5.2.4-1 -- git-1.5.2.4-1 +* Mon Jun 27 2022 Todd Zullinger - 2.37.0-1 +- update to 2.37.0 -* Tue Jul 03 2007 Josh Boyer 1.5.2.2-3 -- Add git-daemon and gitweb packages +* Wed Jun 22 2022 Todd Zullinger - 2.37.0-0.2.rc2 +- update to 2.37.0-rc2 -* Thu Jun 21 2007 Josh Boyer 1.5.2.2-2 -- Add emacs-git package (#235431) +* Fri Jun 17 2022 Todd Zullinger - 2.37.0-0.1.rc1 +- update to 2.37.0-rc1 -* Mon Jun 18 2007 James Bowes 1.5.2.2-1 -- git-1.5.2.2 +* 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 08 2007 James Bowes 1.5.2.1-1 -- git-1.5.2.1 +* Fri Jun 03 2022 Jitka Plesnikova - 2.36.1-1.2 +- Perl 5.36 re-rebuild of bootstrapped packages -* Sun May 13 2007 Quy Tonthat -- Added lib files for git-gui -- Added Documentation/technical (As needed by Git Users Manual) +* Wed Jun 01 2022 Jitka Plesnikova - 2.36.1-1.1 +- Perl 5.36 rebuild -* Tue May 8 2007 Quy Tonthat -- Added howto files +* Fri May 06 2022 Todd Zullinger - 2.36.1-1 +- update to 2.36.1 -* Fri Mar 30 2007 Chris Wright 1.5.0.6-1 -- git-1.5.0.6 +* Mon Apr 18 2022 Todd Zullinger - 2.36.0-1 +- update to 2.36.0 -* Mon Mar 19 2007 Chris Wright 1.5.0.5-1 -- git-1.5.0.5 +* Thu Apr 14 2022 Todd Zullinger - 2.36.0-0.3.rc2 +- usability improvements on top of CVE-2022-24765 -* Tue Mar 13 2007 Chris Wright 1.5.0.3-1 -- git-1.5.0.3 +* 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 Mar 2 2007 Chris Wright 1.5.0.2-2 -- BuildRequires perl-devel as of perl-5.8.8-14 (bz 230680) +* Fri Apr 08 2022 Todd Zullinger - 2.36.0-0.1.rc1 +- update to 2.36.0-rc1 -* Mon Feb 26 2007 Chris Wright 1.5.0.2-1 -- git-1.5.0.2 +* 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 -* Tue Feb 13 2007 Nicolas Pitre -- Update core package description (Git isn't as stupid as it used to be) +* Sat Jan 29 2022 Todd Zullinger - 2.35.1-1 +- update to 2.35.1 -* Mon Feb 12 2007 Junio C Hamano -- Add git-gui and git-citool. +* Mon Jan 24 2022 Todd Zullinger - 2.35.0-1 +- update to 2.35.0 +- set path to linker script in %%_package_note_file -* Sun Dec 10 2006 Chris Wright 1.4.4.2-2 -- no need to install manpages executable (bz 216790) -- use bytes for git-cvsserver +* Sat Jan 22 2022 Todd Zullinger - 2.35.0-0.2.rc2.3 +- remove contrib/scalar to avoid cruft in git-core-doc -* Sun Dec 10 2006 Chris Wright 1.4.4.2-1 -- git-1.4.4.2 +* Fri Jan 21 2022 Todd Zullinger - 2.35.0-0.2.rc2.2 +- fix compilation on EL7 -* Mon Nov 6 2006 Jindrich Novy 1.4.2.4-2 -- rebuild against the new curl +* Thu Jan 20 2022 Todd Zullinger - 2.35.0-0.2.rc2.1 +- checkout: avoid BUG() when hitting a broken repository (rhbz#2042920) -* Tue Oct 17 2006 Chris Wright 1.4.2.4-1 -- git-1.4.2.4 +* Wed Jan 19 2022 Todd Zullinger - 2.35.0-0.2.rc2 +- update to 2.35.0-rc2 -* Wed Oct 4 2006 Chris Wright 1.4.2.3-1 -- git-1.4.2.3 +* Sat Jan 15 2022 Todd Zullinger - 2.35.0-0.1.rc1 +- update to 2.35.0-rc1 -* Fri Sep 22 2006 Chris Wright 1.4.2.1-1 -- git-1.4.2.1 +* Mon Jan 10 2022 Todd Zullinger - 2.35.0-0.0.rc0 +- update to 2.35.0-rc0 -* Mon Sep 11 2006 Chris Wright 1.4.2-1 -- git-1.4.2 +* Thu Nov 25 2021 Todd Zullinger - 2.34.1-1 +- update to 2.34.1 +- fix gpgsm issues with gnupg-2.3 -* Thu Jul 6 2006 Chris Wright 1.4.1-1 -- git-1.4.1 +* Mon Nov 15 2021 Todd Zullinger - 2.34.0-1 +- update to 2.34.0 -* Tue Jun 13 2006 Chris Wright 1.4.0-1 -- git-1.4.0 +* Sun Nov 14 2021 Todd Zullinger - 2.33.1-3 +- add more git-email perl dependencies +- Resolves: rhbz#2020487 -* Thu May 4 2006 Chris Wright 1.3.3-1 -- git-1.3.3 -- enable git-email building, prereqs have been relaxed +* Thu Nov 11 2021 Ondřej Pohořelský - 2.33.1-2 +- add Perl requires to git-email +- Resolves: rhbz#2020487 -* Thu May 4 2006 Chris Wright 1.3.2-1 -- git-1.3.2 +* Wed Oct 13 2021 Todd Zullinger - 2.33.1-1 +- update to 2.33.1 -* Fri Apr 28 2006 Chris Wright 1.3.1-1 -- git-1.3.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 -* Wed Apr 19 2006 Chris Wright 1.3.0-1 -- git-1.3.0 +* Tue Sep 14 2021 Sahana Prasad - 2.32.0-1.2 +- Rebuilt with OpenSSL 3.0.0 -* Mon Apr 10 2006 Chris Wright 1.2.6-1 -- git-1.2.6 +* Thu Jul 22 2021 Fedora Release Engineering - 2.32.0-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild -* Wed Apr 5 2006 Chris Wright 1.2.5-1 -- git-1.2.5 +* 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 -* Wed Mar 1 2006 Chris Wright 1.2.4-1 -- git-1.2.4 +* Thu Jun 03 2021 Todd Zullinger - 2.32.0-0.5.rc3 +- drop jgit on Fedora >= 35 + Resolves: rhbz#1965808 -* Wed Feb 22 2006 Chris Wright 1.2.3-1 -- git-1.2.3 +* Wed Jun 02 2021 Todd Zullinger - 2.32.0-0.4.rc3 +- update to 2.32.0-rc3 -* Tue Feb 21 2006 Chris Wright 1.2.2-1 -- git-1.2.2 +* Fri May 28 2021 Todd Zullinger - 2.32.0-0.3.rc2 +- update to 2.32.0-rc2 -* Thu Feb 16 2006 Chris Wright 1.2.1-1 -- git-1.2.1 +* Mon May 24 2021 Jitka Plesnikova - 2.32.0-0.2.rc1 +- Perl 5.34 re-rebuild of bootstrapped packages -* Mon Feb 13 2006 Chris Wright 1.2.0-1 -- git-1.2.0 +* 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 -* Wed Feb 1 2006 Chris Wright 1.1.6-1 -- git-1.1.6 +* Fri May 21 2021 Jitka Plesnikova - 2.31.1-3.1 +- Perl 5.34 rebuild -* Tue Jan 24 2006 Chris Wright 1.1.4-1 -- git-1.1.4 +* Mon May 17 2021 Todd Zullinger - 2.32.0-0.0.rc0 +- update to 2.32.0-rc0 -* Sun Jan 15 2006 Chris Wright 1.1.2-1 -- git-1.1.2 +* Sun May 16 2021 Todd Zullinger +- clean up various dist conditionals -* Tue Jan 10 2006 Chris Wright 1.1.1-1 -- git-1.1.1 +* Wed Apr 21 2021 Todd Zullinger - 2.31.1-3 +- apply upstream patch to fix clone --bare segfault + Resolves: rhbz#1952030 -* Tue Jan 10 2006 Chris Wright 1.1.0-1 -- Update to latest git-1.1.0 (drop git-email for now) -- Now creates multiple packages: -- git-core, git-svn, git-cvs, git-arch, gitk +* Tue Apr 06 2021 Todd Zullinger - 2.31.1-2 +- remove two stray %%defattr macros from %%files sections -* Mon Nov 14 2005 H. Peter Anvin 0.99.9j-1 -- Change subpackage names to git- instead of git-core- -- Create empty root package which brings in all subpackages -- Rename git-tk -> gitk +* Sat Mar 27 2021 Todd Zullinger - 2.31.1-1 +- update to 2.31.1 -* Thu Nov 10 2005 Chris Wright 0.99.9g-1 -- zlib dependency fix -- Minor cleanups from split -- Move arch import to separate package as well +* Fri Mar 19 2021 Todd Zullinger - 2.31.0-2 +- fix git bisect with annotaged tags -* Tue Sep 27 2005 Jim Radford -- Move programs with non-standard dependencies (svn, cvs, email) - into separate packages +* Mon Mar 15 2021 Todd Zullinger - 2.31.0-1 +- update to 2.31.0 -* Tue Sep 27 2005 H. Peter Anvin -- parallelize build -- COPTS -> CFLAGS +* Tue Mar 09 2021 Todd Zullinger - 2.31.0-0.2.rc2 +- update to 2.31.0-rc2 -* Fri Sep 16 2005 Chris Wright 0.99.6-1 -- update to 0.99.6 +* Wed Mar 03 2021 Todd Zullinger - 2.31.0-0.1.rc1 +- update to 2.31.0-rc1 -* Fri Sep 16 2005 Horst H. von Brand -- Linus noticed that less is required, added to the dependencies +* Tue Mar 02 2021 Todd Zullinger - 2.31.0-0.0.rc0 +- update to 2.31.0-rc0 -* Sun Sep 11 2005 Horst H. von Brand -- Updated dependencies -- Don't assume manpages are gzipped +* Tue Mar 02 2021 Todd Zullinger - 2.30.1-3 +- use %%{gpgverify} macro to verify tarball signature -* Thu Aug 18 2005 Chris Wright 0.99.4-4 -- drop sh_utils, sh-utils, diffutils, mktemp, and openssl Requires -- use RPM_OPT_FLAGS in spec file, drop patch0 +* 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. -* Wed Aug 17 2005 Tom "spot" Callaway 0.99.4-3 -- use dist tag to differentiate between branches -- use rpm optflags by default (patch0) -- own %%{_datadir}/git-core/ +* Thu Feb 18 2021 Ondřej Pohořelský -- update spec file to fix Buildroot, Requires, and drop Vendor +* Thu Feb 18 2021 Todd Zullinger +- re-enable t7812-grep-icase-non-ascii on s390x -* Sun Aug 07 2005 Horst H. von Brand -- Redid the description -- Cut overlong make line, loosened changelog a bit -- I think Junio (or perhaps OSDL?) should be vendor... +* Tue Feb 09 2021 Todd Zullinger - 2.30.1-1 +- update to 2.30.1 -* Thu Jul 14 2005 Eric Biederman -- Add the man pages, and the --without docs build option +* 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 -* Thu Jul 7 2005 Chris Wright -- initial git spec file +* Tue Jan 26 2021 Fedora Release Engineering - 2.30.0-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild