Skip to contentSkip to conversation

Fix emenlow build failure

PATCH New Mark Hatle 1 participant 2 messages Feb 19, 2011

lore
Share & tools
lore

Mark Hatle

author
#0 lore raw

cover Fix emenlow build failure

It was discovered that RPM had an internal limit of 5 solvedb's. This limit was being exceeded by some configurations and build environments, the emenlow build happened to trigger the failure.

Increased the limit to 20, and added an error message in case we ever exceed the limit again.

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: mhatle/rpm5
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=mhatle/rpm5

Thanks,
Mark Hatle <[email protected]>
---

Mark Hatle (1):
rpm: Increase the number of solvedb's allowed

 meta/recipes-devtools/rpm/rpm/rpm-solvedb.patch |   29 +++++++++++++++++++++++
 meta/recipes-devtools/rpm/rpm_5.4.0.bb          |    3 +-
 2 files changed, 31 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-solvedb.patch
Signature · 1 line
1.7.3.4
author
#1 lore raw

PATCH 1/1 rpm: Increase the number of solvedb's allowed

Increase the number of allowed solvedb's to 20 from the original 5.

We also add an additional error message to RPM incase the 20 is ever exceeded.

---
 meta/recipes-devtools/rpm/rpm/rpm-solvedb.patch |   29 +++++++++++++++++++++++
 meta/recipes-devtools/rpm/rpm_5.4.0.bb          |    3 +-
 2 files changed, 31 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-solvedb.patch
meta/recipes-devtools/rpm/rpm/rpm-solvedb.patch new file +29 -0
new file mode 100644
index 0000000..5c1819c
@@ -0,0 +1,29 @@
+Increase the maximum number of solver databases!
+
+Previously the max was set to 5, up this to 20... this should be more
+then enough for now.. also add an RPM_ERROR message in case we exceed the
+new maximum.
+
+Signed-off-by: Mark Hatle <[email protected]>
+
+diff -urN rpm-5.4.0.orig/rpmio/rpmbag.c rpm-5.4.0/rpmio/rpmbag.c
+--- rpm-5.4.0.orig/rpmio/rpmbag.c	2010-10-17 21:43:55.000000000 -0500
++++ rpm-5.4.0/rpmio/rpmbag.c	2011-02-18 18:46:00.246892502 -0600
+@@ -16,7 +16,7 @@
+ /*@unchecked@*/
+ int _rpmbag_debug = 0;
+ 
+-static size_t _maxnsdbp = 5;
++static size_t _maxnsdbp = 20;
+ 
+ static void rpmbagFini(void * _bag)
+ 	/*@globals fileSystem @*/
+@@ -70,6 +70,8 @@
+ 	sdbp[i] = xcalloc(1, sizeof(*sdbp[i]));
+ 	sdbp[i]->dbmode = dbmode;
+ 	sdbp[i]->_db = _db;
++    } else if (bag && bag->sdbp && bag->nsdbp >= _maxnsdbp) {
++	rpmlog(RPMLOG_ERR, _("Attempted to open more then %d solver databases.  Increase _maxnsdbp in rpmio/rpmbag.c\n"), _maxnsdbp);
+     }
+ 
+     return 0;
meta/recipes-devtools/rpm/rpm_5.4.0.bb +2 -1
index 45dd4e1..ac9df6f 100644
@@ -43,7 +43,7 @@ LICENSE = "LGPL 2.1"
 LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
 
 DEPENDS = "bzip2 zlib python perl db openssl elfutils expat libpcre attr acl popt"
-PR = "r12"
+PR = "r13"
 
 # rpm2cpio is a shell script, which is part of the rpm src.rpm.  It is needed
 # in order to extract the distribution SRPM into a format we can extract...
@@ -55,6 +55,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.0-0.20101229.src.rpm;ex
 	   file://rpm-platform.patch \
 	   file://rpm-showrc.patch \
 	   file://rpm-nofsync.patch \
+	   file://rpm-solvedb.patch \
 	  "
 
 #           file://hdraddorappend.patch \
Signature · 1 line
1.7.3.4