All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] rpm: update to 4.14.0
@ 2017-12-18 16:00 Alexander Kanavin
  0 siblings, 0 replies; 15+ messages in thread
From: Alexander Kanavin @ 2017-12-18 16:00 UTC (permalink / raw)
  To: openembedded-core

Previously oe-core had a development snapshot of rpm, it's better to update
to something more stable.

Removed patches:
0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch
(upstream is using pkg-config)
0001-When-nice-value-cannot-be-reset-issue-a-notice-inste.patch
(functionality has been moved to a plugin, we disable plugins
for rpm-native)
0012-Use-conditional-to-access-_docdir-in-macros.in.patch
(merged upstream)

Changed patches:
0001-Fix-build-with-musl-C-library.patch
(one previous musl issue has been resolved upstream; another has been added)

Rest of the patches are trivial rebases.

Update the signing oe-selftest so that the reference output matches
the upstream changes.

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
---
 meta/lib/oeqa/selftest/cases/signing.py            |  2 +-
 ...N_ABI-when-searching-for-python-libraries.patch | 30 ----------
 ...code-lib-rpm-as-the-installation-path-for.patch | 20 +++----
 .../files/0001-Fix-build-with-musl-C-library.patch | 66 +++++++---------------
 ...alue-cannot-be-reset-issue-a-notice-inste.patch | 31 ----------
 ...c-remove-static-local-variables-from-buil.patch | 54 +++++++++---------
 ...ire-that-ELF-binaries-are-executable-to-b.patch | 11 ++--
 ...onditional-to-access-_docdir-in-macros.in.patch | 36 ------------
 .../0013-Add-a-new-option-alldeps-to-rpmdeps.patch | 17 +++---
 .../rpm/{rpm_git.bb => rpm_4.14.0.bb}              |  8 +--
 10 files changed, 76 insertions(+), 199 deletions(-)
 delete mode 100644 meta/recipes-devtools/rpm/files/0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch
 delete mode 100644 meta/recipes-devtools/rpm/files/0001-When-nice-value-cannot-be-reset-issue-a-notice-inste.patch
 delete mode 100644 meta/recipes-devtools/rpm/files/0012-Use-conditional-to-access-_docdir-in-macros.in.patch
 rename meta/recipes-devtools/rpm/{rpm_git.bb => rpm_4.14.0.bb} (93%)

diff --git a/meta/lib/oeqa/selftest/cases/signing.py b/meta/lib/oeqa/selftest/cases/signing.py
index b3d1a8292ec..a750cfc7b28 100644
--- a/meta/lib/oeqa/selftest/cases/signing.py
+++ b/meta/lib/oeqa/selftest/cases/signing.py
@@ -87,7 +87,7 @@ class Signing(OESelftestTestCase):
         ret = runCmd('%s/rpmkeys --define "_dbpath %s" --checksig %s' %
                      (staging_bindir_native, rpmdb, pkg_deploy))
         # tmp/deploy/rpm/i586/ed-1.9-r0.i586.rpm: rsa sha1 md5 OK
-        self.assertIn('rsa sha1 (md5) pgp md5 OK', ret.output, 'Package signed incorrectly.')
+        self.assertIn('digests signatures OK', ret.output, 'Package signed incorrectly.')
         shutil.rmtree(rpmdb)
 
         #Check that an image can be built from signed packages
