From be8516cba36a4b157091e2c8203de434d20da12f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 23:01:21 +0000 Subject: [PATCH 01/45] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- git.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/git.spec b/git.spec index 75c41fd..7d49676 100644 --- a/git.spec +++ b/git.spec @@ -78,7 +78,7 @@ Name: git Version: 2.41.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Fast Version Control System 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/ @@ -1039,6 +1039,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 2.41.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Thu Jun 01 2023 Todd Zullinger - 2.41.0-1 - update to 2.41.0 From ac4f507599c0a479e2a25e492c21c4d4e5b51379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Tue, 3 Oct 2023 15:31:37 +0200 Subject: [PATCH 02/45] update to 2.42.0 --- git.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/git.spec b/git.spec index 7d49676..850c7f7 100644 --- a/git.spec +++ b/git.spec @@ -77,8 +77,8 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.41.0 -Release: 2%{?dist} +Version: 2.42.0 +Release: 1%{?dist} Summary: Fast Version Control System 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/ @@ -1039,6 +1039,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Tue Oct 03 2023 Ondřej Pohořelský - 2.42.0-1 +- update to 2.42.0 + * Wed Jul 19 2023 Fedora Release Engineering - 2.41.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/sources b/sources index d13f7c2..bbad81c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.41.0.tar.xz) = a215bc6d89afbddd56adac901c24ea2b7f98a37bf6a6a2756893947012ffaa850e76247a3445a5ab13ab5a462f39986fec33eed086148aba5eb554dc1799fee0 -SHA512 (git-2.41.0.tar.sign) = 140f088254997e05bb444ed25f18ae9cadec9c24081acfc66670f153cbeecd2cdb722b07b5678da95c578dd29ad81dcf683264a503b37d63400f0746bbfa8762 +SHA512 (git-2.42.0.tar.xz) = afe5bca3c084d4ddd66f20afa820ba10f61007f66846108929e0d4ee7b7eaa896fcf00917dead16881d840f674dec6dd0e353a05e62a31016694af3d7d22a51d +SHA512 (git-2.42.0.tar.sign) = 847914db4f035095643cf38af87e53be82b0d10c0fdcb862f5015df01662c15d6d77410e4f4aaa5ad510d9d82c830a0218465d10905f3ec048929b1c02be6d5d From 7edc80fb3b509faf1180a2694b93c41b263c3b12 Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Wed, 1 Nov 2023 21:22:49 +0000 Subject: [PATCH 03/45] remove explicit BR for apr-util-bdb (#2247532) --- git.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/git.spec b/git.spec index 850c7f7..0c0317e 100644 --- a/git.spec +++ b/git.spec @@ -78,7 +78,7 @@ Name: git Version: 2.42.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Fast Version Control System 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/ @@ -192,9 +192,11 @@ 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 +%if (0%{?fedora} && 0%{?fedora} < 40) || (0%{?rhel} >= 8 && 0%{?rhel} < 10) +# Needed by t5540-http-push-webdav.sh; recent httpd obviates this BuildRequires: apr-util-bdb +%endif +%if 0%{?fedora} || 0%{?rhel} >= 8 # Needed by t5559-http-fetch-smart-http2.sh BuildRequires: mod_http2 %endif @@ -1039,6 +1041,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Wed Nov 1 2023 Joe Orton - 2.42.0-2 +- remove explicit BR for apr-util-bdb (#2247532) + * Tue Oct 03 2023 Ondřej Pohořelský - 2.42.0-1 - update to 2.42.0 From 3b9b7132ccf307840fc3cd24868c8f61ca6c30b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Tue, 14 Nov 2023 15:15:16 +0100 Subject: [PATCH 04/45] update to 2.42.1 --- ...oid-duplicate-specification-warnings.patch | 86 +++++++++++++++++++ git.spec | 10 ++- sources | 4 +- 3 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 0001-send-email-avoid-duplicate-specification-warnings.patch diff --git a/0001-send-email-avoid-duplicate-specification-warnings.patch b/0001-send-email-avoid-duplicate-specification-warnings.patch new file mode 100644 index 0000000..3dee265 --- /dev/null +++ b/0001-send-email-avoid-duplicate-specification-warnings.patch @@ -0,0 +1,86 @@ +From 0fdc014acc342dace179ba698e58fcb138fb86de Mon Sep 17 00:00:00 2001 +From: Todd Zullinger +Date: Tue, 14 Nov 2023 11:38:19 -0500 +Subject: [PATCH] send-email: avoid duplicate specification warnings + +With perl-Getopt-Long >= 2.55, a warning is issued for options which are +specified more than once. In addition to causing users to see warnings, +this results in test failures which compare the output. An example, +from t9001-send-email.37: + + | +++ diff -u expect actual + | --- expect 2023-11-14 10:38:23.854346488 +0000 + | +++ actual 2023-11-14 10:38:23.848346466 +0000 + | @@ -1,2 +1,7 @@ + | +Duplicate specification "no-chain-reply-to" for option "no-chain-reply-to" + | +Duplicate specification "to-cover|to-cover!" for option "to-cover" + | +Duplicate specification "cc-cover|cc-cover!" for option "cc-cover" + | +Duplicate specification "no-thread" for option "no-thread" + | +Duplicate specification "no-to-cover" for option "no-to-cover" + | fatal: longline.patch:35 is longer than 998 characters + | warning: no patches were sent + | error: last command exited with $?=1 + | not ok 37 - reject long lines + +Remove the duplicate option specs. + +Signed-off-by: Todd Zullinger +--- + git-send-email.perl | 16 +++------------- + 1 file changed, 3 insertions(+), 13 deletions(-) + +diff --git a/git-send-email.perl b/git-send-email.perl +index affbb88509..3c678c8998 100755 +--- a/git-send-email.perl ++++ b/git-send-email.perl +@@ -503,7 +503,6 @@ sub config_regexp { + "bcc=s" => \@getopt_bcc, + "no-bcc" => \$no_bcc, + "chain-reply-to!" => \$chain_reply_to, +- "no-chain-reply-to" => sub {$chain_reply_to = 0}, + "sendmail-cmd=s" => \$sendmail_cmd, + "smtp-server=s" => \$smtp_server, + "smtp-server-option=s" => \@smtp_server_options, +@@ -518,36 +517,27 @@ sub config_regexp { + "smtp-auth=s" => \$smtp_auth, + "no-smtp-auth" => sub {$smtp_auth = 'none'}, + "annotate!" => \$annotate, +- "no-annotate" => sub {$annotate = 0}, + "compose" => \$compose, + "quiet" => \$quiet, + "cc-cmd=s" => \$cc_cmd, + "header-cmd=s" => \$header_cmd, + "no-header-cmd" => \$no_header_cmd, + "suppress-from!" => \$suppress_from, +- "no-suppress-from" => sub {$suppress_from = 0}, + "suppress-cc=s" => \@suppress_cc, +- "signed-off-cc|signed-off-by-cc!" => \$signed_off_by_cc, +- "no-signed-off-cc|no-signed-off-by-cc" => sub {$signed_off_by_cc = 0}, +- "cc-cover|cc-cover!" => \$cover_cc, +- "no-cc-cover" => sub {$cover_cc = 0}, +- "to-cover|to-cover!" => \$cover_to, +- "no-to-cover" => sub {$cover_to = 0}, ++ "signed-off-by-cc!" => \$signed_off_by_cc, ++ "cc-cover!" => \$cover_cc, ++ "to-cover!" => \$cover_to, + "confirm=s" => \$confirm, + "dry-run" => \$dry_run, + "envelope-sender=s" => \$envelope_sender, + "thread!" => \$thread, +- "no-thread" => sub {$thread = 0}, + "validate!" => \$validate, +- "no-validate" => sub {$validate = 0}, + "transfer-encoding=s" => \$target_xfer_encoding, + "format-patch!" => \$format_patch, +- "no-format-patch" => sub {$format_patch = 0}, + "8bit-encoding=s" => \$auto_8bit_encoding, + "compose-encoding=s" => \$compose_encoding, + "force" => \$force, + "xmailer!" => \$use_xmailer, +- "no-xmailer" => sub {$use_xmailer = 0}, + "batch-size=i" => \$batch_size, + "relogin-delay=i" => \$relogin_delay, + "git-completion-helper" => \$git_completion_helper, +-- +2.42.0 + diff --git a/git.spec b/git.spec index 0c0317e..11e4de5 100644 --- a/git.spec +++ b/git.spec @@ -77,8 +77,8 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.42.0 -Release: 2%{?dist} +Version: 2.42.1 +Release: 1%{?dist} Summary: Fast Version Control System 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/ @@ -127,6 +127,9 @@ 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 +# https://bugzilla.redhat.com/show_bug.cgi?id=2247532#c8 +Patch4: 0001-send-email-avoid-duplicate-specification-warnings.patch + %if %{with docs} # pod2man is needed to build Git.3pm BuildRequires: /usr/bin/pod2man @@ -1041,6 +1044,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Tue Nov 14 2023 Ondřej Pohořelský - 2.42.1-1 +- update to 2.42.1 + * Wed Nov 1 2023 Joe Orton - 2.42.0-2 - remove explicit BR for apr-util-bdb (#2247532) diff --git a/sources b/sources index bbad81c..696da6f 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.42.0.tar.xz) = afe5bca3c084d4ddd66f20afa820ba10f61007f66846108929e0d4ee7b7eaa896fcf00917dead16881d840f674dec6dd0e353a05e62a31016694af3d7d22a51d -SHA512 (git-2.42.0.tar.sign) = 847914db4f035095643cf38af87e53be82b0d10c0fdcb862f5015df01662c15d6d77410e4f4aaa5ad510d9d82c830a0218465d10905f3ec048929b1c02be6d5d +SHA512 (git-2.42.1.tar.xz) = 5946699108d4181e14fc3c61e4a4ebadcf8a876248c3f570ca22e6d95d8fea4eeb424d6e0c897d180df5959b8b2e3b0dd4e005d4c38bed2d35a2ed8036e6dc95 +SHA512 (git-2.42.1.tar.sign) = b4997c809d5b2010d1d5a9383a0546dd07ab3e87ac49a896a53dce0f5467a72db6149c07d36e2b2fdaf1e603937c1fdbff43393dac39ce37693e65e88071162c From f2b3ab26cc456c3905b9b19725937f0faa281d6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Tue, 21 Nov 2023 14:23:40 +0100 Subject: [PATCH 05/45] update to 2.43.0 --- git.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/git.spec b/git.spec index 11e4de5..0f1db2d 100644 --- a/git.spec +++ b/git.spec @@ -77,7 +77,7 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.42.1 +Version: 2.43.0 Release: 1%{?dist} Summary: Fast Version Control System License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT @@ -1044,6 +1044,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Tue Nov 21 2023 Ondřej Pohořelský - 2.43.0-1 +- update to 2.43.0 + * Tue Nov 14 2023 Ondřej Pohořelský - 2.42.1-1 - update to 2.42.1 diff --git a/sources b/sources index 696da6f..8c3805e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.42.1.tar.xz) = 5946699108d4181e14fc3c61e4a4ebadcf8a876248c3f570ca22e6d95d8fea4eeb424d6e0c897d180df5959b8b2e3b0dd4e005d4c38bed2d35a2ed8036e6dc95 -SHA512 (git-2.42.1.tar.sign) = b4997c809d5b2010d1d5a9383a0546dd07ab3e87ac49a896a53dce0f5467a72db6149c07d36e2b2fdaf1e603937c1fdbff43393dac39ce37693e65e88071162c +SHA512 (git-2.43.0.tar.xz) = d0c1694ae23ff7d523e617b98d7c9a9753a2ee58f92c21b67a192d1c57398a62ff9c1a34558ae31af8dc8d95122c219f39f654e99a3b4e7cfc3dd07be9e13203 +SHA512 (git-2.43.0.tar.sign) = 4ff055db9b7100c40427a570f8fb6ec4b5ea943d197597ca8061924afbc6eb46d28aaf46c31679addb8adaf4f672e7efb96e088b789d172b5270420a7e5fde67 From a8ab7b524dc420913420c2d4fbe7afbdcd2a7925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Wed, 20 Dec 2023 18:21:47 +0100 Subject: [PATCH 06/45] Disable t6300.35 t6300.107 t6300.108 These tests break with zlib-ng, disable them until upstream merges patch solving this issue. --- git.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/git.spec b/git.spec index 0f1db2d..0c907b8 100644 --- a/git.spec +++ b/git.spec @@ -823,7 +823,13 @@ find %{buildroot}%{_pkgdocdir} -name "*.html" -print0 | xargs -r0 linkchecker # 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" +# +# t6300.35 t6300.107 t6300.108 are skipped due to them failing +# with zlib-ng +# https://bugzilla.redhat.com/show_bug.cgi?id=2253368 +# These tests will be enabled again in next git release, where +# fix should be in place. +GIT_SKIP_TESTS="t5559 t6300.35 t6300.107 t6300.108" %if 0%{?rhel} && 0%{?rhel} < 8 # Skip tests which require mod_http2 on el7 From 9323031c03a8a93098509590bbb093e354edc957 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Tue, 9 Jan 2024 11:47:09 +0100 Subject: [PATCH 07/45] apache.conf set DavLockDBType to sdbm With the recent change that drops apr-util-bdb build require, in favor of httpd, t5540 started failing on tests using git-httpd-push. This patch sets DavLockDBType to sdbm, fixing these failures. --- git-test-apache-davlockdbtype-config.patch | 14 ++++++++++++++ git.spec | 4 ++++ 2 files changed, 18 insertions(+) create mode 100644 git-test-apache-davlockdbtype-config.patch diff --git a/git-test-apache-davlockdbtype-config.patch b/git-test-apache-davlockdbtype-config.patch new file mode 100644 index 0000000..882006a --- /dev/null +++ b/git-test-apache-davlockdbtype-config.patch @@ -0,0 +1,14 @@ +diff -ur b/t/lib-httpd/apache.conf a/t/lib-httpd/apache.conf +--- b/t/lib-httpd/apache.conf 2024-01-09 11:06:46.660868023 +0100 ++++ a/t/lib-httpd/apache.conf 2024-01-09 11:09:09.572713625 +0100 +@@ -272,7 +272,9 @@ + + LoadModule dav_module modules/mod_dav.so + LoadModule dav_fs_module modules/mod_dav_fs.so +- ++ ++ DavLockDBType sdbm ++ + DAVLockDB DAVLock + + Dav on diff --git a/git.spec b/git.spec index 0c907b8..5a1b814 100644 --- a/git.spec +++ b/git.spec @@ -130,6 +130,10 @@ Patch3: 0003-t-lib-git-svn-try-harder-to-find-a-port.patch # https://bugzilla.redhat.com/show_bug.cgi?id=2247532#c8 Patch4: 0001-send-email-avoid-duplicate-specification-warnings.patch +# Configurates Apache test server to use `DavLockDBType sdbm` +# Prevents t5540 failures on i686, s390x and ppc64le +Patch5: git-test-apache-davlockdbtype-config.patch + %if %{with docs} # pod2man is needed to build Git.3pm BuildRequires: /usr/bin/pod2man From cab00c80b7fef4f53bcca93c6a537def82eb91f2 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Mon, 1 Jan 2024 14:20:39 -0500 Subject: [PATCH 08/45] Fix perl-podlators dependency With /app-prefixed builds of perl now existing for flatpaks, file dependencies must not be used for perl components. --- git.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git.spec b/git.spec index 5a1b814..05cea0e 100644 --- a/git.spec +++ b/git.spec @@ -136,7 +136,7 @@ Patch5: git-test-apache-davlockdbtype-config.patch %if %{with docs} # pod2man is needed to build Git.3pm -BuildRequires: /usr/bin/pod2man +BuildRequires: perl-podlators %if %{with asciidoctor} BuildRequires: docbook5-style-xsl BuildRequires: rubygem-asciidoctor From 75aab985567c39cbe11df4689a9c93f227e8f7c2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 22:22:27 +0000 Subject: [PATCH 09/45] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- git.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/git.spec b/git.spec index 05cea0e..a74481b 100644 --- a/git.spec +++ b/git.spec @@ -78,7 +78,7 @@ Name: git Version: 2.43.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Fast Version Control System 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/ @@ -1054,6 +1054,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 2.43.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Tue Nov 21 2023 Ondřej Pohořelský - 2.43.0-1 - update to 2.43.0 From 2a4367e6d7a12d591bc8339a04af88c983d1e06e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 14:51:35 +0000 Subject: [PATCH 10/45] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- git.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/git.spec b/git.spec index a74481b..a46794f 100644 --- a/git.spec +++ b/git.spec @@ -78,7 +78,7 @@ Name: git Version: 2.43.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Fast Version Control System 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/ @@ -1054,6 +1054,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Wed Jan 24 2024 Fedora Release Engineering - 2.43.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 2.43.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 11fa10276785738d6fd793d76d2e190986d17dbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Mon, 12 Feb 2024 11:17:05 +0100 Subject: [PATCH 11/45] update to 2.43.1 resolves: #2263575 --- ...oid-duplicate-specification-warnings.patch | 86 ------------------- git.spec | 19 ++-- sources | 4 +- 3 files changed, 9 insertions(+), 100 deletions(-) delete mode 100644 0001-send-email-avoid-duplicate-specification-warnings.patch diff --git a/0001-send-email-avoid-duplicate-specification-warnings.patch b/0001-send-email-avoid-duplicate-specification-warnings.patch deleted file mode 100644 index 3dee265..0000000 --- a/0001-send-email-avoid-duplicate-specification-warnings.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 0fdc014acc342dace179ba698e58fcb138fb86de Mon Sep 17 00:00:00 2001 -From: Todd Zullinger -Date: Tue, 14 Nov 2023 11:38:19 -0500 -Subject: [PATCH] send-email: avoid duplicate specification warnings - -With perl-Getopt-Long >= 2.55, a warning is issued for options which are -specified more than once. In addition to causing users to see warnings, -this results in test failures which compare the output. An example, -from t9001-send-email.37: - - | +++ diff -u expect actual - | --- expect 2023-11-14 10:38:23.854346488 +0000 - | +++ actual 2023-11-14 10:38:23.848346466 +0000 - | @@ -1,2 +1,7 @@ - | +Duplicate specification "no-chain-reply-to" for option "no-chain-reply-to" - | +Duplicate specification "to-cover|to-cover!" for option "to-cover" - | +Duplicate specification "cc-cover|cc-cover!" for option "cc-cover" - | +Duplicate specification "no-thread" for option "no-thread" - | +Duplicate specification "no-to-cover" for option "no-to-cover" - | fatal: longline.patch:35 is longer than 998 characters - | warning: no patches were sent - | error: last command exited with $?=1 - | not ok 37 - reject long lines - -Remove the duplicate option specs. - -Signed-off-by: Todd Zullinger ---- - git-send-email.perl | 16 +++------------- - 1 file changed, 3 insertions(+), 13 deletions(-) - -diff --git a/git-send-email.perl b/git-send-email.perl -index affbb88509..3c678c8998 100755 ---- a/git-send-email.perl -+++ b/git-send-email.perl -@@ -503,7 +503,6 @@ sub config_regexp { - "bcc=s" => \@getopt_bcc, - "no-bcc" => \$no_bcc, - "chain-reply-to!" => \$chain_reply_to, -- "no-chain-reply-to" => sub {$chain_reply_to = 0}, - "sendmail-cmd=s" => \$sendmail_cmd, - "smtp-server=s" => \$smtp_server, - "smtp-server-option=s" => \@smtp_server_options, -@@ -518,36 +517,27 @@ sub config_regexp { - "smtp-auth=s" => \$smtp_auth, - "no-smtp-auth" => sub {$smtp_auth = 'none'}, - "annotate!" => \$annotate, -- "no-annotate" => sub {$annotate = 0}, - "compose" => \$compose, - "quiet" => \$quiet, - "cc-cmd=s" => \$cc_cmd, - "header-cmd=s" => \$header_cmd, - "no-header-cmd" => \$no_header_cmd, - "suppress-from!" => \$suppress_from, -- "no-suppress-from" => sub {$suppress_from = 0}, - "suppress-cc=s" => \@suppress_cc, -- "signed-off-cc|signed-off-by-cc!" => \$signed_off_by_cc, -- "no-signed-off-cc|no-signed-off-by-cc" => sub {$signed_off_by_cc = 0}, -- "cc-cover|cc-cover!" => \$cover_cc, -- "no-cc-cover" => sub {$cover_cc = 0}, -- "to-cover|to-cover!" => \$cover_to, -- "no-to-cover" => sub {$cover_to = 0}, -+ "signed-off-by-cc!" => \$signed_off_by_cc, -+ "cc-cover!" => \$cover_cc, -+ "to-cover!" => \$cover_to, - "confirm=s" => \$confirm, - "dry-run" => \$dry_run, - "envelope-sender=s" => \$envelope_sender, - "thread!" => \$thread, -- "no-thread" => sub {$thread = 0}, - "validate!" => \$validate, -- "no-validate" => sub {$validate = 0}, - "transfer-encoding=s" => \$target_xfer_encoding, - "format-patch!" => \$format_patch, -- "no-format-patch" => sub {$format_patch = 0}, - "8bit-encoding=s" => \$auto_8bit_encoding, - "compose-encoding=s" => \$compose_encoding, - "force" => \$force, - "xmailer!" => \$use_xmailer, -- "no-xmailer" => sub {$use_xmailer = 0}, - "batch-size=i" => \$batch_size, - "relogin-delay=i" => \$relogin_delay, - "git-completion-helper" => \$git_completion_helper, --- -2.42.0 - diff --git a/git.spec b/git.spec index a46794f..dde6f6c 100644 --- a/git.spec +++ b/git.spec @@ -77,8 +77,8 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.43.0 -Release: 3%{?dist} +Version: 2.43.1 +Release: 1%{?dist} Summary: Fast Version Control System 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/ @@ -127,9 +127,6 @@ 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 -# https://bugzilla.redhat.com/show_bug.cgi?id=2247532#c8 -Patch4: 0001-send-email-avoid-duplicate-specification-warnings.patch - # Configurates Apache test server to use `DavLockDBType sdbm` # Prevents t5540 failures on i686, s390x and ppc64le Patch5: git-test-apache-davlockdbtype-config.patch @@ -827,13 +824,7 @@ find %{buildroot}%{_pkgdocdir} -name "*.html" -print0 | xargs -r0 linkchecker # 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/ -# -# t6300.35 t6300.107 t6300.108 are skipped due to them failing -# with zlib-ng -# https://bugzilla.redhat.com/show_bug.cgi?id=2253368 -# These tests will be enabled again in next git release, where -# fix should be in place. -GIT_SKIP_TESTS="t5559 t6300.35 t6300.107 t6300.108" +GIT_SKIP_TESTS="t5559" %if 0%{?rhel} && 0%{?rhel} < 8 # Skip tests which require mod_http2 on el7 @@ -1054,6 +1045,10 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Mon Feb 12 2024 Ondřej Pohořelský - 2.43.1-1 +- update to 2.43.1 +- resolves: #2263575 + * Wed Jan 24 2024 Fedora Release Engineering - 2.43.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/sources b/sources index 8c3805e..0a91dab 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.43.0.tar.xz) = d0c1694ae23ff7d523e617b98d7c9a9753a2ee58f92c21b67a192d1c57398a62ff9c1a34558ae31af8dc8d95122c219f39f654e99a3b4e7cfc3dd07be9e13203 -SHA512 (git-2.43.0.tar.sign) = 4ff055db9b7100c40427a570f8fb6ec4b5ea943d197597ca8061924afbc6eb46d28aaf46c31679addb8adaf4f672e7efb96e088b789d172b5270420a7e5fde67 +SHA512 (git-2.43.1.tar.xz) = c8cb27645f09b831a6206bafa91c955d735b4257a98b1adaaaa5692a0a3aaa0417878095f88eca59d4fe0ffa058865508b5099db097e7b4b06253a16f57c3b3e +SHA512 (git-2.43.1.tar.sign) = 0f84b136111bc6f6b99ad325fd9def9554ed1ec032b765c32c7299e91702cf44251b31a2e5453ab1379b8c342f640736597459bfaddaf8c0064004ee32535820 From 9c8b3cf927a661dc73e5bb35de63298a081e098c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Thu, 15 Feb 2024 09:02:27 +0100 Subject: [PATCH 12/45] update to 2.43.2 Resolves: #2264318 --- git.spec | 6 +++++- sources | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/git.spec b/git.spec index dde6f6c..df05f4a 100644 --- a/git.spec +++ b/git.spec @@ -77,7 +77,7 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.43.1 +Version: 2.43.2 Release: 1%{?dist} Summary: Fast Version Control System License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT @@ -1045,6 +1045,10 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Thu Feb 15 2024 Ondřej Pohořelský - 2.43.2-1 +- update to 2.43.2 +- Resolves: #2264318 + * Mon Feb 12 2024 Ondřej Pohořelský - 2.43.1-1 - update to 2.43.1 - resolves: #2263575 diff --git a/sources b/sources index 0a91dab..e229798 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.43.1.tar.xz) = c8cb27645f09b831a6206bafa91c955d735b4257a98b1adaaaa5692a0a3aaa0417878095f88eca59d4fe0ffa058865508b5099db097e7b4b06253a16f57c3b3e -SHA512 (git-2.43.1.tar.sign) = 0f84b136111bc6f6b99ad325fd9def9554ed1ec032b765c32c7299e91702cf44251b31a2e5453ab1379b8c342f640736597459bfaddaf8c0064004ee32535820 +SHA512 (git-2.43.2.tar.xz) = 0d95b8ac65bd76acb60c3b4d80242aeda8b2ab3dda7c8586ce46cc1ddedc000494b45fd269295033b82f38662cde08d366c63aa3ff39030500952342c9d3b280 +SHA512 (git-2.43.2.tar.sign) = 3cd649b30f859645bd355a01a06f4bda363b7189be4b2ce492f2b258b618a10fdf40ef3d9cfa852594f594c67fec1f29db91cb29c20f5f97057a835cefba5253 From 59c96e058b9d18cdc293a035d369d5ab3847337b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Mon, 26 Feb 2024 09:50:12 +0100 Subject: [PATCH 13/45] update to 2.44.0 --- git.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/git.spec b/git.spec index df05f4a..6543f5c 100644 --- a/git.spec +++ b/git.spec @@ -77,7 +77,7 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.43.2 +Version: 2.44.0 Release: 1%{?dist} Summary: Fast Version Control System License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT @@ -1045,6 +1045,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Mon Feb 26 2024 Ondřej Pohořelský - 2.44.0-1 +- update to 2.44.0 + * Thu Feb 15 2024 Ondřej Pohořelský - 2.43.2-1 - update to 2.43.2 - Resolves: #2264318 diff --git a/sources b/sources index e229798..9aeba57 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.43.2.tar.xz) = 0d95b8ac65bd76acb60c3b4d80242aeda8b2ab3dda7c8586ce46cc1ddedc000494b45fd269295033b82f38662cde08d366c63aa3ff39030500952342c9d3b280 -SHA512 (git-2.43.2.tar.sign) = 3cd649b30f859645bd355a01a06f4bda363b7189be4b2ce492f2b258b618a10fdf40ef3d9cfa852594f594c67fec1f29db91cb29c20f5f97057a835cefba5253 +SHA512 (git-2.44.0.tar.sign) = 2b7284d1aaf29ead52e671a1c3574176f8a1682e96753b1cb02e94b7fd6ed69390862143ff59ab6badfc4e22c799c98a92f1ac565d304c1d141c7c56700177d1 +SHA512 (git-2.44.0.tar.xz) = 9e4b9c8a8e28cd50c0db75a93eae8a3423aa7e51c4312af1e1cdaf408e93f306c23aa747f0a97f27c11ab0e2f5e6283e52c8b61c9fe6be5b9b18673a43ce1780 From db55f698a08efca823f8ee8e88fb218c54f2eb52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Tue, 30 Apr 2024 17:15:29 +0200 Subject: [PATCH 14/45] update to 2.45.0 --- git.spec | 12 ++++-------- sources | 4 ++-- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/git.spec b/git.spec index 6543f5c..675a15c 100644 --- a/git.spec +++ b/git.spec @@ -77,7 +77,7 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.44.0 +Version: 2.45.0 Release: 1%{?dist} Summary: Fast Version Control System License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT @@ -639,13 +639,6 @@ rm -rf contrib/fast-import/import-zips.py %endif # 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} @@ -1045,6 +1038,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Tue Apr 30 2024 Ondřej Pohořelský - 2.45.0-1 +- update to 2.45.0 + * Mon Feb 26 2024 Ondřej Pohořelský - 2.44.0-1 - update to 2.44.0 diff --git a/sources b/sources index 9aeba57..0967862 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.44.0.tar.sign) = 2b7284d1aaf29ead52e671a1c3574176f8a1682e96753b1cb02e94b7fd6ed69390862143ff59ab6badfc4e22c799c98a92f1ac565d304c1d141c7c56700177d1 -SHA512 (git-2.44.0.tar.xz) = 9e4b9c8a8e28cd50c0db75a93eae8a3423aa7e51c4312af1e1cdaf408e93f306c23aa747f0a97f27c11ab0e2f5e6283e52c8b61c9fe6be5b9b18673a43ce1780 +SHA512 (git-2.45.0.tar.xz) = 36d438bf9a57dee8fe0536c90cb25d53c552e9f80e7575447d1d2af30cadab08522356f4ecd0f69b7877d5a7f84ab3b9766d8386beae57fe8d411d05d70db214 +SHA512 (git-2.45.0.tar.sign) = 8d4fdcb88355bf7511c8822e367e692514298deb99a2734b71b2754a551c76ab3aa788d5f24475c3177dafca6ce05325535c7d354c3aa82d3322bb718ccbaec4 From 18e0835469dba60ab7fc91cb77917f93a1b37e0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Wed, 15 May 2024 09:29:45 +0200 Subject: [PATCH 15/45] update to 2.45.1 --- git.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/git.spec b/git.spec index 675a15c..130471c 100644 --- a/git.spec +++ b/git.spec @@ -77,7 +77,7 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.45.0 +Version: 2.45.1 Release: 1%{?dist} Summary: Fast Version Control System License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT @@ -1038,6 +1038,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Wed May 15 2024 Ondřej Pohořelský - 2.45.1-1 +- update to 2.45.1 + * Tue Apr 30 2024 Ondřej Pohořelský - 2.45.0-1 - update to 2.45.0 diff --git a/sources b/sources index 0967862..14c4fec 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.45.0.tar.xz) = 36d438bf9a57dee8fe0536c90cb25d53c552e9f80e7575447d1d2af30cadab08522356f4ecd0f69b7877d5a7f84ab3b9766d8386beae57fe8d411d05d70db214 -SHA512 (git-2.45.0.tar.sign) = 8d4fdcb88355bf7511c8822e367e692514298deb99a2734b71b2754a551c76ab3aa788d5f24475c3177dafca6ce05325535c7d354c3aa82d3322bb718ccbaec4 +SHA512 (git-2.45.1.tar.xz) = 28461855e03f3dd5af73a1c6d26cc3e2b7b71f5eb90852f1daf582d24503b4dd5c4e4dac359e9eba1c2ba542aeb0940e0482506f19d02a354654b181c56c5317 +SHA512 (git-2.45.1.tar.sign) = cec39b09cdd3c2a2b6e0c115773492771cfb50b8054479fbc8d6b7dd798b82160d0d0cf5ba58c6c21c23ceb459cae75ec7081a99c6681d76505a21f851ee123d From 05522a0e2aa48c525fc9bdabc3bbd0bf279dc711 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Mon, 3 Jun 2024 12:50:14 +0200 Subject: [PATCH 16/45] update to 2.45.2 --- git.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/git.spec b/git.spec index 130471c..4c68148 100644 --- a/git.spec +++ b/git.spec @@ -77,7 +77,7 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.45.1 +Version: 2.45.2 Release: 1%{?dist} Summary: Fast Version Control System License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT @@ -1038,6 +1038,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Mon Jun 03 2024 Ondřej Pohořelský - 2.45.2-1 +- update to 2.45.2 + * Wed May 15 2024 Ondřej Pohořelský - 2.45.1-1 - update to 2.45.1 diff --git a/sources b/sources index 14c4fec..59bae85 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.45.1.tar.xz) = 28461855e03f3dd5af73a1c6d26cc3e2b7b71f5eb90852f1daf582d24503b4dd5c4e4dac359e9eba1c2ba542aeb0940e0482506f19d02a354654b181c56c5317 -SHA512 (git-2.45.1.tar.sign) = cec39b09cdd3c2a2b6e0c115773492771cfb50b8054479fbc8d6b7dd798b82160d0d0cf5ba58c6c21c23ceb459cae75ec7081a99c6681d76505a21f851ee123d +SHA512 (git-2.45.2.tar.xz) = dce30d0d563f3f76ef49c8dc88105e0cf0941c8cd70303418d9d737f840ffba36bcc575c380c75080edf64af74487e1a680db146ec5f527a32104e887d4ceb73 +SHA512 (git-2.45.2.tar.sign) = 331ba231f1d042ad41b30d81225fc31c47bc38dfb2995156353a97cd66f0a0c4d86d228e85dfca0926761b19d2e37e5f273b3bbddbca3e1c1ae3c999401fe7bd From 9f89b9e0690f91aedf40fea29b518d1d7f071660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Mon, 3 Jun 2024 15:40:55 +0200 Subject: [PATCH 17/45] add glibc-utils BuildRequires --- git.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/git.spec b/git.spec index 4c68148..fe93858 100644 --- a/git.spec +++ b/git.spec @@ -78,7 +78,7 @@ Name: git Version: 2.45.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Fast Version Control System 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/ @@ -163,6 +163,7 @@ BuildRequires: findutils BuildRequires: gawk BuildRequires: gcc BuildRequires: gettext +BuildRequires: glibc-utils BuildRequires: gnupg2 BuildRequires: libcurl-devel BuildRequires: make @@ -1038,6 +1039,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Mon Jun 03 2024 Ondřej Pohořelský - 2.45.2-2 +- add glibc-utils BuildRequires + * Mon Jun 03 2024 Ondřej Pohořelský - 2.45.2-1 - update to 2.45.2 From 2041c470244ddedba91683bf6129b329d89750de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Mon, 1 Jul 2024 16:27:09 +0200 Subject: [PATCH 18/45] build documentation with asciidoc on EL >= 10 --- git.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/git.spec b/git.spec index fe93858..089b31e 100644 --- a/git.spec +++ b/git.spec @@ -21,8 +21,9 @@ %bcond_without perl_modcompat %endif -# Settings for Fedora and EL >= 9 -%if 0%{?fedora} || 0%{?rhel} >= 9 +# Settings for Fedora and EL == 9 +# In EL >= 10 docbook5-style-xsl, needed by asciidoctor, is unwanted package +%if 0%{?fedora} || 0%{?rhel} == 9 %bcond_without asciidoctor %else %bcond_with asciidoctor From e49fa1c239e06722402884a6360214601b1a1830 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Mon, 1 Jul 2024 16:30:22 +0200 Subject: [PATCH 19/45] disable p4 subpackage on EL >= 10 --- git.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/git.spec b/git.spec index 089b31e..afd0f45 100644 --- a/git.spec +++ b/git.spec @@ -59,11 +59,11 @@ %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 +# Disable p4 package by default on EL >= 10 +%if 0%{?rhel} >= 10 %bcond_with p4 +%else +%bcond_without p4 %endif # Hardening flags for EL-7 From 624305e5bea78b1f46f346740bb79fab453227a7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jul 2024 02:23:37 +0000 Subject: [PATCH 20/45] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- git.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/git.spec b/git.spec index afd0f45..143492a 100644 --- a/git.spec +++ b/git.spec @@ -79,7 +79,7 @@ Name: git Version: 2.45.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Fast Version Control System 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/ @@ -1040,6 +1040,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Thu Jul 18 2024 Fedora Release Engineering - 2.45.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Mon Jun 03 2024 Ondřej Pohořelský - 2.45.2-2 - add glibc-utils BuildRequires From 699e77dbcbef16243c738803a83db2aa0a75f84c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Fri, 19 Jul 2024 09:29:31 +0200 Subject: [PATCH 21/45] build without perl_modcompat in EL >= 10 --- git.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/git.spec b/git.spec index 143492a..b461992 100644 --- a/git.spec +++ b/git.spec @@ -14,8 +14,8 @@ %bcond_with linkcheck %endif -# Settings for Fedora >= 38 -%if 0%{?fedora} >= 38 +# Settings for Fedora >= 38 and EL >= 10 +%if 0%{?fedora} >= 38 || 0%{?rhel} >= 10 %bcond_with perl_modcompat %else %bcond_without perl_modcompat From 0a0995368db3115d9ac362a226af2cc352e8de07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Mon, 5 Aug 2024 12:52:46 +0200 Subject: [PATCH 22/45] update to 2.46.0 --- git.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/git.spec b/git.spec index b461992..4b74e3d 100644 --- a/git.spec +++ b/git.spec @@ -78,8 +78,8 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.45.2 -Release: 3%{?dist} +Version: 2.46.0 +Release: 1%{?dist} Summary: Fast Version Control System 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/ @@ -1040,6 +1040,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Mon Aug 05 2024 Ondřej Pohořelský - 2.46.0-1 +- update to 2.46.0 + * Thu Jul 18 2024 Fedora Release Engineering - 2.45.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild diff --git a/sources b/sources index 59bae85..3f497c7 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.45.2.tar.xz) = dce30d0d563f3f76ef49c8dc88105e0cf0941c8cd70303418d9d737f840ffba36bcc575c380c75080edf64af74487e1a680db146ec5f527a32104e887d4ceb73 -SHA512 (git-2.45.2.tar.sign) = 331ba231f1d042ad41b30d81225fc31c47bc38dfb2995156353a97cd66f0a0c4d86d228e85dfca0926761b19d2e37e5f273b3bbddbca3e1c1ae3c999401fe7bd +SHA512 (git-2.46.0.tar.xz) = 3afae7a094da070c627f68ceb54c2345e3a49e04e455197527b732eb220e8c3249f5d09655a59bf4280dd0c0a3e305abc1380693e0a7fb0b8138b741c4708184 +SHA512 (git-2.46.0.tar.sign) = 912d88ec3a7e58b1b7755b6d9fd26fca39f47d98e0bcba59140cdb05f873dadbdaeb54b5f748f95f95a2cc6db9a892864b8b6331a4fe009d3b6142bafd23ab22 From fe2066bbb4522200127da9c88505cc9414634f12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Wed, 4 Sep 2024 10:42:06 +0200 Subject: [PATCH 23/45] mark git@.service as config(noreplace) Each update git@.service has been overwritten, removing users custom configurations. Marking it as config(noreplace) should prevent this behaviour. --- git.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git.spec b/git.spec index 4b74e3d..d683222 100644 --- a/git.spec +++ b/git.spec @@ -964,7 +964,7 @@ rmdir --ignore-fail-on-non-empty "$testdir" %files daemon %{_pkgdocdir}/git-daemon*.txt %{_unitdir}/git.socket -%{_unitdir}/git@.service +%config(noreplace) %{_unitdir}/git@.service %{gitexecdir}/git-daemon %{_localstatedir}/lib/git %{?with_docs:%{_mandir}/man1/git-daemon*.1*} From 8cb6752747878844176c7fc8663ca534a2bb716e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Mon, 16 Sep 2024 11:12:46 +0200 Subject: [PATCH 24/45] update to 2.46.1 --- git.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/git.spec b/git.spec index d683222..4b1bb37 100644 --- a/git.spec +++ b/git.spec @@ -78,7 +78,7 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.46.0 +Version: 2.46.1 Release: 1%{?dist} Summary: Fast Version Control System License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT @@ -1040,6 +1040,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Mon Sep 16 2024 Ondřej Pohořelský - 2.46.1-1 +- update to 2.46.1 + * Mon Aug 05 2024 Ondřej Pohořelský - 2.46.0-1 - update to 2.46.0 diff --git a/sources b/sources index 3f497c7..5ca6946 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.46.0.tar.xz) = 3afae7a094da070c627f68ceb54c2345e3a49e04e455197527b732eb220e8c3249f5d09655a59bf4280dd0c0a3e305abc1380693e0a7fb0b8138b741c4708184 -SHA512 (git-2.46.0.tar.sign) = 912d88ec3a7e58b1b7755b6d9fd26fca39f47d98e0bcba59140cdb05f873dadbdaeb54b5f748f95f95a2cc6db9a892864b8b6331a4fe009d3b6142bafd23ab22 +SHA512 (git-2.46.1.tar.xz) = ce1bb12cb8a320e4ef261d4715dc2144207f31cfe13b2b62cebfc9e61880db79876a634e29cf42992d4f472ce0af709f48f14c7ba800f157876f19982720fc6d +SHA512 (git-2.46.1.tar.sign) = 5d995dec6b9bed8442ebf04c2c84f6cda22105992835349537e8f7d2c683f5cd07f6b49f452ccdcd8adce9879cdb3663540d0b0e41050d3e94405feac04f988c From b7b63fdc8b0b15fef10f2b4100b1175f3e782536 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Tue, 24 Sep 2024 14:31:26 +0200 Subject: [PATCH 25/45] update to 2.46.2 --- git.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/git.spec b/git.spec index 4b1bb37..2fc3dbf 100644 --- a/git.spec +++ b/git.spec @@ -78,7 +78,7 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.46.1 +Version: 2.46.2 Release: 1%{?dist} Summary: Fast Version Control System License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT @@ -1040,6 +1040,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Mon Sep 24 2024 Ondřej Pohořelský - 2.46.2-1 +- update to 2.46.2 + * Mon Sep 16 2024 Ondřej Pohořelský - 2.46.1-1 - update to 2.46.1 diff --git a/sources b/sources index 5ca6946..8cb35b7 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.46.1.tar.xz) = ce1bb12cb8a320e4ef261d4715dc2144207f31cfe13b2b62cebfc9e61880db79876a634e29cf42992d4f472ce0af709f48f14c7ba800f157876f19982720fc6d -SHA512 (git-2.46.1.tar.sign) = 5d995dec6b9bed8442ebf04c2c84f6cda22105992835349537e8f7d2c683f5cd07f6b49f452ccdcd8adce9879cdb3663540d0b0e41050d3e94405feac04f988c +SHA512 (git-2.46.2.tar.xz) = d8d1cec9a4ddc7b1892b7f5b3c808d235bcd4bfb1714ce0ce0e721242acc94f9ae7c2ae3181311feb5b458b04e89cd32acd3e9c90adbc4e86e05e7d5589d8a00 +SHA512 (git-2.46.2.tar.sign) = 2a20c490d1388b68b0c6def89a282ce198aff5991b0942e762f45bd51bca2b81353f648546e789a15ea141f9ea411e6ce025e84e9dc80e5fea8abc3a5af2b168 From 2354ed404127937eb64df75d2e178d59d81f6b71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Tue, 24 Sep 2024 14:34:39 +0200 Subject: [PATCH 26/45] repair bogus date in the changelog --- git.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git.spec b/git.spec index 2fc3dbf..54a7178 100644 --- a/git.spec +++ b/git.spec @@ -1040,7 +1040,7 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog -* Mon Sep 24 2024 Ondřej Pohořelský - 2.46.2-1 +* Tue Sep 24 2024 Ondřej Pohořelský - 2.46.2-1 - update to 2.46.2 * Mon Sep 16 2024 Ondřej Pohořelský - 2.46.1-1 From d4d986abeb8d45c7a783a5c356b87aaaad8775ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Tue, 8 Oct 2024 15:19:07 +0200 Subject: [PATCH 27/45] update to 2.47.0 --- git.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/git.spec b/git.spec index 54a7178..f5bd722 100644 --- a/git.spec +++ b/git.spec @@ -78,7 +78,7 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.46.2 +Version: 2.47.0 Release: 1%{?dist} Summary: Fast Version Control System License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT @@ -1040,6 +1040,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Tue Oct 08 2024 Ondřej Pohořelský - 2.47.0-1 +- update to 2.47.0 + * Tue Sep 24 2024 Ondřej Pohořelský - 2.46.2-1 - update to 2.46.2 diff --git a/sources b/sources index 8cb35b7..13958fb 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.46.2.tar.xz) = d8d1cec9a4ddc7b1892b7f5b3c808d235bcd4bfb1714ce0ce0e721242acc94f9ae7c2ae3181311feb5b458b04e89cd32acd3e9c90adbc4e86e05e7d5589d8a00 -SHA512 (git-2.46.2.tar.sign) = 2a20c490d1388b68b0c6def89a282ce198aff5991b0942e762f45bd51bca2b81353f648546e789a15ea141f9ea411e6ce025e84e9dc80e5fea8abc3a5af2b168 +SHA512 (git-2.47.0.tar.xz) = 58683aa59dba25ffec9fe2c185267c77b34d573e9738c133a15d25071e37095e99486c231c35b8f71aabe3c1e305238b56d2c10039318bfc08f137919bad66ec +SHA512 (git-2.47.0.tar.sign) = 7ccfe729598d3efd5cf1507c5132782f4e17d030745b4684284e691156cfe150d8911fa05f26d31382f505c6a4fbc1cc261e289e239ec9cc812ddfe20d026511 From d4648b15beafd12dd8b7dbf1628df678dbfd5b63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Mon, 25 Nov 2024 10:53:34 +0100 Subject: [PATCH 28/45] update to 2.47.1 --- git.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/git.spec b/git.spec index f5bd722..0ab9995 100644 --- a/git.spec +++ b/git.spec @@ -78,7 +78,7 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.47.0 +Version: 2.47.1 Release: 1%{?dist} Summary: Fast Version Control System License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT @@ -1040,6 +1040,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Mon Nov 25 2024 Ondřej Pohořelský - 2.47.1-1 +- update to 2.47.1 + * Tue Oct 08 2024 Ondřej Pohořelský - 2.47.0-1 - update to 2.47.0 diff --git a/sources b/sources index 13958fb..0d04741 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.47.0.tar.xz) = 58683aa59dba25ffec9fe2c185267c77b34d573e9738c133a15d25071e37095e99486c231c35b8f71aabe3c1e305238b56d2c10039318bfc08f137919bad66ec -SHA512 (git-2.47.0.tar.sign) = 7ccfe729598d3efd5cf1507c5132782f4e17d030745b4684284e691156cfe150d8911fa05f26d31382f505c6a4fbc1cc261e289e239ec9cc812ddfe20d026511 +SHA512 (git-2.47.1.tar.xz) = 6abe551c464b307bc3f6f474257e0be3e1a9eba1406af6463216b796c55a35356009c2f7bd9b4fa2d1798da5f885a3843f6ad8750ab69595f748f9ea8ed76fea +SHA512 (git-2.47.1.tar.sign) = 89557b00303ce7ea063e4bbe8a81827c44ffaf997ae5a5bd1db6f671b10fd1050069bf74a10d797ec6f65453b9839e34fdc69f029bc8a6cfb8e9918fad8eda1a From 0b1ce8c0dca90be273be2be92c6a85de046efd4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Mon, 13 Jan 2025 13:25:40 +0100 Subject: [PATCH 29/45] update to 2.48.0 --- git.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/git.spec b/git.spec index 0ab9995..7fd9b94 100644 --- a/git.spec +++ b/git.spec @@ -78,7 +78,7 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.47.1 +Version: 2.48.0 Release: 1%{?dist} Summary: Fast Version Control System License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT @@ -1040,6 +1040,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Mon Jan 13 2025 Ondřej Pohořelský - 2.48.0-1 +- update to 2.48.0 + * Mon Nov 25 2024 Ondřej Pohořelský - 2.47.1-1 - update to 2.47.1 diff --git a/sources b/sources index 0d04741..ea10ecb 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.47.1.tar.xz) = 6abe551c464b307bc3f6f474257e0be3e1a9eba1406af6463216b796c55a35356009c2f7bd9b4fa2d1798da5f885a3843f6ad8750ab69595f748f9ea8ed76fea -SHA512 (git-2.47.1.tar.sign) = 89557b00303ce7ea063e4bbe8a81827c44ffaf997ae5a5bd1db6f671b10fd1050069bf74a10d797ec6f65453b9839e34fdc69f029bc8a6cfb8e9918fad8eda1a +SHA512 (git-2.48.0.tar.xz) = 0b8b6633d65f20830577a073a78f13cedf4f43c8634d5d62918cddca9ca8b75519e6674307782e0eacb9e8e920a04014aa2a0f5cd2e75be06728e9160f794c9e +SHA512 (git-2.48.0.tar.sign) = 1840a7b7a53997b78b932aecfca031e0a6f7779957b0bceba772738bdbf0ac75bc9a9bc8808beb63b446262a33e404819a9859d68aa45b23b498351b27a8514d From 078a91e01a4b273c7b7b63f93285f18b672fba3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Wed, 15 Jan 2025 09:29:00 +0100 Subject: [PATCH 30/45] update to 2.48.1 --- git.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/git.spec b/git.spec index 7fd9b94..5e6c4d6 100644 --- a/git.spec +++ b/git.spec @@ -78,7 +78,7 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.48.0 +Version: 2.48.1 Release: 1%{?dist} Summary: Fast Version Control System License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT @@ -1040,6 +1040,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Wed Jan 15 2025 Ondřej Pohořelský - 2.48.1-1 +- update to 2.48.1 + * Mon Jan 13 2025 Ondřej Pohořelský - 2.48.0-1 - update to 2.48.0 diff --git a/sources b/sources index ea10ecb..d6bf8a9 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.48.0.tar.xz) = 0b8b6633d65f20830577a073a78f13cedf4f43c8634d5d62918cddca9ca8b75519e6674307782e0eacb9e8e920a04014aa2a0f5cd2e75be06728e9160f794c9e -SHA512 (git-2.48.0.tar.sign) = 1840a7b7a53997b78b932aecfca031e0a6f7779957b0bceba772738bdbf0ac75bc9a9bc8808beb63b446262a33e404819a9859d68aa45b23b498351b27a8514d +SHA512 (git-2.48.1.tar.xz) = 75c89ab4ca83adc46989a4b05a9b482b40a7ba69d15aa1c1f27d0cee37c2908e154a75d59b0a0a540647352b9c55020f1a5ad309f0eff78e9fd8e631ef9e4606 +SHA512 (git-2.48.1.tar.sign) = 6d2308a71970940288137df76122ac402d1e5fdd2250fce5e6d4681d68b630bcfc109e56e4539598c6b5113024c78a25193d3b8d38c39ee547a37c1d8b2f4d15 From ecbadc14c1efef1a71c7bc0f49c8c2089dbcd28f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 22:01:51 +0000 Subject: [PATCH 31/45] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- git.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/git.spec b/git.spec index 5e6c4d6..01250b4 100644 --- a/git.spec +++ b/git.spec @@ -79,7 +79,7 @@ Name: git Version: 2.48.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Fast Version Control System 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/ @@ -1040,6 +1040,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 2.48.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Jan 15 2025 Ondřej Pohořelský - 2.48.1-1 - update to 2.48.1 From 716550b90ac02764311b615f80b9af6cbb821f43 Mon Sep 17 00:00:00 2001 From: Yanko Kaneti Date: Wed, 5 Feb 2025 17:10:11 +0200 Subject: [PATCH 32/45] Keep gitk on tcl/tk 8.x until its ready for 9 --- git.spec | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/git.spec b/git.spec index 01250b4..b3c5c65 100644 --- a/git.spec +++ b/git.spec @@ -79,7 +79,7 @@ Name: git Version: 2.48.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Fast Version Control System 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/ @@ -429,7 +429,9 @@ Summary: Git repository browser BuildArch: noarch Requires: git = %{version}-%{release} Requires: git-gui = %{version}-%{release} -Requires: tk >= 8.4 +# Keep gitk on tcl/tk 8.x until its ready for 9 (also see below in config.mk) +# https://github.com/j6t/gitk/issues/5 +Requires: tk8 >= 8.4 %description -n gitk %{summary}. @@ -587,6 +589,10 @@ gitwebdir = %{_localstatedir}/www/git DEFAULT_TEST_TARGET = prove GIT_PROVE_OPTS = --verbose --normalize %{?_smp_mflags} --formatter=TAP::Formatter::File GIT_TEST_OPTS = -x --verbose-log + +# Keep gitk on tcl/tk 8.x until its ready for 9 (see more above in gitk requires) +TCLTK_PATH = wish8 +TCL_PATH = tclsh8 EOF # Filter bogus perl requires @@ -1040,6 +1046,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Thu Feb 6 2025 Yanko Kaneti - 2.48.1-3 +- Keep gitk on tcl/tk 8.x until its ready for 9 + * Thu Jan 16 2025 Fedora Release Engineering - 2.48.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 9a2fecfe2e676dc896cb02242d9b29b5643ce460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Mon, 17 Mar 2025 15:37:51 +0100 Subject: [PATCH 33/45] update to 2.49.0 --- git.spec | 45 +++++++++++++++++++++++++++++---------------- sources | 4 ++-- 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/git.spec b/git.spec index b3c5c65..b19d845 100644 --- a/git.spec +++ b/git.spec @@ -78,8 +78,8 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.48.1 -Release: 3%{?dist} +Version: 2.49.0 +Release: 1%{?dist} Summary: Fast Version Control System 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/ @@ -538,7 +538,7 @@ 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 +rm git-archimport.perl Documentation/git-archimport.adoc %if %{without cvs} # Remove git-cvs* from command list @@ -615,7 +615,7 @@ sed -i 's@"++GITWEB_HOME_LINK_STR++"@$ENV{"SERVER_NAME"} ? "git://" . $ENV{"SERV # Move contrib/{contacts,subtree} docs to Documentation so they build with the # proper asciidoc/docbook/xmlto options -mv contrib/{contacts,subtree}/git-*.txt Documentation/ +mv contrib/{contacts,subtree}/git-*.adoc Documentation/ %build # Improve build reproducibility @@ -782,7 +782,7 @@ grep -E "$not_core_re" bin-man-doc-files > bin-man-doc-git-files # 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}/ +cp -pr CODE_OF_CONDUCT.md README.md Documentation/*.adoc 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 @@ -874,6 +874,16 @@ GIT_SKIP_TESTS="$GIT_SKIP_TESTS t5300.1[02348] t5300.2[03459] t5300.30 t5300.4[5 %endif # endif rhel == 8 && arch == s390x +%if "%{_arch}" == "s390x" +# Skip tests which fail on s390x +# +# The following tests are failing on s390x. +# https://lore.kernel.org/git/Z8dIZmscTdi8dZAY@teonanacatl.net/ +# +# t5620.4 'do partial clone 2, backfill min batch size' +GIT_SKIP_TESTS="$GIT_SKIP_TESTS t5620.4" +%endif +# endif "%{_arch}" == "s390x" export GIT_SKIP_TESTS # Set LANG so various UTF-8 tests are run @@ -959,7 +969,7 @@ rmdir --ignore-fail-on-non-empty "$testdir" %if %{with cvs} %files cvs -%{_pkgdocdir}/*git-cvs*.txt +%{_pkgdocdir}/*git-cvs*.adoc %{_bindir}/git-cvsserver %{gitexecdir}/*cvs* %{?with_docs:%{_mandir}/man1/*cvs*.1*} @@ -968,7 +978,7 @@ rmdir --ignore-fail-on-non-empty "$testdir" # endif with cvs %files daemon -%{_pkgdocdir}/git-daemon*.txt +%{_pkgdocdir}/git-daemon*.adoc %{_unitdir}/git.socket %config(noreplace) %{_unitdir}/git@.service %{gitexecdir}/git-daemon @@ -977,13 +987,13 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-daemon*.html} %files email -%{_pkgdocdir}/*email*.txt +%{_pkgdocdir}/*email*.adoc %{gitexecdir}/*email* %{?with_docs:%{_mandir}/man1/*email*.1*} %{?with_docs:%{_pkgdocdir}/*email*.html} %files -n gitk -%{_pkgdocdir}/*gitk*.txt +%{_pkgdocdir}/*gitk*.adoc %{_bindir}/*gitk* %{_datadir}/gitk %{bash_completions_dir}/gitk @@ -992,7 +1002,7 @@ rmdir --ignore-fail-on-non-empty "$testdir" %files -n gitweb %{_pkgdocdir}/*.gitweb -%{_pkgdocdir}/gitweb*.txt +%{_pkgdocdir}/gitweb*.adoc %{?with_docs:%{_mandir}/man1/gitweb.1*} %{?with_docs:%{_mandir}/man5/gitweb.conf.5*} %{?with_docs:%{_pkgdocdir}/gitweb*.html} @@ -1005,8 +1015,8 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{gitexecdir}/git-citool %{_datadir}/applications/*git-gui.desktop %{_datadir}/git-gui/ -%{_pkgdocdir}/git-gui.txt -%{_pkgdocdir}/git-citool.txt +%{_pkgdocdir}/git-gui.adoc +%{_pkgdocdir}/git-citool.adoc %{?with_docs:%{_mandir}/man1/git-gui.1*} %{?with_docs:%{_pkgdocdir}/git-gui.html} %{?with_docs:%{_mandir}/man1/git-citool.1*} @@ -1014,7 +1024,7 @@ rmdir --ignore-fail-on-non-empty "$testdir" %files instaweb %{gitexecdir}/git-instaweb -%{_pkgdocdir}/git-instaweb.txt +%{_pkgdocdir}/git-instaweb.adoc %{?with_docs:%{_mandir}/man1/git-instaweb.1*} %{?with_docs:%{_pkgdocdir}/git-instaweb.html} @@ -1022,7 +1032,7 @@ rmdir --ignore-fail-on-non-empty "$testdir" %files p4 %{gitexecdir}/*p4* %{gitexecdir}/mergetools/p4merge -%{_pkgdocdir}/*p4*.txt +%{_pkgdocdir}/*p4*.adoc %{?with_docs:%{_mandir}/man1/*p4*.1*} %{?with_docs:%{_pkgdocdir}/*p4*.html} %endif @@ -1035,17 +1045,20 @@ rmdir --ignore-fail-on-non-empty "$testdir" %files subtree %{gitexecdir}/git-subtree -%{_pkgdocdir}/git-subtree.txt +%{_pkgdocdir}/git-subtree.adoc %{?with_docs:%{_mandir}/man1/git-subtree.1*} %{?with_docs:%{_pkgdocdir}/git-subtree.html} %files svn %{gitexecdir}/git-svn -%{_pkgdocdir}/git-svn.txt +%{_pkgdocdir}/git-svn.adoc %{?with_docs:%{_mandir}/man1/git-svn.1*} %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Mon Mar 17 2025 Ondřej Pohořelský - 2.49.0-1 +- update to 2.49.0 + * Thu Feb 6 2025 Yanko Kaneti - 2.48.1-3 - Keep gitk on tcl/tk 8.x until its ready for 9 diff --git a/sources b/sources index d6bf8a9..25bd2d3 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.48.1.tar.xz) = 75c89ab4ca83adc46989a4b05a9b482b40a7ba69d15aa1c1f27d0cee37c2908e154a75d59b0a0a540647352b9c55020f1a5ad309f0eff78e9fd8e631ef9e4606 -SHA512 (git-2.48.1.tar.sign) = 6d2308a71970940288137df76122ac402d1e5fdd2250fce5e6d4681d68b630bcfc109e56e4539598c6b5113024c78a25193d3b8d38c39ee547a37c1d8b2f4d15 +SHA512 (git-2.49.0.tar.xz) = 81a16415890305fc6cfd14ade8bee76779feba01f51c5446f40c14211654342c68ef0911859fa6e8e9ff0a718847bb44ee4156d03a19c9165df19ba91e09e1f0 +SHA512 (git-2.49.0.tar.sign) = e956f83ee0973295ec608aa6ab1df11992d8fc10f1702a0cdbf849f7659d94666fe714f60a7b4aeeed064bc49e1345791e3d8b0a867c075544eb48f01b84fd27 From a0b3d1a02bfce4c9462e90e3c093b81dbbdd9e81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Mon, 24 Mar 2025 11:47:14 +0100 Subject: [PATCH 34/45] Adds the option to sanitize sideband channel messages CVE-2024-52005 wasn't fixed by upstream. This patch adds the option to harden Git against it. The default behaviour of Git remains unchanged. --- ...9-sanitize-sideband-channel-messages.patch | 471 ++++++++++++++++++ git.spec | 12 +- 2 files changed, 482 insertions(+), 1 deletion(-) create mode 100644 git-2.49-sanitize-sideband-channel-messages.patch diff --git a/git-2.49-sanitize-sideband-channel-messages.patch b/git-2.49-sanitize-sideband-channel-messages.patch new file mode 100644 index 0000000..f3be95a --- /dev/null +++ b/git-2.49-sanitize-sideband-channel-messages.patch @@ -0,0 +1,471 @@ +From 328ff864183cdd0a4b779b5b88a3271b39a1b1a2 Mon Sep 17 00:00:00 2001 +From: Johannes Schindelin +Date: Wed, 6 Nov 2024 20:34:50 +0100 +Subject: [PATCH 1/4] sideband: mask control characters + +The output of `git clone` is a vital component for understanding what +has happened when things go wrong. However, these logs are partially +under the control of the remote server (via the "sideband", which +typically contains what the remote `git pack-objects` process sends to +`stderr`), and is currently not sanitized by Git. + +This makes Git susceptible to ANSI escape sequence injection (see +CWE-150, https://cwe.mitre.org/data/definitions/150.html), which allows +attackers to corrupt terminal state, to hide information, and even to +insert characters into the input buffer (i.e. as if the user had typed +those characters). + +To plug this vulnerability, disallow any control character in the +sideband, replacing them instead with the common `^` +(e.g. `^[` for `\x1b`, `^A` for `\x01`). + +There is likely a need for more fine-grained controls instead of using a +"heavy hammer" like this, which will be introduced subsequently. + +Signed-off-by: Johannes Schindelin +--- + sideband.c | 17 +++++++++++++++-- + t/t5409-colorize-remote-messages.sh | 12 ++++++++++++ + 2 files changed, 27 insertions(+), 2 deletions(-) + +diff --git a/sideband.c b/sideband.c +index 251e9615ed..81b1ff0805 100644 +--- a/sideband.c ++++ b/sideband.c +@@ -66,6 +66,19 @@ void list_config_color_sideband_slots(struct string_list *list, const char *pref + list_config_item(list, prefix, keywords[i].keyword); + } + ++static void strbuf_add_sanitized(struct strbuf *dest, const char *src, int n) ++{ ++ strbuf_grow(dest, n); ++ for (; n && *src; src++, n--) { ++ if (!iscntrl(*src) || *src == '\t' || *src == '\n') ++ strbuf_addch(dest, *src); ++ else { ++ strbuf_addch(dest, '^'); ++ strbuf_addch(dest, 0x40 + *src); ++ } ++ } ++} ++ + /* + * Optionally highlight one keyword in remote output if it appears at the start + * of the line. This should be called for a single line only, which is +@@ -81,7 +94,7 @@ static void maybe_colorize_sideband(struct strbuf *dest, const char *src, int n) + int i; + + if (!want_color_stderr(use_sideband_colors())) { +- strbuf_add(dest, src, n); ++ strbuf_add_sanitized(dest, src, n); + return; + } + +@@ -114,7 +127,7 @@ static void maybe_colorize_sideband(struct strbuf *dest, const char *src, int n) + } + } + +- strbuf_add(dest, src, n); ++ strbuf_add_sanitized(dest, src, n); + } + + +diff --git a/t/t5409-colorize-remote-messages.sh b/t/t5409-colorize-remote-messages.sh +index fa5de4500a..d0745c391b 100755 +--- a/t/t5409-colorize-remote-messages.sh ++++ b/t/t5409-colorize-remote-messages.sh +@@ -98,4 +98,16 @@ test_expect_success 'fallback to color.ui' ' + grep "error: error" decoded + ' + ++test_expect_success 'disallow (color) control sequences in sideband' ' ++ write_script .git/color-me-surprised <<-\EOF && ++ printf "error: Have you \\033[31mread\\033[m this?\\n" >&2 ++ exec "$@" ++ EOF ++ test_config_global uploadPack.packObjectshook ./color-me-surprised && ++ test_commit need-at-least-one-commit && ++ git clone --no-local . throw-away 2>stderr && ++ test_decode_color decoded && ++ test_grep ! RED decoded ++' ++ + test_done +-- +2.49.0 + + +From ab2eb6c0043c643935ea0fbdaed68e15bc831b11 Mon Sep 17 00:00:00 2001 +From: Johannes Schindelin +Date: Wed, 6 Nov 2024 21:07:51 +0100 +Subject: [PATCH 2/4] sideband: introduce an "escape hatch" to allow control + characters + +The preceding commit fixed the vulnerability whereas sideband messages +(that are under the control of the remote server) could contain ANSI +escape sequences that would be sent to the terminal verbatim. + +However, this fix may not be desirable under all circumstances, e.g. +when remote servers deliberately add coloring to their messages to +increase their urgency. + +To help with those use cases, give users a way to opt-out of the +protections: `sideband.allowControlCharacters`. + +Signed-off-by: Johannes Schindelin +--- + Documentation/config.adoc | 2 ++ + Documentation/config/sideband.adoc | 5 +++++ + sideband.c | 10 ++++++++++ + t/t5409-colorize-remote-messages.sh | 8 +++++++- + 4 files changed, 24 insertions(+), 1 deletion(-) + create mode 100644 Documentation/config/sideband.adoc + +diff --git a/Documentation/config.adoc b/Documentation/config.adoc +index cc769251be..a8b04c4e51 100644 +--- a/Documentation/config.adoc ++++ b/Documentation/config.adoc +@@ -522,6 +522,8 @@ include::config/sequencer.adoc[] + + include::config/showbranch.adoc[] + ++include::config/sideband.adoc[] ++ + include::config/sparse.adoc[] + + include::config/splitindex.adoc[] +diff --git a/Documentation/config/sideband.adoc b/Documentation/config/sideband.adoc +new file mode 100644 +index 0000000000..3fb5045cd7 +--- /dev/null ++++ b/Documentation/config/sideband.adoc +@@ -0,0 +1,5 @@ ++sideband.allowControlCharacters:: ++ By default, control characters that are delivered via the sideband ++ are masked, to prevent potentially unwanted ANSI escape sequences ++ from being sent to the terminal. Use this config setting to override ++ this behavior. +diff --git a/sideband.c b/sideband.c +index 81b1ff0805..d1c326fa19 100644 +--- a/sideband.c ++++ b/sideband.c +@@ -26,6 +26,8 @@ static struct keyword_entry keywords[] = { + { "error", GIT_COLOR_BOLD_RED }, + }; + ++static int allow_control_characters; ++ + /* Returns a color setting (GIT_COLOR_NEVER, etc). */ + static int use_sideband_colors(void) + { +@@ -39,6 +41,9 @@ static int use_sideband_colors(void) + if (use_sideband_colors_cached >= 0) + return use_sideband_colors_cached; + ++ git_config_get_bool("sideband.allowcontrolcharacters", ++ &allow_control_characters); ++ + if (!git_config_get_string_tmp(key, &value)) + use_sideband_colors_cached = git_config_colorbool(key, value); + else if (!git_config_get_string_tmp("color.ui", &value)) +@@ -68,6 +73,11 @@ void list_config_color_sideband_slots(struct string_list *list, const char *pref + + static void strbuf_add_sanitized(struct strbuf *dest, const char *src, int n) + { ++ if (allow_control_characters) { ++ strbuf_add(dest, src, n); ++ return; ++ } ++ + strbuf_grow(dest, n); + for (; n && *src; src++, n--) { + if (!iscntrl(*src) || *src == '\t' || *src == '\n') +diff --git a/t/t5409-colorize-remote-messages.sh b/t/t5409-colorize-remote-messages.sh +index d0745c391b..fb31e85254 100755 +--- a/t/t5409-colorize-remote-messages.sh ++++ b/t/t5409-colorize-remote-messages.sh +@@ -105,9 +105,15 @@ test_expect_success 'disallow (color) control sequences in sideband' ' + EOF + test_config_global uploadPack.packObjectshook ./color-me-surprised && + test_commit need-at-least-one-commit && ++ + git clone --no-local . throw-away 2>stderr && + test_decode_color decoded && +- test_grep ! RED decoded ++ test_grep ! RED decoded && ++ ++ rm -rf throw-away && ++ git -c sideband.allowControlCharacters clone --no-local . throw-away 2>stderr && ++ test_decode_color decoded && ++ test_grep RED decoded + ' + + test_done +-- +2.49.0 + + +From a369672c2e6974590ad0561854318a4f255e6893 Mon Sep 17 00:00:00 2001 +From: Johannes Schindelin +Date: Mon, 18 Nov 2024 21:42:57 +0100 +Subject: [PATCH 3/4] sideband: do allow ANSI color sequences by default + +The preceding two commits introduced special handling of the sideband +channel to neutralize ANSI escape sequences before sending the payload +to the terminal, and `sideband.allowControlCharacters` to override that +behavior. + +However, some `pre-receive` hooks that are actively used in practice +want to color their messages and therefore rely on the fact that Git +passes them through to the terminal. + +In contrast to other ANSI escape sequences, it is highly unlikely that +coloring sequences can be essential tools in attack vectors that mislead +Git users e.g. by hiding crucial information. + +Therefore we can have both: Continue to allow ANSI coloring sequences to +be passed to the terminal, and neutralize all other ANSI escape +sequences. + +Signed-off-by: Johannes Schindelin +--- + Documentation/config/sideband.adoc | 17 ++++++-- + sideband.c | 61 ++++++++++++++++++++++++++--- + t/t5409-colorize-remote-messages.sh | 16 +++++++- + 3 files changed, 84 insertions(+), 10 deletions(-) + +diff --git a/Documentation/config/sideband.adoc b/Documentation/config/sideband.adoc +index 3fb5045cd7..f347fd6b33 100644 +--- a/Documentation/config/sideband.adoc ++++ b/Documentation/config/sideband.adoc +@@ -1,5 +1,16 @@ + sideband.allowControlCharacters:: + By default, control characters that are delivered via the sideband +- are masked, to prevent potentially unwanted ANSI escape sequences +- from being sent to the terminal. Use this config setting to override +- this behavior. ++ are masked, except ANSI color sequences. This prevents potentially ++ unwanted ANSI escape sequences from being sent to the terminal. Use ++ this config setting to override this behavior: +++ ++-- ++ color:: ++ Allow ANSI color sequences, line feeds and horizontal tabs, ++ but mask all other control characters. This is the default. ++ false:: ++ Mask all control characters other than line feeds and ++ horizontal tabs. ++ true:: ++ Allow all control characters to be sent to the terminal. ++-- +diff --git a/sideband.c b/sideband.c +index d1c326fa19..9084ca234d 100644 +--- a/sideband.c ++++ b/sideband.c +@@ -26,7 +26,11 @@ static struct keyword_entry keywords[] = { + { "error", GIT_COLOR_BOLD_RED }, + }; + +-static int allow_control_characters; ++static enum { ++ ALLOW_NO_CONTROL_CHARACTERS = 0, ++ ALLOW_ALL_CONTROL_CHARACTERS = 1, ++ ALLOW_ANSI_COLOR_SEQUENCES = 2 ++} allow_control_characters = ALLOW_ANSI_COLOR_SEQUENCES; + + /* Returns a color setting (GIT_COLOR_NEVER, etc). */ + static int use_sideband_colors(void) +@@ -41,8 +45,24 @@ static int use_sideband_colors(void) + if (use_sideband_colors_cached >= 0) + return use_sideband_colors_cached; + +- git_config_get_bool("sideband.allowcontrolcharacters", +- &allow_control_characters); ++ switch (git_config_get_maybe_bool("sideband.allowcontrolcharacters", &i)) { ++ case 0: /* Boolean value */ ++ allow_control_characters = i ? ALLOW_ALL_CONTROL_CHARACTERS : ++ ALLOW_NO_CONTROL_CHARACTERS; ++ break; ++ case -1: /* non-Boolean value */ ++ if (git_config_get_string_tmp("sideband.allowcontrolcharacters", ++ &value)) ++ ; /* huh? `get_maybe_bool()` returned -1 */ ++ else if (!strcmp(value, "color")) ++ allow_control_characters = ALLOW_ANSI_COLOR_SEQUENCES; ++ else ++ warning(_("unrecognized value for `sideband." ++ "allowControlCharacters`: '%s'"), value); ++ break; ++ default: ++ break; /* not configured */ ++ } + + if (!git_config_get_string_tmp(key, &value)) + use_sideband_colors_cached = git_config_colorbool(key, value); +@@ -71,9 +91,37 @@ void list_config_color_sideband_slots(struct string_list *list, const char *pref + list_config_item(list, prefix, keywords[i].keyword); + } + ++static int handle_ansi_color_sequence(struct strbuf *dest, const char *src, int n) ++{ ++ int i; ++ ++ /* ++ * Valid ANSI color sequences are of the form ++ * ++ * ESC [ [ [; ]*] m ++ */ ++ ++ if (allow_control_characters != ALLOW_ANSI_COLOR_SEQUENCES || ++ n < 3 || src[0] != '\x1b' || src[1] != '[') ++ return 0; ++ ++ for (i = 2; i < n; i++) { ++ if (src[i] == 'm') { ++ strbuf_add(dest, src, i + 1); ++ return i; ++ } ++ if (!isdigit(src[i]) && src[i] != ';') ++ break; ++ } ++ ++ return 0; ++} ++ + static void strbuf_add_sanitized(struct strbuf *dest, const char *src, int n) + { +- if (allow_control_characters) { ++ int i; ++ ++ if (allow_control_characters == ALLOW_ALL_CONTROL_CHARACTERS) { + strbuf_add(dest, src, n); + return; + } +@@ -82,7 +130,10 @@ static void strbuf_add_sanitized(struct strbuf *dest, const char *src, int n) + for (; n && *src; src++, n--) { + if (!iscntrl(*src) || *src == '\t' || *src == '\n') + strbuf_addch(dest, *src); +- else { ++ else if ((i = handle_ansi_color_sequence(dest, src, n))) { ++ src += i; ++ n -= i; ++ } else { + strbuf_addch(dest, '^'); + strbuf_addch(dest, 0x40 + *src); + } +diff --git a/t/t5409-colorize-remote-messages.sh b/t/t5409-colorize-remote-messages.sh +index fb31e85254..a755c49a74 100755 +--- a/t/t5409-colorize-remote-messages.sh ++++ b/t/t5409-colorize-remote-messages.sh +@@ -100,7 +100,7 @@ test_expect_success 'fallback to color.ui' ' + + test_expect_success 'disallow (color) control sequences in sideband' ' + write_script .git/color-me-surprised <<-\EOF && +- printf "error: Have you \\033[31mread\\033[m this?\\n" >&2 ++ printf "error: Have you \\033[31mread\\033[m this?\\a\\n" >&2 + exec "$@" + EOF + test_config_global uploadPack.packObjectshook ./color-me-surprised && +@@ -108,12 +108,24 @@ test_expect_success 'disallow (color) control sequences in sideband' ' + + git clone --no-local . throw-away 2>stderr && + test_decode_color decoded && ++ test_grep RED decoded && ++ test_grep "\\^G" stderr && ++ tr -dc "\\007" actual && ++ test_must_be_empty actual && ++ ++ rm -rf throw-away && ++ git -c sideband.allowControlCharacters=false \ ++ clone --no-local . throw-away 2>stderr && ++ test_decode_color decoded && + test_grep ! RED decoded && ++ test_grep "\\^G" stderr && + + rm -rf throw-away && + git -c sideband.allowControlCharacters clone --no-local . throw-away 2>stderr && + test_decode_color decoded && +- test_grep RED decoded ++ test_grep RED decoded && ++ tr -dc "\\007" actual && ++ test_file_not_empty actual + ' + + test_done +-- +2.49.0 + + +From b15d2255ed98eb6f75608c2f99f4ea3284ad250e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= +Date: Mon, 24 Mar 2025 10:51:39 +0100 +Subject: [PATCH 4/4] sideband: default to allowControlCharacters=true +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We don't want to change the default Git behaviour, just add the option +to filter control characters. + +Signed-off-by: Ondřej Pohořelský +--- + Documentation/config/sideband.adoc | 8 ++++---- + sideband.c | 2 +- + t/t5409-colorize-remote-messages.sh | 3 ++- + 3 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/Documentation/config/sideband.adoc b/Documentation/config/sideband.adoc +index f347fd6b33..a809e2de89 100644 +--- a/Documentation/config/sideband.adoc ++++ b/Documentation/config/sideband.adoc +@@ -1,16 +1,16 @@ + sideband.allowControlCharacters:: + By default, control characters that are delivered via the sideband +- are masked, except ANSI color sequences. This prevents potentially +- unwanted ANSI escape sequences from being sent to the terminal. Use +- this config setting to override this behavior: ++ are NOT masked. Use this config setting to prevent potentially ++ unwanted ANSI escape sequences from being sent to the terminal: + + + -- + color:: + Allow ANSI color sequences, line feeds and horizontal tabs, +- but mask all other control characters. This is the default. ++ but mask all other control characters. + false:: + Mask all control characters other than line feeds and + horizontal tabs. + true:: + Allow all control characters to be sent to the terminal. ++ This is the default. + -- +diff --git a/sideband.c b/sideband.c +index 9084ca234d..456cd3d8bc 100644 +--- a/sideband.c ++++ b/sideband.c +@@ -30,7 +30,7 @@ static enum { + ALLOW_NO_CONTROL_CHARACTERS = 0, + ALLOW_ALL_CONTROL_CHARACTERS = 1, + ALLOW_ANSI_COLOR_SEQUENCES = 2 +-} allow_control_characters = ALLOW_ANSI_COLOR_SEQUENCES; ++} allow_control_characters = ALLOW_ALL_CONTROL_CHARACTERS; + + /* Returns a color setting (GIT_COLOR_NEVER, etc). */ + static int use_sideband_colors(void) +diff --git a/t/t5409-colorize-remote-messages.sh b/t/t5409-colorize-remote-messages.sh +index a755c49a74..2d40d8c640 100755 +--- a/t/t5409-colorize-remote-messages.sh ++++ b/t/t5409-colorize-remote-messages.sh +@@ -106,7 +106,8 @@ test_expect_success 'disallow (color) control sequences in sideband' ' + test_config_global uploadPack.packObjectshook ./color-me-surprised && + test_commit need-at-least-one-commit && + +- git clone --no-local . throw-away 2>stderr && ++ git -c sideband.allowControlCharacters=color \ ++ clone --no-local . throw-away 2>stderr && + test_decode_color decoded && + test_grep RED decoded && + test_grep "\\^G" stderr && +-- +2.49.0 + diff --git a/git.spec b/git.spec index b19d845..b3b2184 100644 --- a/git.spec +++ b/git.spec @@ -79,7 +79,7 @@ Name: git Version: 2.49.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Fast Version Control System 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/ @@ -132,6 +132,13 @@ Patch3: 0003-t-lib-git-svn-try-harder-to-find-a-port.patch # Prevents t5540 failures on i686, s390x and ppc64le Patch5: git-test-apache-davlockdbtype-config.patch +# Adds the option to sanitize sideband channel messages +# CVE-2024-52005 wasn't fixed by upstream. This patch adds the option to harden Git against it. +# The default behaviour of Git remains unchanged. +# +# https://github.com/gitgitgadget/git/pull/1853 +Patch6: git-2.49-sanitize-sideband-channel-messages.patch + %if %{with docs} # pod2man is needed to build Git.3pm BuildRequires: perl-podlators @@ -1056,6 +1063,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Mon Mar 24 2025 Ondřej Pohořelský - 2.49.0-2 +- add the option to sanitize sideband channel messages + * Mon Mar 17 2025 Ondřej Pohořelský - 2.49.0-1 - update to 2.49.0 From 001bf29ac7e222626c490dc9ffa4c5195e36f4d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Mon, 23 Jun 2025 14:16:09 +0200 Subject: [PATCH 35/45] update to 2.50.0 --- git.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/git.spec b/git.spec index b3b2184..203dced 100644 --- a/git.spec +++ b/git.spec @@ -78,8 +78,8 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.49.0 -Release: 2%{?dist} +Version: 2.50.0 +Release: 1%{?dist} Summary: Fast Version Control System 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/ @@ -1063,6 +1063,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Mon Jun 23 2025 Ondřej Pohořelský - 2.50.0-1 +- update to 2.50.0 + * Mon Mar 24 2025 Ondřej Pohořelský - 2.49.0-2 - add the option to sanitize sideband channel messages diff --git a/sources b/sources index 25bd2d3..fbc63c3 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.49.0.tar.xz) = 81a16415890305fc6cfd14ade8bee76779feba01f51c5446f40c14211654342c68ef0911859fa6e8e9ff0a718847bb44ee4156d03a19c9165df19ba91e09e1f0 -SHA512 (git-2.49.0.tar.sign) = e956f83ee0973295ec608aa6ab1df11992d8fc10f1702a0cdbf849f7659d94666fe714f60a7b4aeeed064bc49e1345791e3d8b0a867c075544eb48f01b84fd27 +SHA512 (git-2.50.0.tar.xz) = a8fdf5b0ab156822324b76aa7200071eb7244f7714807c39f05bc3361bc261272a6fdd1d0bc3a097dbbf27e92c02eda612aac17cb2a45ddfa222d74937cac67f +SHA512 (git-2.50.0.tar.sign) = 1cc17cc904587ff3c3c85a728ced51a04a92b194a7e5e69e0fd2f59bff24c643a3c4e5631b0cd870d4ad4229b1e9edc4c5cf671cde72bb37ef1cc04ebfac421c From 54ed4ea4ba7db573e5cccb672c50aed38b2fe49c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Tue, 8 Jul 2025 22:41:07 +0200 Subject: [PATCH 36/45] update to 2.50.1 --- git.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/git.spec b/git.spec index 203dced..b23d32b 100644 --- a/git.spec +++ b/git.spec @@ -78,7 +78,7 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.50.0 +Version: 2.50.1 Release: 1%{?dist} Summary: Fast Version Control System License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT @@ -1063,6 +1063,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Tue Jul 08 2025 Ondřej Pohořelský - 2.50.1-1 +- update to 2.50.1 + * Mon Jun 23 2025 Ondřej Pohořelský - 2.50.0-1 - update to 2.50.0 diff --git a/sources b/sources index fbc63c3..8e5e30a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.50.0.tar.xz) = a8fdf5b0ab156822324b76aa7200071eb7244f7714807c39f05bc3361bc261272a6fdd1d0bc3a097dbbf27e92c02eda612aac17cb2a45ddfa222d74937cac67f -SHA512 (git-2.50.0.tar.sign) = 1cc17cc904587ff3c3c85a728ced51a04a92b194a7e5e69e0fd2f59bff24c643a3c4e5631b0cd870d4ad4229b1e9edc4c5cf671cde72bb37ef1cc04ebfac421c +SHA512 (git-2.50.1.tar.xz) = 09f37290c0d4d074b97363f4a4be1813426e93ac3fa993c4d671bb1462bcc9335713c17d1442196a35205a603eeb052662382935d27498875a251f4fe86f6b36 +SHA512 (git-2.50.1.tar.sign) = f03a588b4108a2f0eae949d8870a3f16da18dfdf23de547aeaa25cdbccf668cfe89d49bbfb3869571b261738482f32002d83b2760415d4c04a0285273b18e828 From fc75418e16da4919c30846f896122b7e08c85c92 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 22:22:42 +0000 Subject: [PATCH 37/45] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- git.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/git.spec b/git.spec index b23d32b..d19d51f 100644 --- a/git.spec +++ b/git.spec @@ -79,7 +79,7 @@ Name: git Version: 2.50.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Fast Version Control System 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/ @@ -1063,6 +1063,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 2.50.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Tue Jul 08 2025 Ondřej Pohořelský - 2.50.1-1 - update to 2.50.1 From 90cb7985fdcd5d276f9d7f17efd93932116e578e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Wed, 20 Aug 2025 11:46:09 +0200 Subject: [PATCH 38/45] update to 2.51.0 --- ...9-sanitize-sideband-channel-messages.patch | 471 ------------------ ...1-sanitize-sideband-channel-messages.patch | 274 ++++++++++ git.spec | 27 +- sources | 4 +- 4 files changed, 282 insertions(+), 494 deletions(-) delete mode 100644 git-2.49-sanitize-sideband-channel-messages.patch create mode 100644 git-2.51-sanitize-sideband-channel-messages.patch diff --git a/git-2.49-sanitize-sideband-channel-messages.patch b/git-2.49-sanitize-sideband-channel-messages.patch deleted file mode 100644 index f3be95a..0000000 --- a/git-2.49-sanitize-sideband-channel-messages.patch +++ /dev/null @@ -1,471 +0,0 @@ -From 328ff864183cdd0a4b779b5b88a3271b39a1b1a2 Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Wed, 6 Nov 2024 20:34:50 +0100 -Subject: [PATCH 1/4] sideband: mask control characters - -The output of `git clone` is a vital component for understanding what -has happened when things go wrong. However, these logs are partially -under the control of the remote server (via the "sideband", which -typically contains what the remote `git pack-objects` process sends to -`stderr`), and is currently not sanitized by Git. - -This makes Git susceptible to ANSI escape sequence injection (see -CWE-150, https://cwe.mitre.org/data/definitions/150.html), which allows -attackers to corrupt terminal state, to hide information, and even to -insert characters into the input buffer (i.e. as if the user had typed -those characters). - -To plug this vulnerability, disallow any control character in the -sideband, replacing them instead with the common `^` -(e.g. `^[` for `\x1b`, `^A` for `\x01`). - -There is likely a need for more fine-grained controls instead of using a -"heavy hammer" like this, which will be introduced subsequently. - -Signed-off-by: Johannes Schindelin ---- - sideband.c | 17 +++++++++++++++-- - t/t5409-colorize-remote-messages.sh | 12 ++++++++++++ - 2 files changed, 27 insertions(+), 2 deletions(-) - -diff --git a/sideband.c b/sideband.c -index 251e9615ed..81b1ff0805 100644 ---- a/sideband.c -+++ b/sideband.c -@@ -66,6 +66,19 @@ void list_config_color_sideband_slots(struct string_list *list, const char *pref - list_config_item(list, prefix, keywords[i].keyword); - } - -+static void strbuf_add_sanitized(struct strbuf *dest, const char *src, int n) -+{ -+ strbuf_grow(dest, n); -+ for (; n && *src; src++, n--) { -+ if (!iscntrl(*src) || *src == '\t' || *src == '\n') -+ strbuf_addch(dest, *src); -+ else { -+ strbuf_addch(dest, '^'); -+ strbuf_addch(dest, 0x40 + *src); -+ } -+ } -+} -+ - /* - * Optionally highlight one keyword in remote output if it appears at the start - * of the line. This should be called for a single line only, which is -@@ -81,7 +94,7 @@ static void maybe_colorize_sideband(struct strbuf *dest, const char *src, int n) - int i; - - if (!want_color_stderr(use_sideband_colors())) { -- strbuf_add(dest, src, n); -+ strbuf_add_sanitized(dest, src, n); - return; - } - -@@ -114,7 +127,7 @@ static void maybe_colorize_sideband(struct strbuf *dest, const char *src, int n) - } - } - -- strbuf_add(dest, src, n); -+ strbuf_add_sanitized(dest, src, n); - } - - -diff --git a/t/t5409-colorize-remote-messages.sh b/t/t5409-colorize-remote-messages.sh -index fa5de4500a..d0745c391b 100755 ---- a/t/t5409-colorize-remote-messages.sh -+++ b/t/t5409-colorize-remote-messages.sh -@@ -98,4 +98,16 @@ test_expect_success 'fallback to color.ui' ' - grep "error: error" decoded - ' - -+test_expect_success 'disallow (color) control sequences in sideband' ' -+ write_script .git/color-me-surprised <<-\EOF && -+ printf "error: Have you \\033[31mread\\033[m this?\\n" >&2 -+ exec "$@" -+ EOF -+ test_config_global uploadPack.packObjectshook ./color-me-surprised && -+ test_commit need-at-least-one-commit && -+ git clone --no-local . throw-away 2>stderr && -+ test_decode_color decoded && -+ test_grep ! RED decoded -+' -+ - test_done --- -2.49.0 - - -From ab2eb6c0043c643935ea0fbdaed68e15bc831b11 Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Wed, 6 Nov 2024 21:07:51 +0100 -Subject: [PATCH 2/4] sideband: introduce an "escape hatch" to allow control - characters - -The preceding commit fixed the vulnerability whereas sideband messages -(that are under the control of the remote server) could contain ANSI -escape sequences that would be sent to the terminal verbatim. - -However, this fix may not be desirable under all circumstances, e.g. -when remote servers deliberately add coloring to their messages to -increase their urgency. - -To help with those use cases, give users a way to opt-out of the -protections: `sideband.allowControlCharacters`. - -Signed-off-by: Johannes Schindelin ---- - Documentation/config.adoc | 2 ++ - Documentation/config/sideband.adoc | 5 +++++ - sideband.c | 10 ++++++++++ - t/t5409-colorize-remote-messages.sh | 8 +++++++- - 4 files changed, 24 insertions(+), 1 deletion(-) - create mode 100644 Documentation/config/sideband.adoc - -diff --git a/Documentation/config.adoc b/Documentation/config.adoc -index cc769251be..a8b04c4e51 100644 ---- a/Documentation/config.adoc -+++ b/Documentation/config.adoc -@@ -522,6 +522,8 @@ include::config/sequencer.adoc[] - - include::config/showbranch.adoc[] - -+include::config/sideband.adoc[] -+ - include::config/sparse.adoc[] - - include::config/splitindex.adoc[] -diff --git a/Documentation/config/sideband.adoc b/Documentation/config/sideband.adoc -new file mode 100644 -index 0000000000..3fb5045cd7 ---- /dev/null -+++ b/Documentation/config/sideband.adoc -@@ -0,0 +1,5 @@ -+sideband.allowControlCharacters:: -+ By default, control characters that are delivered via the sideband -+ are masked, to prevent potentially unwanted ANSI escape sequences -+ from being sent to the terminal. Use this config setting to override -+ this behavior. -diff --git a/sideband.c b/sideband.c -index 81b1ff0805..d1c326fa19 100644 ---- a/sideband.c -+++ b/sideband.c -@@ -26,6 +26,8 @@ static struct keyword_entry keywords[] = { - { "error", GIT_COLOR_BOLD_RED }, - }; - -+static int allow_control_characters; -+ - /* Returns a color setting (GIT_COLOR_NEVER, etc). */ - static int use_sideband_colors(void) - { -@@ -39,6 +41,9 @@ static int use_sideband_colors(void) - if (use_sideband_colors_cached >= 0) - return use_sideband_colors_cached; - -+ git_config_get_bool("sideband.allowcontrolcharacters", -+ &allow_control_characters); -+ - if (!git_config_get_string_tmp(key, &value)) - use_sideband_colors_cached = git_config_colorbool(key, value); - else if (!git_config_get_string_tmp("color.ui", &value)) -@@ -68,6 +73,11 @@ void list_config_color_sideband_slots(struct string_list *list, const char *pref - - static void strbuf_add_sanitized(struct strbuf *dest, const char *src, int n) - { -+ if (allow_control_characters) { -+ strbuf_add(dest, src, n); -+ return; -+ } -+ - strbuf_grow(dest, n); - for (; n && *src; src++, n--) { - if (!iscntrl(*src) || *src == '\t' || *src == '\n') -diff --git a/t/t5409-colorize-remote-messages.sh b/t/t5409-colorize-remote-messages.sh -index d0745c391b..fb31e85254 100755 ---- a/t/t5409-colorize-remote-messages.sh -+++ b/t/t5409-colorize-remote-messages.sh -@@ -105,9 +105,15 @@ test_expect_success 'disallow (color) control sequences in sideband' ' - EOF - test_config_global uploadPack.packObjectshook ./color-me-surprised && - test_commit need-at-least-one-commit && -+ - git clone --no-local . throw-away 2>stderr && - test_decode_color decoded && -- test_grep ! RED decoded -+ test_grep ! RED decoded && -+ -+ rm -rf throw-away && -+ git -c sideband.allowControlCharacters clone --no-local . throw-away 2>stderr && -+ test_decode_color decoded && -+ test_grep RED decoded - ' - - test_done --- -2.49.0 - - -From a369672c2e6974590ad0561854318a4f255e6893 Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Mon, 18 Nov 2024 21:42:57 +0100 -Subject: [PATCH 3/4] sideband: do allow ANSI color sequences by default - -The preceding two commits introduced special handling of the sideband -channel to neutralize ANSI escape sequences before sending the payload -to the terminal, and `sideband.allowControlCharacters` to override that -behavior. - -However, some `pre-receive` hooks that are actively used in practice -want to color their messages and therefore rely on the fact that Git -passes them through to the terminal. - -In contrast to other ANSI escape sequences, it is highly unlikely that -coloring sequences can be essential tools in attack vectors that mislead -Git users e.g. by hiding crucial information. - -Therefore we can have both: Continue to allow ANSI coloring sequences to -be passed to the terminal, and neutralize all other ANSI escape -sequences. - -Signed-off-by: Johannes Schindelin ---- - Documentation/config/sideband.adoc | 17 ++++++-- - sideband.c | 61 ++++++++++++++++++++++++++--- - t/t5409-colorize-remote-messages.sh | 16 +++++++- - 3 files changed, 84 insertions(+), 10 deletions(-) - -diff --git a/Documentation/config/sideband.adoc b/Documentation/config/sideband.adoc -index 3fb5045cd7..f347fd6b33 100644 ---- a/Documentation/config/sideband.adoc -+++ b/Documentation/config/sideband.adoc -@@ -1,5 +1,16 @@ - sideband.allowControlCharacters:: - By default, control characters that are delivered via the sideband -- are masked, to prevent potentially unwanted ANSI escape sequences -- from being sent to the terminal. Use this config setting to override -- this behavior. -+ are masked, except ANSI color sequences. This prevents potentially -+ unwanted ANSI escape sequences from being sent to the terminal. Use -+ this config setting to override this behavior: -++ -+-- -+ color:: -+ Allow ANSI color sequences, line feeds and horizontal tabs, -+ but mask all other control characters. This is the default. -+ false:: -+ Mask all control characters other than line feeds and -+ horizontal tabs. -+ true:: -+ Allow all control characters to be sent to the terminal. -+-- -diff --git a/sideband.c b/sideband.c -index d1c326fa19..9084ca234d 100644 ---- a/sideband.c -+++ b/sideband.c -@@ -26,7 +26,11 @@ static struct keyword_entry keywords[] = { - { "error", GIT_COLOR_BOLD_RED }, - }; - --static int allow_control_characters; -+static enum { -+ ALLOW_NO_CONTROL_CHARACTERS = 0, -+ ALLOW_ALL_CONTROL_CHARACTERS = 1, -+ ALLOW_ANSI_COLOR_SEQUENCES = 2 -+} allow_control_characters = ALLOW_ANSI_COLOR_SEQUENCES; - - /* Returns a color setting (GIT_COLOR_NEVER, etc). */ - static int use_sideband_colors(void) -@@ -41,8 +45,24 @@ static int use_sideband_colors(void) - if (use_sideband_colors_cached >= 0) - return use_sideband_colors_cached; - -- git_config_get_bool("sideband.allowcontrolcharacters", -- &allow_control_characters); -+ switch (git_config_get_maybe_bool("sideband.allowcontrolcharacters", &i)) { -+ case 0: /* Boolean value */ -+ allow_control_characters = i ? ALLOW_ALL_CONTROL_CHARACTERS : -+ ALLOW_NO_CONTROL_CHARACTERS; -+ break; -+ case -1: /* non-Boolean value */ -+ if (git_config_get_string_tmp("sideband.allowcontrolcharacters", -+ &value)) -+ ; /* huh? `get_maybe_bool()` returned -1 */ -+ else if (!strcmp(value, "color")) -+ allow_control_characters = ALLOW_ANSI_COLOR_SEQUENCES; -+ else -+ warning(_("unrecognized value for `sideband." -+ "allowControlCharacters`: '%s'"), value); -+ break; -+ default: -+ break; /* not configured */ -+ } - - if (!git_config_get_string_tmp(key, &value)) - use_sideband_colors_cached = git_config_colorbool(key, value); -@@ -71,9 +91,37 @@ void list_config_color_sideband_slots(struct string_list *list, const char *pref - list_config_item(list, prefix, keywords[i].keyword); - } - -+static int handle_ansi_color_sequence(struct strbuf *dest, const char *src, int n) -+{ -+ int i; -+ -+ /* -+ * Valid ANSI color sequences are of the form -+ * -+ * ESC [ [ [; ]*] m -+ */ -+ -+ if (allow_control_characters != ALLOW_ANSI_COLOR_SEQUENCES || -+ n < 3 || src[0] != '\x1b' || src[1] != '[') -+ return 0; -+ -+ for (i = 2; i < n; i++) { -+ if (src[i] == 'm') { -+ strbuf_add(dest, src, i + 1); -+ return i; -+ } -+ if (!isdigit(src[i]) && src[i] != ';') -+ break; -+ } -+ -+ return 0; -+} -+ - static void strbuf_add_sanitized(struct strbuf *dest, const char *src, int n) - { -- if (allow_control_characters) { -+ int i; -+ -+ if (allow_control_characters == ALLOW_ALL_CONTROL_CHARACTERS) { - strbuf_add(dest, src, n); - return; - } -@@ -82,7 +130,10 @@ static void strbuf_add_sanitized(struct strbuf *dest, const char *src, int n) - for (; n && *src; src++, n--) { - if (!iscntrl(*src) || *src == '\t' || *src == '\n') - strbuf_addch(dest, *src); -- else { -+ else if ((i = handle_ansi_color_sequence(dest, src, n))) { -+ src += i; -+ n -= i; -+ } else { - strbuf_addch(dest, '^'); - strbuf_addch(dest, 0x40 + *src); - } -diff --git a/t/t5409-colorize-remote-messages.sh b/t/t5409-colorize-remote-messages.sh -index fb31e85254..a755c49a74 100755 ---- a/t/t5409-colorize-remote-messages.sh -+++ b/t/t5409-colorize-remote-messages.sh -@@ -100,7 +100,7 @@ test_expect_success 'fallback to color.ui' ' - - test_expect_success 'disallow (color) control sequences in sideband' ' - write_script .git/color-me-surprised <<-\EOF && -- printf "error: Have you \\033[31mread\\033[m this?\\n" >&2 -+ printf "error: Have you \\033[31mread\\033[m this?\\a\\n" >&2 - exec "$@" - EOF - test_config_global uploadPack.packObjectshook ./color-me-surprised && -@@ -108,12 +108,24 @@ test_expect_success 'disallow (color) control sequences in sideband' ' - - git clone --no-local . throw-away 2>stderr && - test_decode_color decoded && -+ test_grep RED decoded && -+ test_grep "\\^G" stderr && -+ tr -dc "\\007" actual && -+ test_must_be_empty actual && -+ -+ rm -rf throw-away && -+ git -c sideband.allowControlCharacters=false \ -+ clone --no-local . throw-away 2>stderr && -+ test_decode_color decoded && - test_grep ! RED decoded && -+ test_grep "\\^G" stderr && - - rm -rf throw-away && - git -c sideband.allowControlCharacters clone --no-local . throw-away 2>stderr && - test_decode_color decoded && -- test_grep RED decoded -+ test_grep RED decoded && -+ tr -dc "\\007" actual && -+ test_file_not_empty actual - ' - - test_done --- -2.49.0 - - -From b15d2255ed98eb6f75608c2f99f4ea3284ad250e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= -Date: Mon, 24 Mar 2025 10:51:39 +0100 -Subject: [PATCH 4/4] sideband: default to allowControlCharacters=true -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -We don't want to change the default Git behaviour, just add the option -to filter control characters. - -Signed-off-by: Ondřej Pohořelský ---- - Documentation/config/sideband.adoc | 8 ++++---- - sideband.c | 2 +- - t/t5409-colorize-remote-messages.sh | 3 ++- - 3 files changed, 7 insertions(+), 6 deletions(-) - -diff --git a/Documentation/config/sideband.adoc b/Documentation/config/sideband.adoc -index f347fd6b33..a809e2de89 100644 ---- a/Documentation/config/sideband.adoc -+++ b/Documentation/config/sideband.adoc -@@ -1,16 +1,16 @@ - sideband.allowControlCharacters:: - By default, control characters that are delivered via the sideband -- are masked, except ANSI color sequences. This prevents potentially -- unwanted ANSI escape sequences from being sent to the terminal. Use -- this config setting to override this behavior: -+ are NOT masked. Use this config setting to prevent potentially -+ unwanted ANSI escape sequences from being sent to the terminal: - + - -- - color:: - Allow ANSI color sequences, line feeds and horizontal tabs, -- but mask all other control characters. This is the default. -+ but mask all other control characters. - false:: - Mask all control characters other than line feeds and - horizontal tabs. - true:: - Allow all control characters to be sent to the terminal. -+ This is the default. - -- -diff --git a/sideband.c b/sideband.c -index 9084ca234d..456cd3d8bc 100644 ---- a/sideband.c -+++ b/sideband.c -@@ -30,7 +30,7 @@ static enum { - ALLOW_NO_CONTROL_CHARACTERS = 0, - ALLOW_ALL_CONTROL_CHARACTERS = 1, - ALLOW_ANSI_COLOR_SEQUENCES = 2 --} allow_control_characters = ALLOW_ANSI_COLOR_SEQUENCES; -+} allow_control_characters = ALLOW_ALL_CONTROL_CHARACTERS; - - /* Returns a color setting (GIT_COLOR_NEVER, etc). */ - static int use_sideband_colors(void) -diff --git a/t/t5409-colorize-remote-messages.sh b/t/t5409-colorize-remote-messages.sh -index a755c49a74..2d40d8c640 100755 ---- a/t/t5409-colorize-remote-messages.sh -+++ b/t/t5409-colorize-remote-messages.sh -@@ -106,7 +106,8 @@ test_expect_success 'disallow (color) control sequences in sideband' ' - test_config_global uploadPack.packObjectshook ./color-me-surprised && - test_commit need-at-least-one-commit && - -- git clone --no-local . throw-away 2>stderr && -+ git -c sideband.allowControlCharacters=color \ -+ clone --no-local . throw-away 2>stderr && - test_decode_color decoded && - test_grep RED decoded && - test_grep "\\^G" stderr && --- -2.49.0 - diff --git a/git-2.51-sanitize-sideband-channel-messages.patch b/git-2.51-sanitize-sideband-channel-messages.patch new file mode 100644 index 0000000..6a31b6b --- /dev/null +++ b/git-2.51-sanitize-sideband-channel-messages.patch @@ -0,0 +1,274 @@ +From 247950ec070cef60c45a877d24a4770991d1eefc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= +Date: Wed, 20 Aug 2025 09:35:47 +0200 +Subject: [PATCH] sideband: mask control characters +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The output of `git clone` is a vital component for understanding what +has happened when things go wrong. However, these logs are partially +under the control of the remote server (via the "sideband", which +typically contains what the remote `git pack-objects` process sends to +`stderr`), and is currently not sanitized by Git. + +This makes Git susceptible to ANSI escape sequence injection (see +CWE-150, https://cwe.mitre.org/data/definitions/150.html), which allows +attackers to corrupt terminal state, to hide information, and even to +insert characters into the input buffer (i.e. as if the user had typed +those characters). + +To plug this vulnerability, disallow any control character in the +sideband, replacing them instead with the common `^` +(e.g. `^[` for `\x1b`, `^A` for `\x01`). + +There is likely a need for more fine-grained controls instead of using a +"heavy hammer" like this, which will be introduced subsequently. + +Signed-off-by: Johannes Schindelin + +sideband: introduce an "escape hatch" to allow control characters + +The preceding commit fixed the vulnerability whereas sideband messages +(that are under the control of the remote server) could contain ANSI +escape sequences that would be sent to the terminal verbatim. + +However, this fix may not be desirable under all circumstances, e.g. +when remote servers deliberately add coloring to their messages to +increase their urgency. + +To help with those use cases, give users a way to opt-out of the +protections: `sideband.allowControlCharacters`. + +Signed-off-by: Johannes Schindelin + +sideband: do allow ANSI color sequences by default + +The preceding two commits introduced special handling of the sideband +channel to neutralize ANSI escape sequences before sending the payload +to the terminal, and `sideband.allowControlCharacters` to override that +behavior. + +However, some `pre-receive` hooks that are actively used in practice +want to color their messages and therefore rely on the fact that Git +passes them through to the terminal. + +In contrast to other ANSI escape sequences, it is highly unlikely that +coloring sequences can be essential tools in attack vectors that mislead +Git users e.g. by hiding crucial information. + +Therefore we can have both: Continue to allow ANSI coloring sequences to +be passed to the terminal, and neutralize all other ANSI escape +sequences. + +Signed-off-by: Johannes Schindelin + +sideband: default to allowControlCharacters=true + +We don't want to change the default Git behaviour, just add the option +to filter control characters. + +Signed-off-by: Ondřej Pohořelský +--- + Documentation/config.adoc | 2 + + Documentation/config/sideband.adoc | 16 ++++++ + sideband.c | 78 ++++++++++++++++++++++++++++- + t/t5409-colorize-remote-messages.sh | 31 ++++++++++++ + 4 files changed, 125 insertions(+), 2 deletions(-) + create mode 100644 Documentation/config/sideband.adoc + +diff --git a/Documentation/config.adoc b/Documentation/config.adoc +index cc769251be..a8b04c4e51 100644 +--- a/Documentation/config.adoc ++++ b/Documentation/config.adoc +@@ -522,6 +522,8 @@ include::config/sequencer.adoc[] + + include::config/showbranch.adoc[] + ++include::config/sideband.adoc[] ++ + include::config/sparse.adoc[] + + include::config/splitindex.adoc[] +diff --git a/Documentation/config/sideband.adoc b/Documentation/config/sideband.adoc +new file mode 100644 +index 0000000000..a809e2de89 +--- /dev/null ++++ b/Documentation/config/sideband.adoc +@@ -0,0 +1,16 @@ ++sideband.allowControlCharacters:: ++ By default, control characters that are delivered via the sideband ++ are NOT masked. Use this config setting to prevent potentially ++ unwanted ANSI escape sequences from being sent to the terminal: +++ ++-- ++ color:: ++ Allow ANSI color sequences, line feeds and horizontal tabs, ++ but mask all other control characters. ++ false:: ++ Mask all control characters other than line feeds and ++ horizontal tabs. ++ true:: ++ Allow all control characters to be sent to the terminal. ++ This is the default. ++-- +diff --git a/sideband.c b/sideband.c +index 8f15b98a65..461eea0a51 100644 +--- a/sideband.c ++++ b/sideband.c +@@ -26,6 +26,12 @@ static struct keyword_entry keywords[] = { + { "error", GIT_COLOR_BOLD_RED }, + }; + ++static enum { ++ ALLOW_NO_CONTROL_CHARACTERS = 0, ++ ALLOW_ALL_CONTROL_CHARACTERS = 1, ++ ALLOW_ANSI_COLOR_SEQUENCES = 2 ++} allow_control_characters = ALLOW_ALL_CONTROL_CHARACTERS; ++ + /* Returns a color setting (GIT_COLOR_NEVER, etc). */ + static int use_sideband_colors(void) + { +@@ -39,6 +45,25 @@ static int use_sideband_colors(void) + if (use_sideband_colors_cached >= 0) + return use_sideband_colors_cached; + ++ switch (repo_config_get_maybe_bool(the_repository, "sideband.allowcontrolcharacters", &i)) { ++ case 0: /* Boolean value */ ++ allow_control_characters = i ? ALLOW_ALL_CONTROL_CHARACTERS : ++ ALLOW_NO_CONTROL_CHARACTERS; ++ break; ++ case -1: /* non-Boolean value */ ++ if (repo_config_get_string_tmp(the_repository, "sideband.allowcontrolcharacters", ++ &value)) ++ ; /* huh? `get_maybe_bool()` returned -1 */ ++ else if (!strcmp(value, "color")) ++ allow_control_characters = ALLOW_ANSI_COLOR_SEQUENCES; ++ else ++ warning(_("unrecognized value for `sideband." ++ "allowControlCharacters`: '%s'"), value); ++ break; ++ default: ++ break; /* not configured */ ++ } ++ + if (!repo_config_get_string_tmp(the_repository, key, &value)) + use_sideband_colors_cached = git_config_colorbool(key, value); + else if (!repo_config_get_string_tmp(the_repository, "color.ui", &value)) +@@ -66,6 +91,55 @@ void list_config_color_sideband_slots(struct string_list *list, const char *pref + list_config_item(list, prefix, keywords[i].keyword); + } + ++static int handle_ansi_color_sequence(struct strbuf *dest, const char *src, int n) ++{ ++ int i; ++ ++ /* ++ * Valid ANSI color sequences are of the form ++ * ++ * ESC [ [ [; ]*] m ++ */ ++ ++ if (allow_control_characters != ALLOW_ANSI_COLOR_SEQUENCES || ++ n < 3 || src[0] != '\x1b' || src[1] != '[') ++ return 0; ++ ++ for (i = 2; i < n; i++) { ++ if (src[i] == 'm') { ++ strbuf_add(dest, src, i + 1); ++ return i; ++ } ++ if (!isdigit(src[i]) && src[i] != ';') ++ break; ++ } ++ ++ return 0; ++} ++ ++static void strbuf_add_sanitized(struct strbuf *dest, const char *src, int n) ++{ ++ int i; ++ ++ if (allow_control_characters == ALLOW_ALL_CONTROL_CHARACTERS) { ++ strbuf_add(dest, src, n); ++ return; ++ } ++ ++ strbuf_grow(dest, n); ++ for (; n && *src; src++, n--) { ++ if (!iscntrl(*src) || *src == '\t' || *src == '\n') ++ strbuf_addch(dest, *src); ++ else if ((i = handle_ansi_color_sequence(dest, src, n))) { ++ src += i; ++ n -= i; ++ } else { ++ strbuf_addch(dest, '^'); ++ strbuf_addch(dest, 0x40 + *src); ++ } ++ } ++} ++ + /* + * Optionally highlight one keyword in remote output if it appears at the start + * of the line. This should be called for a single line only, which is +@@ -81,7 +155,7 @@ static void maybe_colorize_sideband(struct strbuf *dest, const char *src, int n) + int i; + + if (!want_color_stderr(use_sideband_colors())) { +- strbuf_add(dest, src, n); ++ strbuf_add_sanitized(dest, src, n); + return; + } + +@@ -114,7 +188,7 @@ static void maybe_colorize_sideband(struct strbuf *dest, const char *src, int n) + } + } + +- strbuf_add(dest, src, n); ++ strbuf_add_sanitized(dest, src, n); + } + + +diff --git a/t/t5409-colorize-remote-messages.sh b/t/t5409-colorize-remote-messages.sh +index fa5de4500a..2d40d8c640 100755 +--- a/t/t5409-colorize-remote-messages.sh ++++ b/t/t5409-colorize-remote-messages.sh +@@ -98,4 +98,35 @@ test_expect_success 'fallback to color.ui' ' + grep "error: error" decoded + ' + ++test_expect_success 'disallow (color) control sequences in sideband' ' ++ write_script .git/color-me-surprised <<-\EOF && ++ printf "error: Have you \\033[31mread\\033[m this?\\a\\n" >&2 ++ exec "$@" ++ EOF ++ test_config_global uploadPack.packObjectshook ./color-me-surprised && ++ test_commit need-at-least-one-commit && ++ ++ git -c sideband.allowControlCharacters=color \ ++ clone --no-local . throw-away 2>stderr && ++ test_decode_color decoded && ++ test_grep RED decoded && ++ test_grep "\\^G" stderr && ++ tr -dc "\\007" actual && ++ test_must_be_empty actual && ++ ++ rm -rf throw-away && ++ git -c sideband.allowControlCharacters=false \ ++ clone --no-local . throw-away 2>stderr && ++ test_decode_color decoded && ++ test_grep ! RED decoded && ++ test_grep "\\^G" stderr && ++ ++ rm -rf throw-away && ++ git -c sideband.allowControlCharacters clone --no-local . throw-away 2>stderr && ++ test_decode_color decoded && ++ test_grep RED decoded && ++ tr -dc "\\007" actual && ++ test_file_not_empty actual ++' ++ + test_done +-- +2.50.1 + diff --git a/git.spec b/git.spec index d19d51f..ec36e59 100644 --- a/git.spec +++ b/git.spec @@ -78,8 +78,8 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.50.1 -Release: 2%{?dist} +Version: 2.51.0 +Release: 1%{?dist} Summary: Fast Version Control System 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/ @@ -137,7 +137,7 @@ Patch5: git-test-apache-davlockdbtype-config.patch # The default behaviour of Git remains unchanged. # # https://github.com/gitgitgadget/git/pull/1853 -Patch6: git-2.49-sanitize-sideband-channel-messages.patch +Patch6: git-2.51-sanitize-sideband-channel-messages.patch %if %{with docs} # pod2man is needed to build Git.3pm @@ -740,13 +740,6 @@ 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 -mkdir -p %{buildroot}%{_datadir}/git-core/contrib -mv contrib/hooks %{buildroot}%{_datadir}/git-core/contrib -pushd contrib > /dev/null -ln -s ../../../git-core/contrib/hooks -popd > /dev/null - # Install git-prompt.sh mkdir -p %{buildroot}%{_datadir}/git-core/contrib/completion install -pm 644 contrib/completion/git-prompt.sh \ @@ -936,11 +929,6 @@ rmdir --ignore-fail-on-non-empty "$testdir" %files -f bin-man-doc-git-files %{_datadir}/git-core/contrib/diff-highlight -%{_datadir}/git-core/contrib/hooks/update-paranoid -%{_datadir}/git-core/contrib/hooks/setgitperms.perl -%{_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! @@ -952,11 +940,6 @@ rmdir --ignore-fail-on-non-empty "$testdir" %license COPYING # 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 %{bash_completions_dir}/git %{_datadir}/git-core/ @@ -966,7 +949,6 @@ rmdir --ignore-fail-on-non-empty "$testdir" %exclude %{_pkgdocdir}/contrib/*/*.py[co] %endif # endif rhel <= 7 -%{_pkgdocdir}/contrib/hooks %if %{with libsecret} %files credential-libsecret @@ -1063,6 +1045,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Wed Aug 20 2025 Ondřej Pohořelský - 2.51.0-1 +- update to 2.51.0 + * Wed Jul 23 2025 Fedora Release Engineering - 2.50.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild diff --git a/sources b/sources index 8e5e30a..9d8afae 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.50.1.tar.xz) = 09f37290c0d4d074b97363f4a4be1813426e93ac3fa993c4d671bb1462bcc9335713c17d1442196a35205a603eeb052662382935d27498875a251f4fe86f6b36 -SHA512 (git-2.50.1.tar.sign) = f03a588b4108a2f0eae949d8870a3f16da18dfdf23de547aeaa25cdbccf668cfe89d49bbfb3869571b261738482f32002d83b2760415d4c04a0285273b18e828 +SHA512 (git-2.51.0.tar.xz) = 2b8c59589266c0c9e58a9f4fda4a970a8a492e2e0ecbafc414fcfacac4a04251f0115b3676f4599a415b53906f1dea312b18a42e9bde455286abd62ec327beaf +SHA512 (git-2.51.0.tar.sign) = 1fb0d30fb68227ec8a13364b07c3d4468269a2912a746d75704146690115cd9e13c41be4e6e97f65fc5fce40f433456a5e2529f28fe04d6280557970189ac135 From 4cf7527c991233a0316fdbe4cfd60bbc84e0b859 Mon Sep 17 00:00:00 2001 From: Yanko Kaneti Date: Thu, 21 Aug 2025 16:46:57 +0300 Subject: [PATCH 39/45] Gitk can now work with tcl/tk 9 --- git.spec | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/git.spec b/git.spec index ec36e59..1e420f8 100644 --- a/git.spec +++ b/git.spec @@ -436,9 +436,7 @@ Summary: Git repository browser BuildArch: noarch Requires: git = %{version}-%{release} Requires: git-gui = %{version}-%{release} -# Keep gitk on tcl/tk 8.x until its ready for 9 (also see below in config.mk) -# https://github.com/j6t/gitk/issues/5 -Requires: tk8 >= 8.4 +Requires: tk %description -n gitk %{summary}. @@ -596,10 +594,6 @@ gitwebdir = %{_localstatedir}/www/git DEFAULT_TEST_TARGET = prove GIT_PROVE_OPTS = --verbose --normalize %{?_smp_mflags} --formatter=TAP::Formatter::File GIT_TEST_OPTS = -x --verbose-log - -# Keep gitk on tcl/tk 8.x until its ready for 9 (see more above in gitk requires) -TCLTK_PATH = wish8 -TCL_PATH = tclsh8 EOF # Filter bogus perl requires From 8e9df669b84ad39bdefbb31dabfac3b4fa09ab4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Thu, 21 Aug 2025 18:33:27 +0200 Subject: [PATCH 40/45] exclude sample hook files from automatic dependency detection --- git.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/git.spec b/git.spec index 1e420f8..7111a62 100644 --- a/git.spec +++ b/git.spec @@ -79,7 +79,7 @@ Name: git Version: 2.51.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Fast Version Control System 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/ @@ -605,6 +605,9 @@ EOF %endif # endif ! defined perl_bootstrap +# Exclude sample hook files from automatic dependency detection +%global __requires_exclude_from ^%{_datadir}/git-core/templates/hooks/.*sample$ + # 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,/} @@ -1039,6 +1042,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Thu Aug 21 2025 Ondřej Pohořelský - 2.51.0-2 +- exclude sample hook files from automatic dependency detection + * Wed Aug 20 2025 Ondřej Pohořelský - 2.51.0-1 - update to 2.51.0 From ba249bb3a1b6ce3fa8636a5ea71ae0a1d41ac58c Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Sun, 12 Oct 2025 18:21:23 -0400 Subject: [PATCH 41/45] Revbump for tcl/tk 9 Currently, the rawhide and f43 branches both have -2, but the tcl/tk 9 change is only on rawhide. --- git.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/git.spec b/git.spec index 7111a62..e337059 100644 --- a/git.spec +++ b/git.spec @@ -79,7 +79,7 @@ Name: git Version: 2.51.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Fast Version Control System 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/ @@ -1042,6 +1042,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Sun Oct 12 2025 Yaakov Selkowitz - 2.51.0-3 +- Revbump for tcl/tk 9 + * Thu Aug 21 2025 Ondřej Pohořelský - 2.51.0-2 - exclude sample hook files from automatic dependency detection From 8f542b0496a06ad6fed89e53c4d2e2a33ffe97c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Thu, 23 Oct 2025 09:34:39 +0200 Subject: [PATCH 42/45] update to 2.51.1 --- git.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/git.spec b/git.spec index e337059..37c2a53 100644 --- a/git.spec +++ b/git.spec @@ -78,8 +78,8 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.51.0 -Release: 3%{?dist} +Version: 2.51.1 +Release: 1%{?dist} Summary: Fast Version Control System 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/ @@ -1042,6 +1042,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Thu Oct 23 2025 Ondřej Pohořelský - 2.51.1-1 +- update to 2.51.1 + * Sun Oct 12 2025 Yaakov Selkowitz - 2.51.0-3 - Revbump for tcl/tk 9 diff --git a/sources b/sources index 9d8afae..2fe883b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.51.0.tar.xz) = 2b8c59589266c0c9e58a9f4fda4a970a8a492e2e0ecbafc414fcfacac4a04251f0115b3676f4599a415b53906f1dea312b18a42e9bde455286abd62ec327beaf -SHA512 (git-2.51.0.tar.sign) = 1fb0d30fb68227ec8a13364b07c3d4468269a2912a746d75704146690115cd9e13c41be4e6e97f65fc5fce40f433456a5e2529f28fe04d6280557970189ac135 +SHA512 (git-2.51.1.tar.xz) = bc22d26bbfad4a549d2fb6bed11eb019c2dee607c86bf8faaa986774e526e5b367d80c9a79ab50358624634d840e8e0d27e0b46411d1aabbf76728b7a7f138dd +SHA512 (git-2.51.1.tar.sign) = b22a9ab0db57e00203181ee0138350b0dd7239b68f5ed5c1f2acfcf5f56993f0937150d3d74c27e2fdf6e6daa8eccc682353c957f9dbdd0d2dcbd870b5022aca From 6c89b0ef9df4c8238b1062f52fb4bbd0e06f5cf0 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Mon, 17 Nov 2025 11:55:29 -0500 Subject: [PATCH 43/45] Build with highlight on all arches on EL8+ While highlight was only built/shipped on some arches in RHEL 7 Optional, as of RHEL 8 it is built on all arches (albeit not shipped as of 10). --- git.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git.spec b/git.spec index 37c2a53..f634419 100644 --- a/git.spec +++ b/git.spec @@ -232,7 +232,7 @@ BuildRequires: glibc-langpack-is BuildRequires: gnupg2-smime %endif # endif fedora or el >= 9 -%if 0%{?fedora} || ( 0%{?rhel} >= 7 && ( "%{_arch}" == "ppc64le" || "%{_arch}" == "x86_64" ) ) +%if 0%{?fedora} || 0%{?rhel} >= 8 || ( 0%{?rhel} == 7 && ( "%{_arch}" == "ppc64le" || "%{_arch}" == "x86_64" ) ) BuildRequires: highlight %endif # endif fedora or el7+ (ppc64le/x86_64) From c488c27117d176c90e836715aed9947b2e3e6799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Thu, 20 Nov 2025 13:40:48 +0100 Subject: [PATCH 44/45] update to 2.52.0 --- ...2-sanitize-sideband-channel-messages.patch | 21 ++++++++++--------- git.spec | 14 ++++++++----- sources | 4 ++-- 3 files changed, 22 insertions(+), 17 deletions(-) rename git-2.51-sanitize-sideband-channel-messages.patch => git-2.52-sanitize-sideband-channel-messages.patch (94%) diff --git a/git-2.51-sanitize-sideband-channel-messages.patch b/git-2.52-sanitize-sideband-channel-messages.patch similarity index 94% rename from git-2.51-sanitize-sideband-channel-messages.patch rename to git-2.52-sanitize-sideband-channel-messages.patch index 6a31b6b..786cb39 100644 --- a/git-2.51-sanitize-sideband-channel-messages.patch +++ b/git-2.52-sanitize-sideband-channel-messages.patch @@ -1,6 +1,6 @@ -From 247950ec070cef60c45a877d24a4770991d1eefc Mon Sep 17 00:00:00 2001 +From 65e88e659008e2cbf79cf44975406ff0d569a3a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= -Date: Wed, 20 Aug 2025 09:35:47 +0200 +Date: Thu, 20 Nov 2025 12:24:59 +0100 Subject: [PATCH] sideband: mask control characters MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -78,10 +78,10 @@ Signed-off-by: Ondřej Pohořelský create mode 100644 Documentation/config/sideband.adoc diff --git a/Documentation/config.adoc b/Documentation/config.adoc -index cc769251be..a8b04c4e51 100644 +index 62eebe7c54..dcea3c0c15 100644 --- a/Documentation/config.adoc +++ b/Documentation/config.adoc -@@ -522,6 +522,8 @@ include::config/sequencer.adoc[] +@@ -523,6 +523,8 @@ include::config/sequencer.adoc[] include::config/showbranch.adoc[] @@ -92,7 +92,7 @@ index cc769251be..a8b04c4e51 100644 include::config/splitindex.adoc[] diff --git a/Documentation/config/sideband.adoc b/Documentation/config/sideband.adoc new file mode 100644 -index 0000000000..a809e2de89 +index 0000000000..c9ba24a02c --- /dev/null +++ b/Documentation/config/sideband.adoc @@ -0,0 +1,16 @@ @@ -112,8 +112,9 @@ index 0000000000..a809e2de89 + Allow all control characters to be sent to the terminal. + This is the default. +-- +\ No newline at end of file diff --git a/sideband.c b/sideband.c -index 8f15b98a65..461eea0a51 100644 +index ea7c25211e..88d1b44a7a 100644 --- a/sideband.c +++ b/sideband.c @@ -26,6 +26,12 @@ static struct keyword_entry keywords[] = { @@ -127,10 +128,10 @@ index 8f15b98a65..461eea0a51 100644 +} allow_control_characters = ALLOW_ALL_CONTROL_CHARACTERS; + /* Returns a color setting (GIT_COLOR_NEVER, etc). */ - static int use_sideband_colors(void) + static enum git_colorbool use_sideband_colors(void) { -@@ -39,6 +45,25 @@ static int use_sideband_colors(void) - if (use_sideband_colors_cached >= 0) +@@ -39,6 +45,25 @@ static enum git_colorbool use_sideband_colors(void) + if (use_sideband_colors_cached != GIT_COLOR_UNKNOWN) return use_sideband_colors_cached; + switch (repo_config_get_maybe_bool(the_repository, "sideband.allowcontrolcharacters", &i)) { @@ -270,5 +271,5 @@ index fa5de4500a..2d40d8c640 100755 + test_done -- -2.50.1 +2.51.1 diff --git a/git.spec b/git.spec index f634419..df511dc 100644 --- a/git.spec +++ b/git.spec @@ -78,7 +78,7 @@ %global _package_note_file %{_builddir}/%{name}-%{real_version}/.package_note-%{name}-%{version}-%{release}.%{_arch}.ld Name: git -Version: 2.51.1 +Version: 2.52.0 Release: 1%{?dist} Summary: Fast Version Control System License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT @@ -137,7 +137,7 @@ Patch5: git-test-apache-davlockdbtype-config.patch # The default behaviour of Git remains unchanged. # # https://github.com/gitgitgadget/git/pull/1853 -Patch6: git-2.51-sanitize-sideband-channel-messages.patch +Patch6: git-2.52-sanitize-sideband-channel-messages.patch %if %{with docs} # pod2man is needed to build Git.3pm @@ -875,10 +875,11 @@ GIT_SKIP_TESTS="$GIT_SKIP_TESTS t5300.1[02348] t5300.2[03459] t5300.30 t5300.4[5 # Skip tests which fail on s390x # # The following tests are failing on s390x. -# https://lore.kernel.org/git/Z8dIZmscTdi8dZAY@teonanacatl.net/ +# https://lore.kernel.org/git/4dc4c8cd-c0cc-4784-8fcf-defa3a051087@mit.edu/ # -# t5620.4 'do partial clone 2, backfill min batch size' -GIT_SKIP_TESTS="$GIT_SKIP_TESTS t5620.4" +# t8020.16 'cross merge boundaries in blaming' +# t8020.19 'last-modified merge undoes changes' +GIT_SKIP_TESTS="$GIT_SKIP_TESTS t8020.16 t8020.19" %endif # endif "%{_arch}" == "s390x" export GIT_SKIP_TESTS @@ -1042,6 +1043,9 @@ rmdir --ignore-fail-on-non-empty "$testdir" %{?with_docs:%{_pkgdocdir}/git-svn.html} %changelog +* Thu Nov 20 2025 Ondřej Pohořelský - 2.52.0-1 +- update to 2.52.0 + * Thu Oct 23 2025 Ondřej Pohořelský - 2.51.1-1 - update to 2.51.1 diff --git a/sources b/sources index 2fe883b..4a04f56 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (git-2.51.1.tar.xz) = bc22d26bbfad4a549d2fb6bed11eb019c2dee607c86bf8faaa986774e526e5b367d80c9a79ab50358624634d840e8e0d27e0b46411d1aabbf76728b7a7f138dd -SHA512 (git-2.51.1.tar.sign) = b22a9ab0db57e00203181ee0138350b0dd7239b68f5ed5c1f2acfcf5f56993f0937150d3d74c27e2fdf6e6daa8eccc682353c957f9dbdd0d2dcbd870b5022aca +SHA512 (git-2.52.0.tar.xz) = 965e5ebb72d1f080d64e34bdb75f0bb1689c9dd41dcf63b020d986bad49808ac09bfb1115962bc0c5b95bac8622367ac4cd09aa89266f73d2137fe94c90dd3ed +SHA512 (git-2.52.0.tar.sign) = a5a68ce131a5763650c477ec01a4de958dd6a946bdea0f613e26bdab41d2df6b3ca63f9028bbe603bf0c834bd415c86e6c616b1ff08cc48aa7c3c61a37b24b74 From da35363f19a689204ff3af77b85869ae857346b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= Date: Fri, 12 Dec 2025 13:32:24 +0100 Subject: [PATCH 45/45] remove unused buildrequires --- git.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/git.spec b/git.spec index df511dc..49c55d0 100644 --- a/git.spec +++ b/git.spec @@ -149,7 +149,6 @@ BuildRequires: rubygem-asciidoctor BuildRequires: asciidoc >= 8.4.1 %endif # endif with asciidoctor -BuildRequires: perl(File::Compare) BuildRequires: xmlto %if %{with linkcheck} BuildRequires: linkchecker @@ -179,7 +178,6 @@ BuildRequires: openssl-devel BuildRequires: pcre2-devel BuildRequires: perl(Error) BuildRequires: perl(lib) -BuildRequires: perl(Test) %if %{use_perl_generators} BuildRequires: perl-generators %endif