[createrepo] add patch from Ian to fix deadlock in deltarpm worker code

Dennis Gilmore ausil at fedoraproject.org
Mon Jan 19 22:04:37 UTC 2015


commit 33eccba37450ea4fd43823d90902238cc292ffc7
Author: Dennis Gilmore <dennis at ausil.us>
Date:   Mon Jan 19 16:05:04 2015 -0600

    add patch from Ian to fix deadlock in deltarpm worker code

 createrepo-maxdelta-deadlock-fix.patch |   14 ++++++++++++++
 createrepo.spec                        |    7 ++++++-
 2 files changed, 20 insertions(+), 1 deletions(-)
---
diff --git a/createrepo-maxdelta-deadlock-fix.patch b/createrepo-maxdelta-deadlock-fix.patch
new file mode 100644
index 0000000..af6df6a
--- /dev/null
+++ b/createrepo-maxdelta-deadlock-fix.patch
@@ -0,0 +1,14 @@
+diff -ur createrepo-0.10.3.orig/createrepo/__init__.py createrepo-0.10.3/createrepo/__init__.py
+--- createrepo-0.10.3.orig/createrepo/__init__.py	2015-01-18 10:32:34.762439562 -0600
++++ createrepo-0.10.3/createrepo/__init__.py	2015-01-18 10:46:42.927311490 -0600
+@@ -801,7 +801,9 @@
+                 try:
+                     pkgfile = pkgfiles_proxy.pop()
+                     po = repo_obj.read_in_package(pkgfile, pkgpath=pkgpath, reldir=reldir)
+-                    pkgfiles_withsize_proxy.append([ pkgfile, po.size ])
++                    if po.size <= repo_obj.conf.max_concurrent_delta_rpm_size:
++                        # Only add a package if it is small enough to fit under our max delta size
++                        pkgfiles_withsize_proxy.append([ pkgfile, po.size ])
+                 except IndexError:
+                     break
+ 
diff --git a/createrepo.spec b/createrepo.spec
index 43be068..9b061a2 100644
--- a/createrepo.spec
+++ b/createrepo.spec
@@ -15,12 +15,13 @@ BuildRequires: bash-completion
 Summary: Creates a common metadata repository
 Name: createrepo
 Version: 0.10.3
-Release: 5%{?dist}
+Release: 6%{?dist}
 License: GPLv2
 Group: System Environment/Base
 Source: http://createrepo.baseurl.org/download/%{name}-%{version}.tar.gz
 Patch1: ten-changelog-limit.patch
 Patch2: createrepo-HEAD.patch
+Patch3: createrepo-maxdelta-deadlock-fix.patch
 
 URL: http://createrepo.baseurl.org/
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -37,6 +38,7 @@ packages.
 %setup -q
 %patch1 -p0
 %patch2 -p1
+%patch3 -p1
 
 %build
 
@@ -60,6 +62,9 @@ rm -rf $RPM_BUILD_ROOT
 %{python_sitelib}/createrepo
 
 %changelog
+* Mon Jan 18 2015 Dennis Gilmore <dennis at ausil.us> - 0.10.3-6
+- add patch from Ian to fix deadlock in deltarpm worker code
+
 * Tue Jan 13 2015 James Antill <james at fedoraproject.org> - 0.10.3-5
 - Update to latest HEAD, into the correct patch file :-o
 - Add Ian's parallel deltrarpm support.


More information about the scm-commits mailing list