diff --git a/meta/recipes-devtools/rpm/files/0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch b/meta/recipes-devtools/rpm/files/0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch
deleted file mode 100644
index b809332f217..00000000000
--- a/meta/recipes-devtools/rpm/files/0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 36cf0ff26ece53e529e8b4f2d2f09acd8794b055 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 24 Mar 2017 15:35:47 +0200
-Subject: [PATCH] Add PYTHON_ABI when searching for python libraries.
-
-It has a value of 'm' when using Python3, and so without it
-configure will not find the libraries.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9c58467c1..a506ec819 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -642,7 +642,7 @@ AS_IF([test "$enable_python" = yes],[
-       ])
-     CPPFLAGS="$save_CPPFLAGS"
-     save_LIBS="$LIBS"
--    AC_SEARCH_LIBS([Py_Main],[python${PYTHON_VERSION} python],[
-+    AC_SEARCH_LIBS([Py_Main],[python${PYTHON_VERSION}${PYTHON_ABI} python],[
-       WITH_PYTHON_LIB="$ac_res"
-     ],[AC_MSG_ERROR([missing python library])
-     ])
--- 
-2.11.0
-
diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
index 1f61acaf431..d7b1145bc5b 100644
--- a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
+++ b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
@@ -1,10 +1,10 @@
-From d82691b8d58201dd03e30585daacd8ffd1556ae2 Mon Sep 17 00:00:00 2001
+From 2b1a3f900f15034943fc41661eaab41bcc0d4d84 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 27 Feb 2017 09:43:30 +0200
-Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for
+Subject: [PATCH 06/15] Do not hardcode "lib/rpm" as the installation path for
  default configuration and macros.
 
-Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/263]
+Upstream-Status: Denied [https://github.com/rpm-software-management/rpm/pull/263]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
 
 ---
@@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
  3 files changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 4f3be8770..92ffd3d68 100644
+index 373d69484..c04a2e8d1 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -875,7 +875,7 @@ else
+@@ -1038,7 +1038,7 @@ else
      usrprefix=$prefix
  fi
  
@@ -27,10 +27,10 @@ index 4f3be8770..92ffd3d68 100644
  
  AC_SUBST(OBJDUMP)
 diff --git a/macros.in b/macros.in
-index c6d5a6b03..84ae25275 100644
+index 3f8dbba61..da4812540 100644
 --- a/macros.in
 +++ b/macros.in
-@@ -877,7 +877,7 @@ package or when debugging this package.\
+@@ -954,7 +954,7 @@ package or when debugging this package.\
  %_sharedstatedir	%{_prefix}/com
  %_localstatedir		%{_prefix}/var
  %_lib			lib
@@ -40,7 +40,7 @@ index c6d5a6b03..84ae25275 100644
  %_infodir		%{_datadir}/info
  %_mandir		%{_datadir}/man
 diff --git a/rpm.am b/rpm.am
-index 1f43ad8a0..6854ff6ba 100644
+index f0df0202f..37205a5eb 100644
 --- a/rpm.am
 +++ b/rpm.am
 @@ -1,10 +1,10 @@
@@ -55,7 +55,7 @@ index 1f43ad8a0..6854ff6ba 100644
 +rpmconfigdir = $(libdir)/rpm
  
  # Libtool version (current-revision-age) for all our libraries
- rpm_version_info = 7:0:0
+ rpm_version_info = 8:0:0
 -- 
-2.11.0
+2.14.2
 
diff --git a/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch b/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch
index edf9ec08940..0b1d6298a94 100644
--- a/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch
+++ b/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch
@@ -1,24 +1,21 @@
-From 211c2d11200e6657132c52e7ac68f8c118231262 Mon Sep 17 00:00:00 2001
+From d076de030deb9cafd9b2e82be5d506cebdefad0b Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 27 Feb 2017 14:43:21 +0200
-Subject: [PATCH] Fix build with musl C library.
+Subject: [PATCH 1/9] Fix build with musl C library.
 
-Upstream-Status: Inappropriate [problem already solved in master branch]
+Upstream-Status: Pending
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
 
-
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
 ---
- configure.ac        | 3 ++-
- misc/Makefile.am    | 3 +--
- misc/rpmxprogname.c | 3 +--
- 3 files changed, 4 insertions(+), 5 deletions(-)
+ configure.ac       | 3 ++-
+ rpmio/digest_nss.c | 1 +
+ 2 files changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/configure.ac b/configure.ac
-index 92ffd3d68..9c58467c1 100644
+index c04a2e8d1..c9d9ac16d 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -229,6 +229,7 @@ AC_SEARCH_LIBS(dlopen, [dl])
+@@ -255,6 +255,7 @@ AC_SEARCH_LIBS(dlopen, [dl])
  # Check for libelf library. Prefer external, otherwise none.
  WITH_LIBELF_LIB=
  AC_CHECK_HEADER([libelf.h])
@@ -26,7 +23,7 @@ index 92ffd3d68..9c58467c1 100644
  AC_CHECK_HEADERS([gelf.h], [
  	AC_CHECK_LIB(elf, gelf_getvernaux, [
  	    AC_DEFINE(HAVE_LIBELF, 1, [Define to 1 if you have the 'elf' library (-lelf).])
-@@ -237,7 +238,7 @@ AC_CHECK_HEADERS([gelf.h], [
+@@ -263,7 +264,7 @@ AC_CHECK_HEADERS([gelf.h], [
  	])
  ])
  AC_SUBST(WITH_LIBELF_LIB)
@@ -35,40 +32,17 @@ index 92ffd3d68..9c58467c1 100644
  
  AC_CHECK_HEADERS([dwarf.h], [
    WITH_LIBDWARF=yes
-diff --git a/misc/Makefile.am b/misc/Makefile.am
-index 8bf0093d9..b9db3d31a 100644
---- a/misc/Makefile.am
-+++ b/misc/Makefile.am
-@@ -5,10 +5,9 @@ AM_CPPFLAGS += -I$(top_srcdir)/misc
- 
- EXTRA_DIST = \
- 	fnmatch.c	fnmatch.h \
--	rpmxprogname.c	rpmxprogname.h \
- 	stpcpy.c	stpncpy.c
- 
- noinst_LTLIBRARIES = libmisc.la
- 
--libmisc_la_SOURCES = fts.c fts.h
-+libmisc_la_SOURCES = fts.c fts.h rpmxprogname.c rpmxprogname.h
- libmisc_la_LIBADD = @LTLIBOBJS@
-diff --git a/misc/rpmxprogname.c b/misc/rpmxprogname.c
-index f89600613..e94625ea8 100644
---- a/misc/rpmxprogname.c
-+++ b/misc/rpmxprogname.c
-@@ -13,7 +13,7 @@ char *_rpmxgetprogname(void)
- {
-   const char *empty = "";
- 
--  if (_rpmxprognam != NULL) /* never return NULL string */
-+  if (_rpmxprogname != NULL) /* never return NULL string */
-     return _rpmxprogname;
-   else
-     return empty;
-@@ -30,4 +30,3 @@ void _rpmxsetprogname(const char *pn)
-   }
- }
+diff --git a/rpmio/digest_nss.c b/rpmio/digest_nss.c
+index 992d9acf6..e11920e3e 100644
+--- a/rpmio/digest_nss.c
++++ b/rpmio/digest_nss.c
+@@ -1,5 +1,6 @@
+ #include "system.h"
  
--#endif /* _RPMXPROGNAME_H */
++#include <signal.h>
+ #include <pthread.h>
+ #include <nss.h>
+ #include <sechash.h>
 -- 
-2.11.0
+2.14.2
 
diff --git a/meta/recipes-devtools/rpm/files/0001-When-nice-value-cannot-be-reset-issue-a-notice-inste.patch b/meta/recipes-devtools/rpm/files/0001-When-nice-value-cannot-be-reset-issue-a-notice-inste.patch
deleted file mode 100644
index 9648cac7c9b..00000000000
--- a/meta/recipes-devtools/rpm/files/0001-When-nice-value-cannot-be-reset-issue-a-notice-inste.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From d42ece6fa15b98d7f9221b90b85b78631df2c0a0 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 14 Feb 2017 13:51:19 +0200
-Subject: [PATCH] When nice value cannot be reset, issue a notice instead of a
- warning
-
-Otherwise build logs on the autobuilder get very clutter, as it
-doesn't allow the nice value to be reset for some reason.
-
-Upstream-Status: Inappropriate [oe specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- lib/rpmscript.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/rpmscript.c b/lib/rpmscript.c
-index 5e1e99906..3975aead8 100644
---- a/lib/rpmscript.c
-+++ b/lib/rpmscript.c
-@@ -347,7 +347,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes,
-         int ret;
-         ret = setpriority(PRIO_PROCESS, 0, 0);
-         if (ret == -1) {
--            rpmlog(RPMLOG_WARNING, _("Unable to reset nice value: %s"),
-+            rpmlog(RPMLOG_NOTICE, _("Unable to reset nice value: %s\n"),
-                 strerror(errno));
-         }
- 
--- 
-2.11.0
-
diff --git a/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch b/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch
index 64a5651f7e1..8989dcebd1e 100644
--- a/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch
+++ b/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch
@@ -1,7 +1,7 @@
-From ec305795a302d226343e69031ff2024dfcde69c0 Mon Sep 17 00:00:00 2001
+From 8ce9fbab2990609bdace457e146160334e931c89 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 8 Jun 2017 17:08:09 +0300
-Subject: [PATCH 3/3] build/pack.c: remove static local variables from
+Subject: [PATCH 14/15] build/pack.c: remove static local variables from
  buildHost() and getBuildTime()
 
 Their use is causing difficult to diagnoze data races when building multiple
@@ -11,8 +11,8 @@ difficult to reason about code.
 Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/226]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
 
-
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
 ---
  build/build.c             | 54 ++++++++++++++++++++++++++++--
  build/pack.c              | 84 +++++++++--------------------------------------
@@ -20,7 +20,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
  3 files changed, 74 insertions(+), 72 deletions(-)
 
 diff --git a/build/build.c b/build/build.c
-index 5f99c8db7..09a1311c5 100644
+index 81152e53e..6001f9e52 100644
 --- a/build/build.c
 +++ b/build/build.c
 @@ -6,6 +6,8 @@
@@ -83,7 +83,7 @@ index 5f99c8db7..09a1311c5 100644
  /**
   */
  static rpmRC doRmSource(rpmSpec spec)
-@@ -203,6 +249,9 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
+@@ -201,6 +247,9 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
      rpmRC rc = RPMRC_OK;
      int test = (what & RPMBUILD_NOBUILD);
      char *cookie = buildArgs->cookie ? xstrdup(buildArgs->cookie) : NULL;
@@ -93,7 +93,7 @@ index 5f99c8db7..09a1311c5 100644
  
      if (rpmExpandNumeric("%{?source_date_epoch_from_changelog}") &&
  	getenv("SOURCE_DATE_EPOCH") == NULL) {
-@@ -271,11 +320,11 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
+@@ -269,11 +318,11 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
  		goto exit;
  
  	if (((what & RPMBUILD_PACKAGESOURCE) && !test) &&
@@ -107,7 +107,7 @@ index 5f99c8db7..09a1311c5 100644
  		goto exit;
  	
  	if ((what & RPMBUILD_CLEAN) &&
-@@ -295,6 +344,7 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
+@@ -293,6 +342,7 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
  	(void) unlink(spec->specFile);
  
  exit:
@@ -116,7 +116,7 @@ index 5f99c8db7..09a1311c5 100644
      spec->rootDir = NULL;
      if (rc != RPMRC_OK && rpmlogGetNrecs() > 0) {
 diff --git a/build/pack.c b/build/pack.c
-index ed5b9ab4e..62427065a 100644
+index df15876ff..17a4b0905 100644
 --- a/build/pack.c
 +++ b/build/pack.c
 @@ -6,8 +6,6 @@
@@ -128,7 +128,7 @@ index ed5b9ab4e..62427065a 100644
  #include <sys/wait.h>
  
  #include <rpm/rpmlib.h>			/* RPMSIGTAG*, rpmReadPackageFile */
-@@ -151,57 +149,6 @@ exit:
+@@ -152,57 +150,6 @@ exit:
      return rc;
  }
  
@@ -186,9 +186,9 @@ index ed5b9ab4e..62427065a 100644
  static rpmRC processScriptFiles(rpmSpec spec, Package pkg)
  {
      struct TriggerFileEntry *p;
-@@ -308,7 +255,8 @@ static int haveRichDep(Package pkg)
- }
- 
+@@ -476,7 +423,8 @@ exit:
+  * order to how the RPM format is laid on disk.
+  */
  static rpmRC writeRPM(Package pkg, unsigned char ** pkgidp,
 -		      const char *fileName, char **cookie)
 +		      const char *fileName, char **cookie,
@@ -196,7 +196,7 @@ index ed5b9ab4e..62427065a 100644
  {
      FD_t fd = NULL;
      char * rpmio_flags = NULL;
-@@ -397,7 +345,7 @@ static rpmRC writeRPM(Package pkg, unsigned char ** pkgidp,
+@@ -500,7 +448,7 @@ static rpmRC writeRPM(Package pkg, unsigned char ** pkgidp,
  
      /* Create and add the cookie */
      if (cookie) {
@@ -204,8 +204,8 @@ index ed5b9ab4e..62427065a 100644
 +	rasprintf(cookie, "%s %d", buildHost, buildTime);
  	headerPutString(pkg->header, RPMTAG_COOKIE, *cookie);
      }
-     
-@@ -546,7 +494,7 @@ static rpmRC checkPackages(char *pkgcheck)
+ 
+@@ -641,7 +589,7 @@ static rpmRC checkPackages(char *pkgcheck)
      return RPMRC_OK;
  }
  
@@ -214,7 +214,7 @@ index ed5b9ab4e..62427065a 100644
  {
  	const char *errorString;
  	rpmRC rc = RPMRC_OK;
-@@ -565,8 +513,8 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
+@@ -660,8 +608,8 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
  	headerCopyTags(spec->packages->header, pkg->header, copyTags);
  	
  	headerPutString(pkg->header, RPMTAG_RPMVERSION, VERSION);
@@ -225,7 +225,7 @@ index ed5b9ab4e..62427065a 100644
  
  	if (spec->sourcePkgId != NULL) {
  	    headerPutBin(pkg->header, RPMTAG_SOURCEPKGID, spec->sourcePkgId,16);
-@@ -604,7 +552,7 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
+@@ -699,7 +647,7 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
  	    free(binRpm);
  	}
  
@@ -234,7 +234,7 @@ index ed5b9ab4e..62427065a 100644
  	if (rc == RPMRC_OK) {
  	    /* Do check each written package if enabled */
  	    char *pkgcheck = rpmExpand("%{?_build_pkgcheck} ", *filename, NULL);
-@@ -624,7 +572,7 @@ struct binaryPackageTaskData
+@@ -719,7 +667,7 @@ struct binaryPackageTaskData
      struct binaryPackageTaskData *next;
  };
  
@@ -243,7 +243,7 @@ index ed5b9ab4e..62427065a 100644
  {
      struct binaryPackageTaskData *tasks = NULL;
      struct binaryPackageTaskData *task = NULL;
-@@ -636,7 +584,7 @@ static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const c
+@@ -731,7 +679,7 @@ static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const c
          if (pkg == spec->packages) {
              // the first package needs to be processed ahead of others, as they copy
              // changelog data from it, and so otherwise data races would happen
@@ -252,7 +252,7 @@ index ed5b9ab4e..62427065a 100644
              rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename);
              tasks = task;
          }
-@@ -653,7 +601,7 @@ static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const c
+@@ -748,7 +696,7 @@ static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const c
          if (task != tasks)
          #pragma omp task
          {
@@ -261,7 +261,7 @@ index ed5b9ab4e..62427065a 100644
              rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename);
          }
      }
-@@ -671,11 +619,11 @@ static void freeBinaryPackageTasks(struct binaryPackageTaskData* tasks)
+@@ -766,11 +714,11 @@ static void freeBinaryPackageTasks(struct binaryPackageTaskData* tasks)
      }
  }
  
@@ -275,7 +275,7 @@ index ed5b9ab4e..62427065a 100644
  
      for (struct binaryPackageTaskData *task = tasks; task != NULL; task = task->next) {
          if (task->result == RPMRC_OK) {
-@@ -702,22 +650,22 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
+@@ -797,7 +745,7 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
      return RPMRC_OK;
  }
  
@@ -284,6 +284,7 @@ index ed5b9ab4e..62427065a 100644
  {
      Package sourcePkg = spec->sourcePackage;
      rpmRC rc;
+@@ -805,8 +753,8 @@ rpmRC packageSources(rpmSpec spec, char **cookie)
  
      /* Add some cruft */
      headerPutString(sourcePkg->header, RPMTAG_RPMVERSION, VERSION);
@@ -291,9 +292,10 @@ index ed5b9ab4e..62427065a 100644
 -    headerPutUint32(sourcePkg->header, RPMTAG_BUILDTIME, getBuildTime(), 1);
 +    headerPutString(sourcePkg->header, RPMTAG_BUILDHOST, buildHost);
 +    headerPutUint32(sourcePkg->header, RPMTAG_BUILDTIME, &buildTime, 1);
+     headerPutUint32(sourcePkg->header, RPMTAG_SOURCEPACKAGE, &one, 1);
  
      /* XXX this should be %_srpmdir */
-     {	char *fn = rpmGetPath("%{_srcrpmdir}/", spec->sourceRpmName,NULL);
+@@ -814,7 +762,7 @@ rpmRC packageSources(rpmSpec spec, char **cookie)
  	char *pkgcheck = rpmExpand("%{?_build_pkgcheck_srpm} ", fn, NULL);
  
  	spec->sourcePkgId = NULL;
@@ -303,10 +305,10 @@ index ed5b9ab4e..62427065a 100644
  	/* Do check SRPM package if enabled */
  	if (rc == RPMRC_OK && pkgcheck[0] != ' ') {
 diff --git a/build/rpmbuild_internal.h b/build/rpmbuild_internal.h
-index 8351a6a34..797337ca7 100644
+index 439b7d3b5..07e8338ad 100644
 --- a/build/rpmbuild_internal.h
 +++ b/build/rpmbuild_internal.h
-@@ -408,19 +408,23 @@ rpmRC processSourceFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags);
+@@ -427,19 +427,23 @@ rpmRC processSourceFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags);
   * @param spec		spec file control structure
   * @param cookie	build identifier "cookie" or NULL
   * @param cheating	was build shortcircuited?
@@ -333,5 +335,5 @@ index 8351a6a34..797337ca7 100644
  RPM_GNUC_INTERNAL
  int addLangTag(rpmSpec spec, Header h, rpmTagVal tag,
 -- 
-2.11.0
+2.14.2
 
diff --git a/meta/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch b/meta/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch
index c910a478eea..4ac5c38f063 100644
--- a/meta/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch
+++ b/meta/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch
@@ -1,7 +1,7 @@
-From d65d6e8760afbd7f70b22a1f3297a037bc475fea Mon Sep 17 00:00:00 2001
+From 5141d50d7b3d3c209a22c53deedb4ceef014401d Mon Sep 17 00:00:00 2001
 From: Peter Kjellerstedt <pkj@axis.com>
 Date: Mon, 15 May 2017 10:21:08 +0200
-Subject: [PATCH 11/13] Do not require that ELF binaries are executable to be
+Subject: [PATCH 09/15] Do not require that ELF binaries are executable to be
  identifiable
 
 There is nothing that requires, e.g., a DSO to be executable, but it
@@ -14,19 +14,20 @@ or not.
 
 Upstream-Status: Inappropriate
 Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+
 ---
  fileattrs/elf.attr | 1 -
  1 file changed, 1 deletion(-)
 
 diff --git a/fileattrs/elf.attr b/fileattrs/elf.attr
-index 595b33e09..bac52649d 100644
+index 5805dd0ee..3516f309d 100644
 --- a/fileattrs/elf.attr
 +++ b/fileattrs/elf.attr
 @@ -1,4 +1,3 @@
  %__elf_provides		%{_rpmconfigdir}/elfdeps --provides %{?__filter_GLIBC_PRIVATE:--filter-private}
  %__elf_requires		%{_rpmconfigdir}/elfdeps --requires %{?__filter_GLIBC_PRIVATE:--filter-private}
- %__elf_magic		^(setuid )?(setgid )?(sticky )?ELF (32|64)-bit.*$
+ %__elf_magic		^(setuid,? )?(setgid,? )?(sticky )?ELF (32|64)-bit.*$
 -%__elf_flags		exeonly
 -- 
-2.12.0
+2.14.2
 
diff --git a/meta/recipes-devtools/rpm/files/0012-Use-conditional-to-access-_docdir-in-macros.in.patch b/meta/recipes-devtools/rpm/files/0012-Use-conditional-to-access-_docdir-in-macros.in.patch
deleted file mode 100644
index 996da90d43d..00000000000
--- a/meta/recipes-devtools/rpm/files/0012-Use-conditional-to-access-_docdir-in-macros.in.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 77808db4036dc4a012c47aca36255549ed764a6a Mon Sep 17 00:00:00 2001
-From: Peter Kjellerstedt <pkj@axis.com>
-Date: Tue, 16 May 2017 10:58:18 +0200
-Subject: [PATCH 12/13] Use conditional to access %{_docdir} in macros.in
-
-This avoids the following warning:
-
-warning: Ignoring invalid regex %{_docdir}
-
-when runing `rpmdeps -R <file>`, since %{_docdir} is only defined when
-parsing a spec file (in parseSpec()).
-
-Upstream-Status: Accepted [https://github.com/rpm-software-management/rpm/pull/216]
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- macros.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/macros.in b/macros.in
-index 84ae25275..cca67a500 100644
---- a/macros.in
-+++ b/macros.in
-@@ -200,8 +200,8 @@ package or when debugging this package.\
- # Their purpouse is to set up global filtering for all packages. If you need
- # to set up specific filtering for your package use %__requires_exclude_from
- # and %__provides_exclude_from instead.
--%__global_requires_exclude_from		%{_docdir}
--%__global_provides_exclude_from		%{_docdir}
-+%__global_requires_exclude_from		%{?_docdir:%{_docdir}}
-+%__global_provides_exclude_from		%{?_docdir:%{_docdir}}
- 
- #	The path to the gzip executable (legacy, use %{__gzip} instead).
- %_gzipbin		%{__gzip}
--- 
-2.12.0
-
diff --git a/meta/recipes-devtools/rpm/files/0013-Add-a-new-option-alldeps-to-rpmdeps.patch b/meta/recipes-devtools/rpm/files/0013-Add-a-new-option-alldeps-to-rpmdeps.patch
index faaf62960c1..d84e8b54d8d 100644
--- a/meta/recipes-devtools/rpm/files/0013-Add-a-new-option-alldeps-to-rpmdeps.patch
+++ b/meta/recipes-devtools/rpm/files/0013-Add-a-new-option-alldeps-to-rpmdeps.patch
@@ -1,7 +1,7 @@
-From 3bf20a6116ae3e1a5a3a6907bee7e881b17efb2f Mon Sep 17 00:00:00 2001
+From ef9f8c17c3e5c35d3b55db9ca76b0fa0d6336421 Mon Sep 17 00:00:00 2001
 From: Peter Kjellerstedt <pkj@axis.com>
 Date: Mon, 15 May 2017 11:23:26 +0200
-Subject: [PATCH 13/13] Add a new option --alldeps to rpmdeps
+Subject: [PATCH 10/15] Add a new option --alldeps to rpmdeps
 
 This will send the output from rpmfcPrint() to stdout. This is an
 alternative to using the --rpmfcdebug option, which will send the same
@@ -12,6 +12,7 @@ output options, e.g., --requires, without affecting their output.
 
 Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/220]
 Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+
 ---
  build/rpmfc.c   | 27 ++++++++++++++-------------
  build/rpmfc.h   |  1 -
@@ -19,10 +20,10 @@ Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
  3 files changed, 39 insertions(+), 33 deletions(-)
 
 diff --git a/build/rpmfc.c b/build/rpmfc.c
-index c8e2f876a..44f1cdc9a 100644
+index b8aea76d0..d04ffb297 100644
 --- a/build/rpmfc.c
 +++ b/build/rpmfc.c
-@@ -732,7 +732,6 @@ static rpm_color_t rpmfcColor(const char * fmstr)
+@@ -692,7 +692,6 @@ static rpm_color_t rpmfcColor(const char * fmstr)
  
  void rpmfcPrint(const char * msg, rpmfc fc, FILE * fp)
  {
@@ -30,7 +31,7 @@ index c8e2f876a..44f1cdc9a 100644
      int ndx;
      int dx;
      int fx;
-@@ -744,21 +743,23 @@ void rpmfcPrint(const char * msg, rpmfc fc, FILE * fp)
+@@ -704,21 +703,23 @@ void rpmfcPrint(const char * msg, rpmfc fc, FILE * fp)
  
      if (fc)
      for (fx = 0; fx < fc->nfiles; fx++) {
@@ -79,7 +80,7 @@ index dae8ea5b1..3d87b31cf 100644
   * @param fc		file classifier
   * @param fp		output file handle (NULL for stderr)
 diff --git a/tools/rpmdeps.c b/tools/rpmdeps.c
-index a414b6343..f260a38c4 100644
+index 419befce1..f260a38c4 100644
 --- a/tools/rpmdeps.c
 +++ b/tools/rpmdeps.c
 @@ -23,6 +23,8 @@ static int print_conflicts;
@@ -105,7 +106,7 @@ index a414b6343..f260a38c4 100644
  	goto exit;
  
 -    if (_rpmfc_debug)
--	rpmfcPrint(buf, fc, NULL);
+-	rpmfcPrint(NULL, fc, NULL);
 -
 -    if (print_provides)
 -	rpmdsPrint(NULL, rpmfcProvides(fc), stdout);
@@ -148,5 +149,5 @@ index a414b6343..f260a38c4 100644
      ec = 0;
  
 -- 
-2.12.0
+2.14.2
 
diff --git a/meta/recipes-devtools/rpm/rpm_git.bb b/meta/recipes-devtools/rpm/rpm_4.14.0.bb
similarity index 93%
rename from meta/recipes-devtools/rpm/rpm_git.bb
rename to meta/recipes-devtools/rpm/rpm_4.14.0.bb
index 57b9c2d6acc..e4e9c3e6341 100644
--- a/meta/recipes-devtools/rpm/rpm_git.bb
+++ b/meta/recipes-devtools/rpm/rpm_4.14.0.bb
@@ -24,19 +24,16 @@ HOMEPAGE = "http://www.rpm.org"
 LICENSE = "GPL-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=f5259151d26ff18e78023450a5ac8d96"
 
-SRC_URI = "git://github.com/rpm-software-management/rpm \
+SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
            file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \
            file://0001-Do-not-read-config-files-from-HOME.patch \
            file://0001-When-cross-installing-execute-package-scriptlets-wit.patch \
            file://0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch \
            file://0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch \
-           file://0001-When-nice-value-cannot-be-reset-issue-a-notice-inste.patch \
            file://0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch \
            file://0001-Fix-build-with-musl-C-library.patch \
            file://0001-Add-a-color-setting-for-mips64_n32-binaries.patch \
-           file://0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch \
            file://0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch \
-           file://0012-Use-conditional-to-access-_docdir-in-macros.in.patch \
            file://0013-Add-a-new-option-alldeps-to-rpmdeps.patch \
            file://0001-Split-binary-package-building-into-a-separate-functi.patch \
            file://0002-Run-binary-package-creation-via-thread-pools.patch \
@@ -45,9 +42,8 @@ SRC_URI = "git://github.com/rpm-software-management/rpm \
            file://0001-perl-disable-auto-reqs.patch \
            "
 
-PV = "4.13.90+git${SRCPV}"
 PE = "1"
-SRCREV = "a8e51b3bb05c6acb1d9b2e3d34f859ddda1677be"
+SRCREV = "da3720f62e57648fb1dc2a632744d38866139971"
 
 S = "${WORKDIR}/git"
 
-- 
2.15.0



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH] rpm: update to 4.14.0
  2017-11-08 15:31             ` Mark Hatle
  2017-11-09 13:19               ` Alexander Kanavin
@ 2017-11-09 16:49               ` Alexander Kanavin
  1 sibling, 0 replies; 15+ messages in thread
From: Alexander Kanavin @ 2017-11-09 16:49 UTC (permalink / raw)
  To: Mark Hatle, Mark Wielaard, Neal Gompa; +Cc: OpenEmbedded Core Mailing List

On 11/08/2017 05:31 PM, Mark Hatle wrote:

>> BTW. If you really don't want to use debugedit then you could use
>> something simple like a quick hack to list all sources I wrote some
>> time ago:
>> https://lists.fedorahosted.org/archives/list/elfutils-devel@lists.fedor
>> ahosted.org/message/VZP4G5N2ELYZEDAB3QYLXYHDGX4WMCUF/
>> (see the dwarfsrcfiles.c attachement)
> 
> This may very well do what we need.   Our output does not depend on RPM (or any
> specific package manager.)  We had simply been using the debugedit from RPM as
> it was the best tool for the job.  Now that GCC has the debug-prefix-map option,
> we no longer really need debugedit.

After poking some more at elfutils/binutils, I think that indeed the 
dwarfsrcfiles.c is what we need.

The standard utilities can dump the full debug table content on you, but 
they don't have a simple 'give me all sources' feature. And parsing that 
output is more fragile than I thought: there are 'compile units' and 
there are sources used to form them, and linking the two into a simple 
list of sources isn't easy.

Thanks a lot!

Alex


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] rpm: update to 4.14.0
  2017-11-08 15:31             ` Mark Hatle
@ 2017-11-09 13:19               ` Alexander Kanavin
  2017-11-09 16:49               ` Alexander Kanavin
  1 sibling, 0 replies; 15+ messages in thread
From: Alexander Kanavin @ 2017-11-09 13:19 UTC (permalink / raw)
  To: Mark Hatle, Mark Wielaard, Neal Gompa; +Cc: OpenEmbedded Core Mailing List

On 11/08/2017 05:31 PM, Mark Hatle wrote:

>> So a couple of questions.
>>
>> - What exactly breaks currently when you let debugedit rewrite the
>>    debuginfo source paths?
> 
> Alexander has more info then I do here, but I believe running it against grub
> modules breaks the modules.

Here's how you can reproduce the breakage:


1) download 
https://drive.google.com/open?id=1yKav0llpfrLjuMZOCj6ZyfVWGbxZQzIA

(a binary module from a grub build)

2) run
objcopy --only-keep-debug ./ntldr.module ntldr.module.debug

to establish that objcopy is happy with the download

3) run

debugedit -l debug.source ./ntldr.module


4) run the same objcopy command again ---> kaboom

objcopy: ./ntldr.module: invalid relocation type 112
objcopy: ./ntldr.module(rel.debug_info): relocation 556 has invalid 
symbol index 7497472
objcopy: ./ntldr.module: invalid relocation type 98
objcopy: ./ntldr.module(rel.debug_info): relocation 557 has invalid 
symbol index 6648415
objcopy: ./ntldr.module: invalid relocation type 108
objcopy: ./ntldr.module(rel.debug_info): relocation 558 has invalid 
symbol index 7495522
objcopy: ./ntldr.module: invalid relocation type 117
objcopy: ./ntldr.module(rel.debug_info): relocation 559 has invalid 
symbol index 7499636
objcopy: ./ntldr.module: invalid relocation type 97
objcopy: ./ntldr.module(rel.debug_info): relocation 560 has invalid 
symbol index 25697
objcopy: ./ntldr.module: invalid relocation type 111
.....
Segmentation fault (core dumped)


Like Mark said, this isn't really the main issue for us; we would want 
to not have the binary file modified at all. Currently debugedit doesn't 
seem to provide that (and that's totally fine - a replacement is not 
difficult to find).

Alex


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] rpm: update to 4.14.0
       [not found]           ` <1510153768.10879.80.camel@klomp.org>
@ 2017-11-08 15:31             ` Mark Hatle
  2017-11-09 13:19               ` Alexander Kanavin
  2017-11-09 16:49               ` Alexander Kanavin
  0 siblings, 2 replies; 15+ messages in thread
From: Mark Hatle @ 2017-11-08 15:31 UTC (permalink / raw)
  To: Mark Wielaard, Alexander Kanavin, Neal Gompa
  Cc: OpenEmbedded Core Mailing List

On 11/8/17 9:09 AM, Mark Wielaard wrote:
> Hi Alex,
> 
> On Wed, 2017-11-08 at 15:14 +0200, Alexander Kanavin wrote:
>> On 11/07/2017 11:17 PM, Neal Gompa wrote:
>>
>>>> Thanks, this is the offending commit:
>>>>
>>>> https://github.com/rpm-software-management/rpm/commit/88989572fff1f31e0c4f972a6895585e4742ef4b
>>>>
>>>> Looks like they added sophisticated in-place processing/rewriting of the
>>>> actual binary (that is not possible to switch off). And it fails in case of
>>>> grub modules.
>>>>
>>>> We, on the other hand, only need to extract the list of debug source code
>>>> files. Any hint on how to do that without the use of rpm/debugedit? Perhaps
>>>> something from binutils/elfutils?
>>>
>>> This is the first time I'm hearing of this. Has anyone talked to Mark
>>> Wielaard (CC'd to this email) about fixing this properly for you guys?
>>
>> We don't have any particular interest in debugedit though. It is only 
>> used as a crutch to extract the debug source locations. If readelf can 
>> do the same thing, we'll use that - please do understand that reporting 
>> issues upstream costs time, especially if upstream replies with 
>> NEEDINFO, WORKSFORME or WONTFIX type of thing, so we prioritize what's 
>> truly critical :)
> 
> Even though I don't know much about openembedded I am interested in
> your use case. And why it breaks.
> 
> There are a couple of ways already to tweak what debugedit does.
> We could maybe add another for your use case.
> 
> So a couple of questions.
> 
> - What exactly breaks currently when you let debugedit rewrite the
>   debuginfo source paths?

Alexander has more info then I do here, but I believe running it against grub
modules breaks the modules.

> - How do you invoke debugedit? Do you use the find-debuginfo.sh script?

http://git.openembedded.org/openembedded-core/tree/meta/classes/package.bbclass

Start at line 337.
def splitdebuginfo(file, debugfile, debugsrcdir, sourcefile, d):

The function is called by:

splitdebuginfo(file, fpath, debugsrcdir, sourcefile, d)

file is set to the next file to process.  (We only process known elffiles.)

debugsrcdir is usually set to "/usr/src/debug"

sourcefile is usually set to "working dir"/debugsources.list

But the main invocation is actually at 362:

debugedit -i -l sourcefile file

> - What do you use the debug source files list for if not for the actual
>   packaging?

We used to use it to both munge the source file path as well as collection the
sources to package.  However, we no longer need the munging support, as we
always build with the GCC options to setup the source file path for the proper
target location.

DEBUG_PREFIX_MAP ?=
"-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
                     -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
                     -fdebug-prefix-map=${STAGING_DIR_HOST}= \
"

So essentially what we want is a simple read-only, give me a list of all of the
referenced sources.

> BTW. If you really don't want to use debugedit then you could use
> something simple like a quick hack to list all sources I wrote some
> time ago:
> https://lists.fedorahosted.org/archives/list/elfutils-devel@lists.fedor
> ahosted.org/message/VZP4G5N2ELYZEDAB3QYLXYHDGX4WMCUF/
> (see the dwarfsrcfiles.c attachement)

This may very well do what we need.   Our output does not depend on RPM (or any
specific package manager.)  We had simply been using the debugedit from RPM as
it was the best tool for the job.  Now that GCC has the debug-prefix-map option,
we no longer really need debugedit.

--Mark

> Cheers,
> 
> Mark
> 



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] rpm: update to 4.14.0
  2017-11-07 21:17       ` Neal Gompa
@ 2017-11-08 13:14         ` Alexander Kanavin
       [not found]           ` <1510153768.10879.80.camel@klomp.org>
  0 siblings, 1 reply; 15+ messages in thread
From: Alexander Kanavin @ 2017-11-08 13:14 UTC (permalink / raw)
  To: Neal Gompa; +Cc: Mark Wielaard, OpenEmbedded Core Mailing List

On 11/07/2017 11:17 PM, Neal Gompa wrote:

>> Thanks, this is the offending commit:
>>
>> https://github.com/rpm-software-management/rpm/commit/88989572fff1f31e0c4f972a6895585e4742ef4b
>>
>> Looks like they added sophisticated in-place processing/rewriting of the
>> actual binary (that is not possible to switch off). And it fails in case of
>> grub modules.
>>
>> We, on the other hand, only need to extract the list of debug source code
>> files. Any hint on how to do that without the use of rpm/debugedit? Perhaps
>> something from binutils/elfutils?
>>
> 
> This is the first time I'm hearing of this. Has anyone talked to Mark
> Wielaard (CC'd to this email) about fixing this properly for you guys?
We don't have any particular interest in debugedit though. It is only 
used as a crutch to extract the debug source locations. If readelf can 
do the same thing, we'll use that - please do understand that reporting 
issues upstream costs time, especially if upstream replies with 
NEEDINFO, WORKSFORME or WONTFIX type of thing, so we prioritize what's 
truly critical :)

Alex


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] rpm: update to 4.14.0
  2017-11-06 16:00     ` Alexander Kanavin
  2017-11-06 16:54       ` Mark Hatle
@ 2017-11-07 21:17       ` Neal Gompa
  2017-11-08 13:14         ` Alexander Kanavin
  1 sibling, 1 reply; 15+ messages in thread
From: Neal Gompa @ 2017-11-07 21:17 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Mark Wielaard, OpenEmbedded Core Mailing List

On Mon, Nov 6, 2017 at 11:00 AM, Alexander Kanavin
<alexander.kanavin@linux.intel.com> wrote:
> On 11/03/2017 07:58 PM, Mark Hatle wrote:
>>>
>>> Unfortunately, this also breaks grub and grub-efi:
>>>
>>> x86_64-poky-linux-musl-objcopy:
>>>
>>> /home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module(.debug_aranges):
>>> relocation 1 has invalid symbol index 2053731167
>>> x86_64-poky-linux-musl-objcopy:
>>>
>>> /home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module:
>>> invalid relocation type 69
>>> x86_64-poky-linux-musl-objcopy: BFD (GNU Binutils) 2.29.0.20170912
>>> assertion fail ../../bfd/elf64-x86-64.c:351
>>> x86_64-poky-linux-musl-objcopy:
>>>
>>> /home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module(.debug_info):
>>> relocation 0 has invalid symbol index 1634754402
>>>
>>
>> Look at debugedit.  This is the program used to adjust some of the debug
>> references.
>
>
> Thanks, this is the offending commit:
>
> https://github.com/rpm-software-management/rpm/commit/88989572fff1f31e0c4f972a6895585e4742ef4b
>
> Looks like they added sophisticated in-place processing/rewriting of the
> actual binary (that is not possible to switch off). And it fails in case of
> grub modules.
>
> We, on the other hand, only need to extract the list of debug source code
> files. Any hint on how to do that without the use of rpm/debugedit? Perhaps
> something from binutils/elfutils?
>

This is the first time I'm hearing of this. Has anyone talked to Mark
Wielaard (CC'd to this email) about fixing this properly for you guys?



-- 
真実はいつも一つ!/ Always, there's only one truth!


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] rpm: update to 4.14.0
  2017-11-07 14:53         ` Alexander Kanavin
  2017-11-07 15:50           ` Otavio Salvador
@ 2017-11-07 16:41           ` Mark Hatle
  1 sibling, 0 replies; 15+ messages in thread
From: Mark Hatle @ 2017-11-07 16:41 UTC (permalink / raw)
  To: Alexander Kanavin, openembedded-core, Khem Raj

On 11/7/17 8:53 AM, Alexander Kanavin wrote:
> On 11/06/2017 06:54 PM, Mark Hatle wrote:
>> You would need to interpret the dwarf symbols and find all of the referenced
>> files.  I can certainly be done with the libelf (libdwarf?), but I don't know if
>> it can be done with binutils or elfutils directly.  They may not have the
>> necessary translation to be able to assembly the pieces.
>>
>> (A lot of the filenames are listed related to a directory.. and the entries are
>> stored in different places and have to be assembled to get a similar output to
>> what debugedit gave us.)
>>
>> Writing a small standalone tool to give us this information may be very useful
>> to us though -- and would let us break the 'rpm' dependency for deb/ipkg
>> builds.. (probably)
> 
> 'readelf -wL <binary>' looks promising. I think we can simply process 
> its output from package.class (yes, a bit brittle, but easier than 
> writing a separate tool).

Yes, it looks like this has everything needed to identify the matching sources.

It will definitely have to be processed a bit, but it's all there.  (Only
concern is the processing may take significantly longer then debugedit used to..
but we won't know until we try.)

--Mark

> Alex
> 



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] rpm: update to 4.14.0
  2017-11-07 14:53         ` Alexander Kanavin
@ 2017-11-07 15:50           ` Otavio Salvador
  2017-11-07 16:41           ` Mark Hatle
  1 sibling, 0 replies; 15+ messages in thread
From: Otavio Salvador @ 2017-11-07 15:50 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

On Tue, Nov 7, 2017 at 12:53 PM, Alexander Kanavin
<alexander.kanavin@linux.intel.com> wrote:
> On 11/06/2017 06:54 PM, Mark Hatle wrote:
>>
>> You would need to interpret the dwarf symbols and find all of the
>> referenced
>> files.  I can certainly be done with the libelf (libdwarf?), but I don't
>> know if
>> it can be done with binutils or elfutils directly.  They may not have the
>> necessary translation to be able to assembly the pieces.
>>
>> (A lot of the filenames are listed related to a directory.. and the
>> entries are
>> stored in different places and have to be assembled to get a similar
>> output to
>> what debugedit gave us.)
>>
>> Writing a small standalone tool to give us this information may be very
>> useful
>> to us though -- and would let us break the 'rpm' dependency for deb/ipkg
>> builds.. (probably)
>
>
> 'readelf -wL <binary>' looks promising. I think we can simply process its
> output from package.class (yes, a bit brittle, but easier than writing a
> separate tool).

Only if it is going to be a generic solution (used for all package formats).

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] rpm: update to 4.14.0
  2017-11-06 16:54       ` Mark Hatle
@ 2017-11-07 14:53         ` Alexander Kanavin
  2017-11-07 15:50           ` Otavio Salvador
  2017-11-07 16:41           ` Mark Hatle
  0 siblings, 2 replies; 15+ messages in thread
From: Alexander Kanavin @ 2017-11-07 14:53 UTC (permalink / raw)
  To: Mark Hatle, openembedded-core, Khem Raj

On 11/06/2017 06:54 PM, Mark Hatle wrote:
> You would need to interpret the dwarf symbols and find all of the referenced
> files.  I can certainly be done with the libelf (libdwarf?), but I don't know if
> it can be done with binutils or elfutils directly.  They may not have the
> necessary translation to be able to assembly the pieces.
> 
> (A lot of the filenames are listed related to a directory.. and the entries are
> stored in different places and have to be assembled to get a similar output to
> what debugedit gave us.)
> 
> Writing a small standalone tool to give us this information may be very useful
> to us though -- and would let us break the 'rpm' dependency for deb/ipkg
> builds.. (probably)

'readelf -wL <binary>' looks promising. I think we can simply process 
its output from package.class (yes, a bit brittle, but easier than 
writing a separate tool).

Alex


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] rpm: update to 4.14.0
  2017-11-06 16:00     ` Alexander Kanavin
@ 2017-11-06 16:54       ` Mark Hatle
  2017-11-07 14:53         ` Alexander Kanavin
  2017-11-07 21:17       ` Neal Gompa
  1 sibling, 1 reply; 15+ messages in thread
From: Mark Hatle @ 2017-11-06 16:54 UTC (permalink / raw)
  To: Alexander Kanavin, openembedded-core, Khem Raj

On 11/6/17 10:00 AM, Alexander Kanavin wrote:
> On 11/03/2017 07:58 PM, Mark Hatle wrote:
>>> Unfortunately, this also breaks grub and grub-efi:
>>>
>>> x86_64-poky-linux-musl-objcopy:
>>> /home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module(.debug_aranges):
>>> relocation 1 has invalid symbol index 2053731167
>>> x86_64-poky-linux-musl-objcopy:
>>> /home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module:
>>> invalid relocation type 69
>>> x86_64-poky-linux-musl-objcopy: BFD (GNU Binutils) 2.29.0.20170912
>>> assertion fail ../../bfd/elf64-x86-64.c:351
>>> x86_64-poky-linux-musl-objcopy:
>>> /home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module(.debug_info):
>>> relocation 0 has invalid symbol index 1634754402
>>>
>>
>> Look at debugedit.  This is the program used to adjust some of the debug references.
> 
> Thanks, this is the offending commit:
> 
> https://github.com/rpm-software-management/rpm/commit/88989572fff1f31e0c4f972a6895585e4742ef4b
> 
> Looks like they added sophisticated in-place processing/rewriting of the 
> actual binary (that is not possible to switch off). And it fails in case 
> of grub modules.
> 
> We, on the other hand, only need to extract the list of debug source 
> code files. Any hint on how to do that without the use of rpm/debugedit? 
> Perhaps something from binutils/elfutils?

You would need to interpret the dwarf symbols and find all of the referenced
files.  I can certainly be done with the libelf (libdwarf?), but I don't know if
it can be done with binutils or elfutils directly.  They may not have the
necessary translation to be able to assembly the pieces.

(A lot of the filenames are listed related to a directory.. and the entries are
stored in different places and have to be assembled to get a similar output to
what debugedit gave us.)

Writing a small standalone tool to give us this information may be very useful
to us though -- and would let us break the 'rpm' dependency for deb/ipkg
builds.. (probably)

--Mark

> Alex
> 



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] rpm: update to 4.14.0
  2017-11-03 17:58   ` Mark Hatle
@ 2017-11-06 16:00     ` Alexander Kanavin
  2017-11-06 16:54       ` Mark Hatle
  2017-11-07 21:17       ` Neal Gompa
  0 siblings, 2 replies; 15+ messages in thread
From: Alexander Kanavin @ 2017-11-06 16:00 UTC (permalink / raw)
  To: Mark Hatle, openembedded-core, Khem Raj

On 11/03/2017 07:58 PM, Mark Hatle wrote:
>> Unfortunately, this also breaks grub and grub-efi:
>>
>> x86_64-poky-linux-musl-objcopy:
>> /home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module(.debug_aranges):
>> relocation 1 has invalid symbol index 2053731167
>> x86_64-poky-linux-musl-objcopy:
>> /home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module:
>> invalid relocation type 69
>> x86_64-poky-linux-musl-objcopy: BFD (GNU Binutils) 2.29.0.20170912
>> assertion fail ../../bfd/elf64-x86-64.c:351
>> x86_64-poky-linux-musl-objcopy:
>> /home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module(.debug_info):
>> relocation 0 has invalid symbol index 1634754402
>>
> 
> Look at debugedit.  This is the program used to adjust some of the debug references.

Thanks, this is the offending commit:

https://github.com/rpm-software-management/rpm/commit/88989572fff1f31e0c4f972a6895585e4742ef4b

Looks like they added sophisticated in-place processing/rewriting of the 
actual binary (that is not possible to switch off). And it fails in case 
of grub modules.

We, on the other hand, only need to extract the list of debug source 
code files. Any hint on how to do that without the use of rpm/debugedit? 
Perhaps something from binutils/elfutils?

Alex


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] rpm: update to 4.14.0
  2017-11-03 10:14 ` Alexander Kanavin
  2017-11-03 16:21   ` Khem Raj
@ 2017-11-03 17:58   ` Mark Hatle
  2017-11-06 16:00     ` Alexander Kanavin
  1 sibling, 1 reply; 15+ messages in thread
From: Mark Hatle @ 2017-11-03 17:58 UTC (permalink / raw)
  To: openembedded-core

On 11/3/17 5:14 AM, Alexander Kanavin wrote:
> On 10/18/2017 03:14 PM, Alexander Kanavin wrote:
>> Previously oe-core had a development snapshot of rpm, it's better to update
>> to something more stable.
> 
> Unfortunately, this also breaks grub and grub-efi:
> 
> x86_64-poky-linux-musl-objcopy: 
> /home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module(.debug_aranges): 
> relocation 1 has invalid symbol index 2053731167
> x86_64-poky-linux-musl-objcopy: 
> /home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module: 
> invalid relocation type 69
> x86_64-poky-linux-musl-objcopy: BFD (GNU Binutils) 2.29.0.20170912 
> assertion fail ../../bfd/elf64-x86-64.c:351
> x86_64-poky-linux-musl-objcopy: 
> /home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module(.debug_info): 
> relocation 0 has invalid symbol index 1634754402
> 

Look at debugedit.  This is the program used to adjust some of the debug references.

--Mark

> Khem, any idea where I could start looking to see what's wrong?
> 
> 
> Thanks,
> Alex
> 



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] rpm: update to 4.14.0
  2017-11-03 10:14 ` Alexander Kanavin
@ 2017-11-03 16:21   ` Khem Raj
  2017-11-03 17:58   ` Mark Hatle
  1 sibling, 0 replies; 15+ messages in thread
From: Khem Raj @ 2017-11-03 16:21 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

On Fri, Nov 3, 2017 at 3:14 AM, Alexander Kanavin
<alexander.kanavin@linux.intel.com> wrote:
> On 10/18/2017 03:14 PM, Alexander Kanavin wrote:
>>
>> Previously oe-core had a development snapshot of rpm, it's better to
>> update
>> to something more stable.
>
>
> Unfortunately, this also breaks grub and grub-efi:
>
> x86_64-poky-linux-musl-objcopy:
> /home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module(.debug_aranges):
> relocation 1 has invalid symbol index 2053731167
> x86_64-poky-linux-musl-objcopy:
> /home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module:
> invalid relocation type 69
> x86_64-poky-linux-musl-objcopy: BFD (GNU Binutils) 2.29.0.20170912 assertion
> fail ../../bfd/elf64-x86-64.c:351
> x86_64-poky-linux-musl-objcopy:
> /home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module(.debug_info):
> relocation 0 has invalid symbol index 1634754402
>
>
> Khem, any idea where I could start looking to see what's wrong?
>

try to capture all the libs and .o in one dir and see if you can
isolate the testcase.
it seems a linker crash to me.

>
> Thanks,
> Alex


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] rpm: update to 4.14.0
  2017-10-18 12:14 Alexander Kanavin
@ 2017-11-03 10:14 ` Alexander Kanavin
  2017-11-03 16:21   ` Khem Raj
  2017-11-03 17:58   ` Mark Hatle
  0 siblings, 2 replies; 15+ messages in thread
From: Alexander Kanavin @ 2017-11-03 10:14 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer, Khem Raj

On 10/18/2017 03:14 PM, Alexander Kanavin wrote:
> Previously oe-core had a development snapshot of rpm, it's better to update
> to something more stable.

Unfortunately, this also breaks grub and grub-efi:

x86_64-poky-linux-musl-objcopy: 
/home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module(.debug_aranges): 
relocation 1 has invalid symbol index 2053731167
x86_64-poky-linux-musl-objcopy: 
/home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module: 
invalid relocation type 69
x86_64-poky-linux-musl-objcopy: BFD (GNU Binutils) 2.29.0.20170912 
assertion fail ../../bfd/elf64-x86-64.c:351
x86_64-poky-linux-musl-objcopy: 
/home/ak/development/poky/build-64/tmp/work/core2-64-poky-linux-musl/grub-efi/2.02-r0/package/usr/lib/grub/x86_64-efi/lvm.module(.debug_info): 
relocation 0 has invalid symbol index 1634754402


Khem, any idea where I could start looking to see what's wrong?


Thanks,
Alex


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH] rpm: update to 4.14.0
@ 2017-10-18 12:14 Alexander Kanavin
  2017-11-03 10:14 ` Alexander Kanavin
  0 siblings, 1 reply; 15+ messages in thread
From: Alexander Kanavin @ 2017-10-18 12:14 UTC (permalink / raw)
  To: openembedded-core

Previously oe-core had a development snapshot of rpm, it's better to update
to something more stable.

Removed patches:
0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch
(upstream is using pkg-config)
0001-When-nice-value-cannot-be-reset-issue-a-notice-inste.patch
(functionality has been moved to a plugin, we disable plugins
for rpm-native)
0012-Use-conditional-to-access-_docdir-in-macros.in.patch
(merged upstream)

Changed patches:
0001-Fix-build-with-musl-C-library.patch
(one previous musl issue has been resolved upstream; another has been added)

Rest of the patches are trivial rebases.

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
---
 ...N_ABI-when-searching-for-python-libraries.patch | 30 ----------
 ...code-lib-rpm-as-the-installation-path-for.patch | 20 +++----
 .../files/0001-Fix-build-with-musl-C-library.patch | 66 +++++++---------------
 ...alue-cannot-be-reset-issue-a-notice-inste.patch | 31 ----------
 ...c-remove-static-local-variables-from-buil.patch | 54 +++++++++---------
 ...ire-that-ELF-binaries-are-executable-to-b.patch | 11 ++--
 ...onditional-to-access-_docdir-in-macros.in.patch | 36 ------------
 .../0013-Add-a-new-option-alldeps-to-rpmdeps.patch | 17 +++---
 .../rpm/{rpm_git.bb => rpm_4.14.0.bb}              |  9 +--
 9 files changed, 75 insertions(+), 199 deletions(-)
 delete mode 100644 meta/recipes-devtools/rpm/files/0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch
 delete mode 100644 meta/recipes-devtools/rpm/files/0001-When-nice-value-cannot-be-reset-issue-a-notice-inste.patch
 delete mode 100644 meta/recipes-devtools/rpm/files/0012-Use-conditional-to-access-_docdir-in-macros.in.patch
 rename meta/recipes-devtools/rpm/{rpm_git.bb => rpm_4.14.0.bb} (92%)

diff --git a/meta/recipes-devtools/rpm/files/0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch b/meta/recipes-devtools/rpm/files/0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch
deleted file mode 100644
index b809332f217..00000000000
--- a/meta/recipes-devtools/rpm/files/0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 36cf0ff26ece53e529e8b4f2d2f09acd8794b055 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 24 Mar 2017 15:35:47 +0200
-Subject: [PATCH] Add PYTHON_ABI when searching for python libraries.
-
-It has a value of 'm' when using Python3, and so without it
-configure will not find the libraries.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9c58467c1..a506ec819 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -642,7 +642,7 @@ AS_IF([test "$enable_python" = yes],[
-       ])
-     CPPFLAGS="$save_CPPFLAGS"
-     save_LIBS="$LIBS"
--    AC_SEARCH_LIBS([Py_Main],[python${PYTHON_VERSION} python],[
-+    AC_SEARCH_LIBS([Py_Main],[python${PYTHON_VERSION}${PYTHON_ABI} python],[
-       WITH_PYTHON_LIB="$ac_res"
-     ],[AC_MSG_ERROR([missing python library])
-     ])
--- 
-2.11.0
-
diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
index 1f61acaf431..d7b1145bc5b 100644
--- a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
+++ b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
@@ -1,10 +1,10 @@
-From d82691b8d58201dd03e30585daacd8ffd1556ae2 Mon Sep 17 00:00:00 2001
+From 2b1a3f900f15034943fc41661eaab41bcc0d4d84 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 27 Feb 2017 09:43:30 +0200
-Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for
+Subject: [PATCH 06/15] Do not hardcode "lib/rpm" as the installation path for
  default configuration and macros.
 
-Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/263]
+Upstream-Status: Denied [https://github.com/rpm-software-management/rpm/pull/263]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
 
 ---
@@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
  3 files changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 4f3be8770..92ffd3d68 100644
+index 373d69484..c04a2e8d1 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -875,7 +875,7 @@ else
+@@ -1038,7 +1038,7 @@ else
      usrprefix=$prefix
  fi
  
@@ -27,10 +27,10 @@ index 4f3be8770..92ffd3d68 100644
  
  AC_SUBST(OBJDUMP)
 diff --git a/macros.in b/macros.in
-index c6d5a6b03..84ae25275 100644
+index 3f8dbba61..da4812540 100644
 --- a/macros.in
 +++ b/macros.in
-@@ -877,7 +877,7 @@ package or when debugging this package.\
+@@ -954,7 +954,7 @@ package or when debugging this package.\
  %_sharedstatedir	%{_prefix}/com
  %_localstatedir		%{_prefix}/var
  %_lib			lib
@@ -40,7 +40,7 @@ index c6d5a6b03..84ae25275 100644
  %_infodir		%{_datadir}/info
  %_mandir		%{_datadir}/man
 diff --git a/rpm.am b/rpm.am
-index 1f43ad8a0..6854ff6ba 100644
+index f0df0202f..37205a5eb 100644
 --- a/rpm.am
 +++ b/rpm.am
 @@ -1,10 +1,10 @@
@@ -55,7 +55,7 @@ index 1f43ad8a0..6854ff6ba 100644
 +rpmconfigdir = $(libdir)/rpm
  
  # Libtool version (current-revision-age) for all our libraries
- rpm_version_info = 7:0:0
+ rpm_version_info = 8:0:0
 -- 
-2.11.0
+2.14.2
 
diff --git a/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch b/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch
index edf9ec08940..0b1d6298a94 100644
--- a/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch
+++ b/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch
@@ -1,24 +1,21 @@
-From 211c2d11200e6657132c52e7ac68f8c118231262 Mon Sep 17 00:00:00 2001
+From d076de030deb9cafd9b2e82be5d506cebdefad0b Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 27 Feb 2017 14:43:21 +0200
-Subject: [PATCH] Fix build with musl C library.
+Subject: [PATCH 1/9] Fix build with musl C library.
 
-Upstream-Status: Inappropriate [problem already solved in master branch]
+Upstream-Status: Pending
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
 
-
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
 ---
- configure.ac        | 3 ++-
- misc/Makefile.am    | 3 +--
- misc/rpmxprogname.c | 3 +--
- 3 files changed, 4 insertions(+), 5 deletions(-)
+ configure.ac       | 3 ++-
+ rpmio/digest_nss.c | 1 +
+ 2 files changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/configure.ac b/configure.ac
-index 92ffd3d68..9c58467c1 100644
+index c04a2e8d1..c9d9ac16d 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -229,6 +229,7 @@ AC_SEARCH_LIBS(dlopen, [dl])
+@@ -255,6 +255,7 @@ AC_SEARCH_LIBS(dlopen, [dl])
  # Check for libelf library. Prefer external, otherwise none.
  WITH_LIBELF_LIB=
  AC_CHECK_HEADER([libelf.h])
@@ -26,7 +23,7 @@ index 92ffd3d68..9c58467c1 100644
  AC_CHECK_HEADERS([gelf.h], [
  	AC_CHECK_LIB(elf, gelf_getvernaux, [
  	    AC_DEFINE(HAVE_LIBELF, 1, [Define to 1 if you have the 'elf' library (-lelf).])
-@@ -237,7 +238,7 @@ AC_CHECK_HEADERS([gelf.h], [
+@@ -263,7 +264,7 @@ AC_CHECK_HEADERS([gelf.h], [
  	])
  ])
  AC_SUBST(WITH_LIBELF_LIB)
@@ -35,40 +32,17 @@ index 92ffd3d68..9c58467c1 100644
  
  AC_CHECK_HEADERS([dwarf.h], [
    WITH_LIBDWARF=yes
-diff --git a/misc/Makefile.am b/misc/Makefile.am
-index 8bf0093d9..b9db3d31a 100644
---- a/misc/Makefile.am
-+++ b/misc/Makefile.am
-@@ -5,10 +5,9 @@ AM_CPPFLAGS += -I$(top_srcdir)/misc
- 
- EXTRA_DIST = \
- 	fnmatch.c	fnmatch.h \
--	rpmxprogname.c	rpmxprogname.h \
- 	stpcpy.c	stpncpy.c
- 
- noinst_LTLIBRARIES = libmisc.la
- 
--libmisc_la_SOURCES = fts.c fts.h
-+libmisc_la_SOURCES = fts.c fts.h rpmxprogname.c rpmxprogname.h
- libmisc_la_LIBADD = @LTLIBOBJS@
-diff --git a/misc/rpmxprogname.c b/misc/rpmxprogname.c
-index f89600613..e94625ea8 100644
---- a/misc/rpmxprogname.c
-+++ b/misc/rpmxprogname.c
-@@ -13,7 +13,7 @@ char *_rpmxgetprogname(void)
- {
-   const char *empty = "";
- 
--  if (_rpmxprognam != NULL) /* never return NULL string */
-+  if (_rpmxprogname != NULL) /* never return NULL string */
-     return _rpmxprogname;
-   else
-     return empty;
-@@ -30,4 +30,3 @@ void _rpmxsetprogname(const char *pn)
-   }
- }
+diff --git a/rpmio/digest_nss.c b/rpmio/digest_nss.c
+index 992d9acf6..e11920e3e 100644
+--- a/rpmio/digest_nss.c
++++ b/rpmio/digest_nss.c
+@@ -1,5 +1,6 @@
+ #include "system.h"
  
--#endif /* _RPMXPROGNAME_H */
++#include <signal.h>
+ #include <pthread.h>
+ #include <nss.h>
+ #include <sechash.h>
 -- 
-2.11.0
+2.14.2
 
diff --git a/meta/recipes-devtools/rpm/files/0001-When-nice-value-cannot-be-reset-issue-a-notice-inste.patch b/meta/recipes-devtools/rpm/files/0001-When-nice-value-cannot-be-reset-issue-a-notice-inste.patch
deleted file mode 100644
index 9648cac7c9b..00000000000
--- a/meta/recipes-devtools/rpm/files/0001-When-nice-value-cannot-be-reset-issue-a-notice-inste.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From d42ece6fa15b98d7f9221b90b85b78631df2c0a0 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 14 Feb 2017 13:51:19 +0200
-Subject: [PATCH] When nice value cannot be reset, issue a notice instead of a
- warning
-
-Otherwise build logs on the autobuilder get very clutter, as it
-doesn't allow the nice value to be reset for some reason.
-
-Upstream-Status: Inappropriate [oe specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- lib/rpmscript.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/rpmscript.c b/lib/rpmscript.c
-index 5e1e99906..3975aead8 100644
---- a/lib/rpmscript.c
-+++ b/lib/rpmscript.c
-@@ -347,7 +347,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes,
-         int ret;
-         ret = setpriority(PRIO_PROCESS, 0, 0);
-         if (ret == -1) {
--            rpmlog(RPMLOG_WARNING, _("Unable to reset nice value: %s"),
-+            rpmlog(RPMLOG_NOTICE, _("Unable to reset nice value: %s\n"),
-                 strerror(errno));
-         }
- 
--- 
-2.11.0
-
diff --git a/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch b/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch
index 64a5651f7e1..8989dcebd1e 100644
--- a/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch
+++ b/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch
@@ -1,7 +1,7 @@
-From ec305795a302d226343e69031ff2024dfcde69c0 Mon Sep 17 00:00:00 2001
+From 8ce9fbab2990609bdace457e146160334e931c89 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 8 Jun 2017 17:08:09 +0300
-Subject: [PATCH 3/3] build/pack.c: remove static local variables from
+Subject: [PATCH 14/15] build/pack.c: remove static local variables from
  buildHost() and getBuildTime()
 
 Their use is causing difficult to diagnoze data races when building multiple
@@ -11,8 +11,8 @@ difficult to reason about code.
 Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/226]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
 
-
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
 ---
  build/build.c             | 54 ++++++++++++++++++++++++++++--
  build/pack.c              | 84 +++++++++--------------------------------------
@@ -20,7 +20,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
  3 files changed, 74 insertions(+), 72 deletions(-)
 
 diff --git a/build/build.c b/build/build.c
-index 5f99c8db7..09a1311c5 100644
+index 81152e53e..6001f9e52 100644
 --- a/build/build.c
 +++ b/build/build.c
 @@ -6,6 +6,8 @@
@@ -83,7 +83,7 @@ index 5f99c8db7..09a1311c5 100644
  /**
   */
  static rpmRC doRmSource(rpmSpec spec)
-@@ -203,6 +249,9 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
+@@ -201,6 +247,9 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
      rpmRC rc = RPMRC_OK;
      int test = (what & RPMBUILD_NOBUILD);
      char *cookie = buildArgs->cookie ? xstrdup(buildArgs->cookie) : NULL;
@@ -93,7 +93,7 @@ index 5f99c8db7..09a1311c5 100644
  
      if (rpmExpandNumeric("%{?source_date_epoch_from_changelog}") &&
  	getenv("SOURCE_DATE_EPOCH") == NULL) {
-@@ -271,11 +320,11 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
+@@ -269,11 +318,11 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
  		goto exit;
  
  	if (((what & RPMBUILD_PACKAGESOURCE) && !test) &&
@@ -107,7 +107,7 @@ index 5f99c8db7..09a1311c5 100644
  		goto exit;
  	
  	if ((what & RPMBUILD_CLEAN) &&
-@@ -295,6 +344,7 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
+@@ -293,6 +342,7 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
  	(void) unlink(spec->specFile);
  
  exit:
@@ -116,7 +116,7 @@ index 5f99c8db7..09a1311c5 100644
      spec->rootDir = NULL;
      if (rc != RPMRC_OK && rpmlogGetNrecs() > 0) {
 diff --git a/build/pack.c b/build/pack.c
-index ed5b9ab4e..62427065a 100644
+index df15876ff..17a4b0905 100644
 --- a/build/pack.c
 +++ b/build/pack.c
 @@ -6,8 +6,6 @@
@@ -128,7 +128,7 @@ index ed5b9ab4e..62427065a 100644
  #include <sys/wait.h>
  
  #include <rpm/rpmlib.h>			/* RPMSIGTAG*, rpmReadPackageFile */
-@@ -151,57 +149,6 @@ exit:
+@@ -152,57 +150,6 @@ exit:
      return rc;
  }
  
@@ -186,9 +186,9 @@ index ed5b9ab4e..62427065a 100644
  static rpmRC processScriptFiles(rpmSpec spec, Package pkg)
  {
      struct TriggerFileEntry *p;
-@@ -308,7 +255,8 @@ static int haveRichDep(Package pkg)
- }
- 
+@@ -476,7 +423,8 @@ exit:
+  * order to how the RPM format is laid on disk.
+  */
  static rpmRC writeRPM(Package pkg, unsigned char ** pkgidp,
 -		      const char *fileName, char **cookie)
 +		      const char *fileName, char **cookie,
@@ -196,7 +196,7 @@ index ed5b9ab4e..62427065a 100644
  {
      FD_t fd = NULL;
      char * rpmio_flags = NULL;
-@@ -397,7 +345,7 @@ static rpmRC writeRPM(Package pkg, unsigned char ** pkgidp,
+@@ -500,7 +448,7 @@ static rpmRC writeRPM(Package pkg, unsigned char ** pkgidp,
  
      /* Create and add the cookie */
      if (cookie) {
@@ -204,8 +204,8 @@ index ed5b9ab4e..62427065a 100644
 +	rasprintf(cookie, "%s %d", buildHost, buildTime);
  	headerPutString(pkg->header, RPMTAG_COOKIE, *cookie);
      }
-     
-@@ -546,7 +494,7 @@ static rpmRC checkPackages(char *pkgcheck)
+ 
+@@ -641,7 +589,7 @@ static rpmRC checkPackages(char *pkgcheck)
      return RPMRC_OK;
  }
  
@@ -214,7 +214,7 @@ index ed5b9ab4e..62427065a 100644
  {
  	const char *errorString;
  	rpmRC rc = RPMRC_OK;
-@@ -565,8 +513,8 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
+@@ -660,8 +608,8 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
  	headerCopyTags(spec->packages->header, pkg->header, copyTags);
  	
  	headerPutString(pkg->header, RPMTAG_RPMVERSION, VERSION);
@@ -225,7 +225,7 @@ index ed5b9ab4e..62427065a 100644
  
  	if (spec->sourcePkgId != NULL) {
  	    headerPutBin(pkg->header, RPMTAG_SOURCEPKGID, spec->sourcePkgId,16);
-@@ -604,7 +552,7 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
+@@ -699,7 +647,7 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
  	    free(binRpm);
  	}
  
@@ -234,7 +234,7 @@ index ed5b9ab4e..62427065a 100644
  	if (rc == RPMRC_OK) {
  	    /* Do check each written package if enabled */
  	    char *pkgcheck = rpmExpand("%{?_build_pkgcheck} ", *filename, NULL);
-@@ -624,7 +572,7 @@ struct binaryPackageTaskData
+@@ -719,7 +667,7 @@ struct binaryPackageTaskData
      struct binaryPackageTaskData *next;
  };
  
@@ -243,7 +243,7 @@ index ed5b9ab4e..62427065a 100644
  {
      struct binaryPackageTaskData *tasks = NULL;
      struct binaryPackageTaskData *task = NULL;
-@@ -636,7 +584,7 @@ static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const c
+@@ -731,7 +679,7 @@ static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const c
          if (pkg == spec->packages) {
              // the first package needs to be processed ahead of others, as they copy
              // changelog data from it, and so otherwise data races would happen
@@ -252,7 +252,7 @@ index ed5b9ab4e..62427065a 100644
              rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename);
              tasks = task;
          }
-@@ -653,7 +601,7 @@ static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const c
+@@ -748,7 +696,7 @@ static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const c
          if (task != tasks)
          #pragma omp task
          {
@@ -261,7 +261,7 @@ index ed5b9ab4e..62427065a 100644
              rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename);
          }
      }
-@@ -671,11 +619,11 @@ static void freeBinaryPackageTasks(struct binaryPackageTaskData* tasks)
+@@ -766,11 +714,11 @@ static void freeBinaryPackageTasks(struct binaryPackageTaskData* tasks)
      }
  }
  
@@ -275,7 +275,7 @@ index ed5b9ab4e..62427065a 100644
  
      for (struct binaryPackageTaskData *task = tasks; task != NULL; task = task->next) {
          if (task->result == RPMRC_OK) {
-@@ -702,22 +650,22 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
+@@ -797,7 +745,7 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
      return RPMRC_OK;
  }
  
@@ -284,6 +284,7 @@ index ed5b9ab4e..62427065a 100644
  {
      Package sourcePkg = spec->sourcePackage;
      rpmRC rc;
+@@ -805,8 +753,8 @@ rpmRC packageSources(rpmSpec spec, char **cookie)
  
      /* Add some cruft */
      headerPutString(sourcePkg->header, RPMTAG_RPMVERSION, VERSION);
@@ -291,9 +292,10 @@ index ed5b9ab4e..62427065a 100644
 -    headerPutUint32(sourcePkg->header, RPMTAG_BUILDTIME, getBuildTime(), 1);
 +    headerPutString(sourcePkg->header, RPMTAG_BUILDHOST, buildHost);
 +    headerPutUint32(sourcePkg->header, RPMTAG_BUILDTIME, &buildTime, 1);
+     headerPutUint32(sourcePkg->header, RPMTAG_SOURCEPACKAGE, &one, 1);
  
      /* XXX this should be %_srpmdir */
-     {	char *fn = rpmGetPath("%{_srcrpmdir}/", spec->sourceRpmName,NULL);
+@@ -814,7 +762,7 @@ rpmRC packageSources(rpmSpec spec, char **cookie)
  	char *pkgcheck = rpmExpand("%{?_build_pkgcheck_srpm} ", fn, NULL);
  
  	spec->sourcePkgId = NULL;
@@ -303,10 +305,10 @@ index ed5b9ab4e..62427065a 100644
  	/* Do check SRPM package if enabled */
  	if (rc == RPMRC_OK && pkgcheck[0] != ' ') {
 diff --git a/build/rpmbuild_internal.h b/build/rpmbuild_internal.h
-index 8351a6a34..797337ca7 100644
+index 439b7d3b5..07e8338ad 100644
 --- a/build/rpmbuild_internal.h
 +++ b/build/rpmbuild_internal.h
-@@ -408,19 +408,23 @@ rpmRC processSourceFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags);
+@@ -427,19 +427,23 @@ rpmRC processSourceFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags);
   * @param spec		spec file control structure
   * @param cookie	build identifier "cookie" or NULL
   * @param cheating	was build shortcircuited?
@@ -333,5 +335,5 @@ index 8351a6a34..797337ca7 100644
  RPM_GNUC_INTERNAL
  int addLangTag(rpmSpec spec, Header h, rpmTagVal tag,
 -- 
-2.11.0
+2.14.2
 
diff --git a/meta/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch b/meta/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch
index c910a478eea..4ac5c38f063 100644
--- a/meta/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch
+++ b/meta/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch
@@ -1,7 +1,7 @@
-From d65d6e8760afbd7f70b22a1f3297a037bc475fea Mon Sep 17 00:00:00 2001
+From 5141d50d7b3d3c209a22c53deedb4ceef014401d Mon Sep 17 00:00:00 2001
 From: Peter Kjellerstedt <pkj@axis.com>
 Date: Mon, 15 May 2017 10:21:08 +0200
-Subject: [PATCH 11/13] Do not require that ELF binaries are executable to be
+Subject: [PATCH 09/15] Do not require that ELF binaries are executable to be
  identifiable
 
 There is nothing that requires, e.g., a DSO to be executable, but it
@@ -14,19 +14,20 @@ or not.
 
 Upstream-Status: Inappropriate
 Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+
 ---
  fileattrs/elf.attr | 1 -
  1 file changed, 1 deletion(-)
 
 diff --git a/fileattrs/elf.attr b/fileattrs/elf.attr
-index 595b33e09..bac52649d 100644
+index 5805dd0ee..3516f309d 100644
 --- a/fileattrs/elf.attr
 +++ b/fileattrs/elf.attr
 @@ -1,4 +1,3 @@
  %__elf_provides		%{_rpmconfigdir}/elfdeps --provides %{?__filter_GLIBC_PRIVATE:--filter-private}
  %__elf_requires		%{_rpmconfigdir}/elfdeps --requires %{?__filter_GLIBC_PRIVATE:--filter-private}
- %__elf_magic		^(setuid )?(setgid )?(sticky )?ELF (32|64)-bit.*$
+ %__elf_magic		^(setuid,? )?(setgid,? )?(sticky )?ELF (32|64)-bit.*$
 -%__elf_flags		exeonly
 -- 
-2.12.0
+2.14.2
 
diff --git a/meta/recipes-devtools/rpm/files/0012-Use-conditional-to-access-_docdir-in-macros.in.patch b/meta/recipes-devtools/rpm/files/0012-Use-conditional-to-access-_docdir-in-macros.in.patch
deleted file mode 100644
index 996da90d43d..00000000000
--- a/meta/recipes-devtools/rpm/files/0012-Use-conditional-to-access-_docdir-in-macros.in.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 77808db4036dc4a012c47aca36255549ed764a6a Mon Sep 17 00:00:00 2001
-From: Peter Kjellerstedt <pkj@axis.com>
-Date: Tue, 16 May 2017 10:58:18 +0200
-Subject: [PATCH 12/13] Use conditional to access %{_docdir} in macros.in
-
-This avoids the following warning:
-
-warning: Ignoring invalid regex %{_docdir}
-
-when runing `rpmdeps -R <file>`, since %{_docdir} is only defined when
-parsing a spec file (in parseSpec()).
-
-Upstream-Status: Accepted [https://github.com/rpm-software-management/rpm/pull/216]
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- macros.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/macros.in b/macros.in
-index 84ae25275..cca67a500 100644
---- a/macros.in
-+++ b/macros.in
-@@ -200,8 +200,8 @@ package or when debugging this package.\
- # Their purpouse is to set up global filtering for all packages. If you need
- # to set up specific filtering for your package use %__requires_exclude_from
- # and %__provides_exclude_from instead.
--%__global_requires_exclude_from		%{_docdir}
--%__global_provides_exclude_from		%{_docdir}
-+%__global_requires_exclude_from		%{?_docdir:%{_docdir}}
-+%__global_provides_exclude_from		%{?_docdir:%{_docdir}}
- 
- #	The path to the gzip executable (legacy, use %{__gzip} instead).
- %_gzipbin		%{__gzip}
--- 
-2.12.0
-
diff --git a/meta/recipes-devtools/rpm/files/0013-Add-a-new-option-alldeps-to-rpmdeps.patch b/meta/recipes-devtools/rpm/files/0013-Add-a-new-option-alldeps-to-rpmdeps.patch
index faaf62960c1..d84e8b54d8d 100644
--- a/meta/recipes-devtools/rpm/files/0013-Add-a-new-option-alldeps-to-rpmdeps.patch
+++ b/meta/recipes-devtools/rpm/files/0013-Add-a-new-option-alldeps-to-rpmdeps.patch
@@ -1,7 +1,7 @@
-From 3bf20a6116ae3e1a5a3a6907bee7e881b17efb2f Mon Sep 17 00:00:00 2001
+From ef9f8c17c3e5c35d3b55db9ca76b0fa0d6336421 Mon Sep 17 00:00:00 2001
 From: Peter Kjellerstedt <pkj@axis.com>
 Date: Mon, 15 May 2017 11:23:26 +0200
-Subject: [PATCH 13/13] Add a new option --alldeps to rpmdeps
+Subject: [PATCH 10/15] Add a new option --alldeps to rpmdeps
 
 This will send the output from rpmfcPrint() to stdout. This is an
 alternative to using the --rpmfcdebug option, which will send the same
@@ -12,6 +12,7 @@ output options, e.g., --requires, without affecting their output.
 
 Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/220]
 Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+
 ---
  build/rpmfc.c   | 27 ++++++++++++++-------------
  build/rpmfc.h   |  1 -
@@ -19,10 +20,10 @@ Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
  3 files changed, 39 insertions(+), 33 deletions(-)
 
 diff --git a/build/rpmfc.c b/build/rpmfc.c
-index c8e2f876a..44f1cdc9a 100644
+index b8aea76d0..d04ffb297 100644
 --- a/build/rpmfc.c
 +++ b/build/rpmfc.c
-@@ -732,7 +732,6 @@ static rpm_color_t rpmfcColor(const char * fmstr)
+@@ -692,7 +692,6 @@ static rpm_color_t rpmfcColor(const char * fmstr)
  
  void rpmfcPrint(const char * msg, rpmfc fc, FILE * fp)
  {
@@ -30,7 +31,7 @@ index c8e2f876a..44f1cdc9a 100644
      int ndx;
      int dx;
      int fx;
-@@ -744,21 +743,23 @@ void rpmfcPrint(const char * msg, rpmfc fc, FILE * fp)
+@@ -704,21 +703,23 @@ void rpmfcPrint(const char * msg, rpmfc fc, FILE * fp)
  
      if (fc)
      for (fx = 0; fx < fc->nfiles; fx++) {
@@ -79,7 +80,7 @@ index dae8ea5b1..3d87b31cf 100644
   * @param fc		file classifier
   * @param fp		output file handle (NULL for stderr)
 diff --git a/tools/rpmdeps.c b/tools/rpmdeps.c
-index a414b6343..f260a38c4 100644
+index 419befce1..f260a38c4 100644
 --- a/tools/rpmdeps.c
 +++ b/tools/rpmdeps.c
 @@ -23,6 +23,8 @@ static int print_conflicts;
@@ -105,7 +106,7 @@ index a414b6343..f260a38c4 100644
  	goto exit;
  
 -    if (_rpmfc_debug)
--	rpmfcPrint(buf, fc, NULL);
+-	rpmfcPrint(NULL, fc, NULL);
 -
 -    if (print_provides)
 -	rpmdsPrint(NULL, rpmfcProvides(fc), stdout);
@@ -148,5 +149,5 @@ index a414b6343..f260a38c4 100644
      ec = 0;
  
 -- 
-2.12.0
+2.14.2
 
diff --git a/meta/recipes-devtools/rpm/rpm_git.bb b/meta/recipes-devtools/rpm/rpm_4.14.0.bb
similarity index 92%
rename from meta/recipes-devtools/rpm/rpm_git.bb
rename to meta/recipes-devtools/rpm/rpm_4.14.0.bb
index ea894a3470d..e2c1ee74933 100644
--- a/meta/recipes-devtools/rpm/rpm_git.bb
+++ b/meta/recipes-devtools/rpm/rpm_4.14.0.bb
@@ -24,19 +24,16 @@ HOMEPAGE = "http://www.rpm.org"
 LICENSE = "GPL-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=f5259151d26ff18e78023450a5ac8d96"
 
-SRC_URI = "git://github.com/rpm-software-management/rpm \
+SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
            file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \
            file://0001-Do-not-read-config-files-from-HOME.patch \
            file://0001-When-cross-installing-execute-package-scriptlets-wit.patch \
            file://0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch \
            file://0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch \
-           file://0001-When-nice-value-cannot-be-reset-issue-a-notice-inste.patch \
            file://0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch \
            file://0001-Fix-build-with-musl-C-library.patch \
            file://0001-Add-a-color-setting-for-mips64_n32-binaries.patch \
-           file://0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch \
            file://0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch \
-           file://0012-Use-conditional-to-access-_docdir-in-macros.in.patch \
            file://0013-Add-a-new-option-alldeps-to-rpmdeps.patch \
            file://0001-Split-binary-package-building-into-a-separate-functi.patch \
            file://0002-Run-binary-package-creation-via-thread-pools.patch \
@@ -44,11 +41,9 @@ SRC_URI = "git://github.com/rpm-software-management/rpm \
            file://0004-build-pack.c-remove-static-local-variables-from-buil.patch \
            file://0001-perl-disable-auto-reqs.patch \
            "
-UPSTREAM_VERSION_UNKNOWN = "1"
 
-PV = "4.13.90+git${SRCPV}"
 PE = "1"
-SRCREV = "a8e51b3bb05c6acb1d9b2e3d34f859ddda1677be"
+SRCREV = "da3720f62e57648fb1dc2a632744d38866139971"
 
 S = "${WORKDIR}/git"
 
-- 
2.14.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2017-12-18 15:59 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-18 16:00 [PATCH] rpm: update to 4.14.0 Alexander Kanavin
  -- strict thread matches above, loose matches on Subject: below --
2017-10-18 12:14 Alexander Kanavin
2017-11-03 10:14 ` Alexander Kanavin
2017-11-03 16:21   ` Khem Raj
2017-11-03 17:58   ` Mark Hatle
2017-11-06 16:00     ` Alexander Kanavin
2017-11-06 16:54       ` Mark Hatle
2017-11-07 14:53         ` Alexander Kanavin
2017-11-07 15:50           ` Otavio Salvador
2017-11-07 16:41           ` Mark Hatle
2017-11-07 21:17       ` Neal Gompa
2017-11-08 13:14         ` Alexander Kanavin
     [not found]           ` <1510153768.10879.80.camel@klomp.org>
2017-11-08 15:31             ` Mark Hatle
2017-11-09 13:19               ` Alexander Kanavin
2017-11-09 16:49               ` Alexander Kanavin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.