[packages/git-core] up to 2.55.0

atler atler at pld-linux.org
Tue Jul 7 16:26:15 CEST 2026


commit 0b7ca39bd2ae20d0a5a77f798c2590a49397e502
Author: Jan Palus <atler at pld-linux.org>
Date:   Tue Jul 7 16:25:46 2026 +0200

    up to 2.55.0

 child-cleanup.patch | 69 -----------------------------------------------------
 git-core.spec       | 15 +++++++-----
 2 files changed, 9 insertions(+), 75 deletions(-)
---
diff --git a/git-core.spec b/git-core.spec
index 478deae..7d937bb 100644
--- a/git-core.spec
+++ b/git-core.spec
@@ -13,12 +13,12 @@
 Summary:	Distributed version control system focused on speed, effectivity and usability
 Summary(pl.UTF-8):	Rozproszony system śledzenia treści skupiony na szybkości, wydajności i użyteczności
 Name:		git-core
-Version:	2.54.0
-Release:	2
+Version:	2.55.0
+Release:	1
 License:	GPL v2
 Group:		Development/Tools
 Source0:	https://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz
-# Source0-md5:	eb1137f556bd67cb4cea974275e51297
+# Source0-md5:	758c02a1b621cc0868ee0a0d99573e6b
 Source1:	%{name}-gitweb.conf
 Source2:	%{name}-gitweb-httpd.conf
 Source3:	%{name}-gitweb-lighttpd.conf
@@ -30,10 +30,10 @@ Patch0:		%{name}-key-bindings.patch
 Patch1:		%{name}-sysconfdir.patch
 Patch2:		cherry-picked-commitlog.patch
 Patch3:		no-meson-test-check.patch
-Patch4:		child-cleanup.patch
 URL:		http://git-scm.com/
 BuildRequires:	autoconf >= 2.59
 BuildRequires:	automake
+BuildRequires:	cargo
 BuildRequires:	curl-devel
 BuildRequires:	expat-devel
 %if "%{pld_release}" == "ac"
@@ -59,7 +59,8 @@ BuildRequires:	python3-devel
 BuildRequires:	rpm-build >= 4.6
 BuildRequires:	rpm-perlprov >= 4.1-13
 BuildRequires:	rpm-pythonprov
-BuildRequires:	rpmbuild(macros) >= 1.752
+BuildRequires:	rpmbuild(macros) >= 2.050
+BuildRequires:	rust >= 1.49.0
 BuildRequires:	tar >= 1:1.22
 %if %{with tk}
 # wish
@@ -89,6 +90,7 @@ BuildRequires:	subversion
 %endif
 Conflicts:	pdksh < 5.2.14-46
 %endif
+%{?rust_req}
 # git-sh-setup: sane_grep
 Requires:	grep
 # git-pull: printf
@@ -454,7 +456,6 @@ Dopełnianie parametrów komendy git dla powłoki zsh.
 %patch -P1 -p1
 %patch -P2 -p1
 %patch -P3 -p1
-%patch -P4 -p1 -R
 
 # we build things in contrib but want to have it clean for doc purporses, too
 cp -a contrib contrib-doc
@@ -477,6 +478,8 @@ echo "BLK_SHA1=1" >> config.mak
 	GITWEB_LOGO="/gitweb/git-logo.png" \
 	GITWEB_FAVICON="/gitweb/git-favicon.png" \
 	NO_PERL_CPAN_FALLBACKS=1 \
+	CARGO_ARGS="%{__cargo_common_opts} %{!?debug:--release} --target %rust_target --target-dir %{cargo_targetdir}" \
+	RUST_TARGET_DIR="%{cargo_objdir}" \
 	perllibdir=%{perl_vendorlib} \
 	V=1
 
diff --git a/child-cleanup.patch b/child-cleanup.patch
deleted file mode 100644
index 6996667..0000000
--- a/child-cleanup.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From dd3693eb0859274d62feac8047e1d486b3beaf31 Mon Sep 17 00:00:00 2001
-From: Andrew Au <cshung at gmail.com>
-Date: Thu, 12 Mar 2026 21:49:37 +0000
-Subject: [PATCH] transport-helper, connect: use clean_on_exit to reap children
- on abnormal exit
-
-When a long-running service (e.g., a source indexer) runs as PID 1
-inside a container and repeatedly spawns git, git may in turn spawn
-child processes such as git-remote-https or ssh. If git exits abnormally
-(e.g., via exit(128) on a transport error), the normal cleanup paths
-(disconnect_helper, finish_connect) are bypassed, and these children are
-never waited on. The children are reparented to PID 1, which does not
-reap them, so they accumulate as zombies over time.
-
-Set clean_on_exit and wait_after_clean on child_process structs in both
-transport-helper.c and connect.c so that the existing run-command
-cleanup infrastructure handles reaping on any exit path. This avoids
-rolling custom atexit handlers that call finish_command(), which could
-deadlock if the child is blocked waiting for the parent to close a pipe.
-
-The clean_on_exit mechanism sends SIGTERM first, then waits, ensuring
-the child terminates promptly. It also handles signal-based exits, not
-just atexit.
-
-Signed-off-by: Andrew Au <cshung at gmail.com>
-Signed-off-by: Junio C Hamano <gitster at pobox.com>
----
- connect.c          | 4 ++++
- transport-helper.c | 2 ++
- 2 files changed, 6 insertions(+)
-
-diff --git a/connect.c b/connect.c
-index a02583a102..fcd35c5539 100644
---- a/connect.c
-+++ b/connect.c
-@@ -1054,6 +1054,8 @@ static struct child_process *git_proxy_connect(int fd[2], char *host)
- 	strvec_push(&proxy->args, port);
- 	proxy->in = -1;
- 	proxy->out = -1;
-+	proxy->clean_on_exit = 1;
-+	proxy->wait_after_clean = 1;
- 	if (start_command(proxy))
- 		die(_("cannot start proxy %s"), git_proxy_command);
- 	fd[0] = proxy->out; /* read from proxy stdout */
-@@ -1515,6 +1517,8 @@ struct child_process *git_connect(int fd[2], const char *url,
- 		}
- 		strvec_push(&conn->args, cmd.buf);
- 
-+		conn->clean_on_exit = 1;
-+		conn->wait_after_clean = 1;
- 		if (start_command(conn))
- 			die(_("unable to fork"));
- 
-diff --git a/transport-helper.c b/transport-helper.c
-index 4d95d84f9e..570d7c6439 100644
---- a/transport-helper.c
-+++ b/transport-helper.c
-@@ -154,6 +154,8 @@ static struct child_process *get_helper(struct transport *transport)
- 
- 	helper->trace2_child_class = helper->args.v[0]; /* "remote-<name>" */
- 
-+	helper->clean_on_exit = 1;
-+	helper->wait_after_clean = 1;
- 	code = start_command(helper);
- 	if (code < 0 && errno == ENOENT)
- 		die(_("unable to find remote helper for '%s'"), data->name);
--- 
-2.54.0
-
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/git-core.git/commitdiff/0b7ca39bd2ae20d0a5a77f798c2590a49397e502



More information about the pld-cvs-commit mailing list