Upgrade smartpm, less and elfutils
cover Upgrade smartpm, less and elfutils
Tested world core-image-sato core-image-sato-sdk build on:
qemux86
qemux86-64
qemuarm
qemuarm64
qemuppc
qemumpis
Also tested core-image-sato on rpm_4.11.2.
// Robert
The following changes since commit df6ddc4bf9795212fda87f9d401893eb254074da:
file: fix long-options (2015-07-07 23:57:14 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rbt/PU
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/PU
Robert Yang (3):
less: 471 -> 478
elfutils: 0.162 -> 0.163
python-smartpm: 1.4.1 -> 1.5
...m-Silence-Werror-maybe-uninitialized-fals.patch | 0
.../0001-remove-the-unneed-checking.patch | 0
.../arm_backend.diff | 0
.../arm_func_value.patch | 0
.../arm_unwind_ret_mask.patch | 0
.../fixheadercheck.patch | 0
.../hppa_backend.diff | 0
.../m68k_backend.diff | 0
.../mips_backend.diff | 0
.../mips_readelf_w.patch | 0
.../non_linux.patch | 0
.../redhat-portability.diff | 0
.../scanf-format.patch | 0
.../testsuite-ignore-elflint.diff | 0
.../uclibc-support-for-elfutils-0.161.patch | 0
.../{elfutils_0.162.bb => elfutils_0.163.bb} | 4 +-
.../python/python-smartpm/smart-attempt.patch | 164 ++-
.../smart-config-ignore-all-recommends.patch | 24 -
.../python-smartpm/smart-conflict-provider.patch | 196 ----
.../python/python-smartpm/smart-dflags.patch | 45 -
.../python-smartpm/smart-filename-NAME_MAX.patch | 35 -
.../smart-flag-exclude-packages.patch | 70 --
.../smart-flag-ignore-recommends.patch | 60 --
.../smart-improve-error-reporting.patch | 168 +---
.../python-smartpm/smart-metadata-match.patch | 28 -
.../python-smartpm/smart-multilib-fixes.patch | 22 -
.../python/python-smartpm/smart-recommends.patch | 1051 +-------------------
.../python-smartpm/smart-rpm-extra-macros.patch | 27 -
.../python/python-smartpm/smart-rpm-md-parse.patch | 26 -
.../python/python-smartpm/smart-rpm-root.patch | 80 --
.../python/python-smartpm/smart-tmpdir.patch | 30 -
.../python/python-smartpm/smart-yaml-error.patch | 86 --
.../python/python-smartpm/smartpm-rpm5-nodig.patch | 47 +-
.../python/python-smartpm_1.4.1.bb | 23 +-
...ossible-buffer-overrun-with-invalid-UTF-8.patch | 49 -
.../less/{less_471.bb => less_478.bb} | 7 +-
36 files changed, 137 insertions(+), 2105 deletions(-)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/0001-remove-the-unneed-checking.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/arm_backend.diff (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/arm_func_value.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/arm_unwind_ret_mask.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/fixheadercheck.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/hppa_backend.diff (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/m68k_backend.diff (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/mips_backend.diff (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/mips_readelf_w.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/non_linux.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/redhat-portability.diff (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/scanf-format.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/testsuite-ignore-elflint.diff (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/uclibc-support-for-elfutils-0.161.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils_0.162.bb => elfutils_0.163.bb} (95%)
delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-config-ignore-all-recommends.patch
delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-conflict-provider.patch
delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-dflags.patch
delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-filename-NAME_MAX.patch
delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-flag-exclude-packages.patch
delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-flag-ignore-recommends.patch
delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-metadata-match.patch
delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-multilib-fixes.patch
delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-rpm-extra-macros.patch
delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-rpm-md-parse.patch
delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-rpm-root.patch
delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-tmpdir.patch
delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-yaml-error.patch
delete mode 100644 meta/recipes-extended/less/less/0001-Fix-possible-buffer-overrun-with-invalid-UTF-8.patch
rename meta/recipes-extended/less/{less_471.bb => less_478.bb} (78%)Signature · 1 line
1.7.9.5
PATCH 1/3 less: 471 -> 478
* Remove backport patch 0001-Fix-possible-buffer-overrun-with-invalid-UTF-8.patch.
* The LICENSE's checksum changed because of year changed, the contents are the same.
---
...ossible-buffer-overrun-with-invalid-UTF-8.patch | 49 --------------------
.../less/{less_471.bb => less_478.bb} | 7 ++-
2 files changed, 3 insertions(+), 53 deletions(-)
delete mode 100644 meta/recipes-extended/less/less/0001-Fix-possible-buffer-overrun-with-invalid-UTF-8.patch
rename meta/recipes-extended/less/{less_471.bb => less_478.bb} (78%)meta/recipes-extended/less/less/0001-Fix-possible-buffer-overrun-with-invalid-UTF-8.patch deleted +0 -49
@@ -1,49 +0,0 @@ -From e0a1add063a657b98611c94debb3631b8ffa36fe Mon Sep 17 00:00:00 2001 -From: Junling Zheng <[email protected]> -Date: Fri, 24 Apr 2015 11:24:04 +0800 -Subject: [PATCH] Fix possible buffer overrun with invalid UTF-8 - -An out of bounds read access in the UTF-8 decoding can be triggered with -a malformed file in the tool less. The access happens in the function -is_utf8_well_formed due to a truncated multibyte character in the sample -file. - -The bug does not crash less, it can only be made visible by running less -with valgrind or compiling it with Address Sanitizer. - -Version 475 of less contains a fix for this issue. The file version.c -contains some entry mentioning this issue (without any credit): - - - v475 3/2/15 Fix possible buffer overrun with invalid UTF-8 - -The fix is in the file line.c. We derive this patch from: - -https://blog.fuzzing-project.org/3-less-out-of-bounds-read-access-TFPA-0022014.html - -Thank Claire Robinson for validating it on Mageia 4 i586. Refer to: - -https://bugs.mageia.org/show_bug.cgi?id=15567 - -Upstream Status: Backported - -Signed-off-by: Junling Zheng <[email protected]> ---- - line.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/line.c b/line.c -index 89495a3..474be2c 100644 ---- a/line.c -+++ b/line.c -@@ -807,7 +807,7 @@ pappend(c, pos) - mbc_buf[mbc_buf_index++] = c; - if (mbc_buf_index < mbc_buf_len) - return (0); -- if (is_utf8_well_formed(mbc_buf)) -+ if (is_utf8_well_formed(mbc_buf, mbc_buf_index)) - r = do_append(get_wchar(mbc_buf), mbc_buf, mbc_pos); - else - /* Complete, but not shortest form, sequence. */ --- -1.9.1 -
meta/recipes-extended/less/less_478.bb renamed from meta/recipes-extended/less/less_471.bb +3 -4
@@ -21,15 +21,14 @@ SECTION = "console/utils" LICENSE = "GPLv3+ | BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://LICENSE;md5=866cc220f330b04ae4661fc3cdfedea7" + file://LICENSE;md5=48c26a307f91af700e1f00585f215aaf" DEPENDS = "ncurses" SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz \ - file://0001-Fix-possible-buffer-overrun-with-invalid-UTF-8.patch \ " -SRC_URI[md5sum] = "9a40d29a2d84b41f9f36d7dd90b4f950" -SRC_URI[sha256sum] = "37f613fa9a526378788d790a92217d59b523574cf7159f6538da8564b3fb27f8" +SRC_URI[md5sum] = "934fcc9f137b9ef66a943c224f413d39" +SRC_URI[sha256sum] = "495c7df52199a0c7e6bfbbe7697b2b54f4bf197c8b10b43957762d74483574ce" inherit autotools update-alternatives
Signature · 1 line
1.7.9.5
PATCH 2/3 elfutils: 0.162 -> 0.163
In reply to Robert Yang---
...m-Silence-Werror-maybe-uninitialized-fals.patch | 0
.../0001-remove-the-unneed-checking.patch | 0
.../arm_backend.diff | 0
.../arm_func_value.patch | 0
.../arm_unwind_ret_mask.patch | 0
.../fixheadercheck.patch | 0
.../hppa_backend.diff | 0
.../m68k_backend.diff | 0
.../mips_backend.diff | 0
.../mips_readelf_w.patch | 0
.../non_linux.patch | 0
.../redhat-portability.diff | 0
.../scanf-format.patch | 0
.../testsuite-ignore-elflint.diff | 0
.../uclibc-support-for-elfutils-0.161.patch | 0
.../{elfutils_0.162.bb => elfutils_0.163.bb} | 4 ++--
16 files changed, 2 insertions(+), 2 deletions(-)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/0001-remove-the-unneed-checking.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/arm_backend.diff (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/arm_func_value.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/arm_unwind_ret_mask.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/fixheadercheck.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/hppa_backend.diff (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/m68k_backend.diff (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/mips_backend.diff (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/mips_readelf_w.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/non_linux.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/redhat-portability.diff (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/scanf-format.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/testsuite-ignore-elflint.diff (100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 => elfutils-0.163}/uclibc-support-for-elfutils-0.161.patch (100%)
rename meta/recipes-devtools/elfutils/{elfutils_0.162.bb => elfutils_0.163.bb} (95%)meta/recipes-devtools/elfutils/elfutils-0.163/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch renamed from meta/recipes-devtools/elfutils/elfutils-0.162/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch +0 -0
meta/recipes-devtools/elfutils/elfutils-0.163/0001-remove-the-unneed-checking.patch renamed from meta/recipes-devtools/elfutils/elfutils-0.162/0001-remove-the-unneed-checking.patch +0 -0
meta/recipes-devtools/elfutils/elfutils-0.163/arm_backend.diff renamed from meta/recipes-devtools/elfutils/elfutils-0.162/arm_backend.diff +0 -0
meta/recipes-devtools/elfutils/elfutils-0.163/arm_func_value.patch renamed from meta/recipes-devtools/elfutils/elfutils-0.162/arm_func_value.patch +0 -0
meta/recipes-devtools/elfutils/elfutils-0.163/arm_unwind_ret_mask.patch renamed from meta/recipes-devtools/elfutils/elfutils-0.162/arm_unwind_ret_mask.patch +0 -0
meta/recipes-devtools/elfutils/elfutils-0.163/fixheadercheck.patch renamed from meta/recipes-devtools/elfutils/elfutils-0.162/fixheadercheck.patch +0 -0
meta/recipes-devtools/elfutils/elfutils-0.163/hppa_backend.diff renamed from meta/recipes-devtools/elfutils/elfutils-0.162/hppa_backend.diff +0 -0
meta/recipes-devtools/elfutils/elfutils-0.163/m68k_backend.diff renamed from meta/recipes-devtools/elfutils/elfutils-0.162/m68k_backend.diff +0 -0
meta/recipes-devtools/elfutils/elfutils-0.163/mips_backend.diff renamed from meta/recipes-devtools/elfutils/elfutils-0.162/mips_backend.diff +0 -0
meta/recipes-devtools/elfutils/elfutils-0.163/mips_readelf_w.patch renamed from meta/recipes-devtools/elfutils/elfutils-0.162/mips_readelf_w.patch +0 -0
meta/recipes-devtools/elfutils/elfutils-0.163/non_linux.patch renamed from meta/recipes-devtools/elfutils/elfutils-0.162/non_linux.patch +0 -0
meta/recipes-devtools/elfutils/elfutils-0.163/redhat-portability.diff renamed from meta/recipes-devtools/elfutils/elfutils-0.162/redhat-portability.diff +0 -0
meta/recipes-devtools/elfutils/elfutils-0.163/scanf-format.patch renamed from meta/recipes-devtools/elfutils/elfutils-0.162/scanf-format.patch +0 -0
meta/recipes-devtools/elfutils/elfutils-0.163/testsuite-ignore-elflint.diff renamed from meta/recipes-devtools/elfutils/elfutils-0.162/testsuite-ignore-elflint.diff +0 -0
meta/recipes-devtools/elfutils/elfutils-0.163/uclibc-support-for-elfutils-0.161.patch renamed from meta/recipes-devtools/elfutils/elfutils-0.162/uclibc-support-for-elfutils-0.161.patch +0 -0
meta/recipes-devtools/elfutils/elfutils_0.163.bb renamed from meta/recipes-devtools/elfutils/elfutils_0.162.bb +2 -2
@@ -7,8 +7,8 @@ DEPENDS = "libtool bzip2 zlib virtual/libintl" SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/${PV}/${BP}.tar.bz2" -SRC_URI[md5sum] = "9334cbcc0df7669b7bf07cf7fc3ad52c" -SRC_URI[sha256sum] = "526106bc6be898b3b3281a66b83d64993aa0ef1b55b0416766868ad53d0a1951" +SRC_URI[md5sum] = "77ce87f259987d2e54e4d87b86cbee41" +SRC_URI[sha256sum] = "7c774f1eef329309f3b05e730bdac50013155d437518a2ec0e24871d312f2e23" SRC_URI += "\ file://mempcpy.patch \
Signature · 1 line
1.7.9.5
PATCH 3/3 python-smartpm: 1.4.1 -> 1.5
In reply to Robert Yang--- .../python/python-smartpm/smart-attempt.patch | 164 ++- .../smart-config-ignore-all-recommends.patch | 24 - .../python-smartpm/smart-conflict-provider.patch | 196 ---- .../python/python-smartpm/smart-dflags.patch | 45 - .../python-smartpm/smart-filename-NAME_MAX.patch | 35 - .../smart-flag-exclude-packages.patch | 70 -- .../smart-flag-ignore-recommends.patch | 60 -- .../smart-improve-error-reporting.patch | 168 +--- .../python-smartpm/smart-metadata-match.patch | 28 - .../python-smartpm/smart-multilib-fixes.patch | 22 - .../python/python-smartpm/smart-recommends.patch | 1051 +------------------- .../python-smartpm/smart-rpm-extra-macros.patch | 27 - .../python/python-smartpm/smart-rpm-md-parse.patch | 26 - .../python/python-smartpm/smart-rpm-root.patch | 80 -- .../python/python-smartpm/smart-tmpdir.patch | 30 - .../python/python-smartpm/smart-yaml-error.patch | 86 -- .../python/python-smartpm/smartpm-rpm5-nodig.patch | 47 +- .../python/python-smartpm_1.4.1.bb | 23 +- 18 files changed, 132 insertions(+), 2050 deletions(-) delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-config-ignore-all-recommends.patch delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-conflict-provider.patch delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-dflags.patch delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-filename-NAME_MAX.patch delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-flag-exclude-packages.patch delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-flag-ignore-recommends.patch delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-metadata-match.patch delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-multilib-fixes.patch delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-rpm-extra-macros.patch delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-rpm-md-parse.patch delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-rpm-root.patch delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-tmpdir.patch delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-yaml-error.patch
meta/recipes-devtools/python/python-smartpm/smart-attempt.patch +59 -105
@@ -18,38 +18,68 @@ Upstream-Status: Pending Signed-off-by: Mark Hatle <[email protected]> Signed-off-by: Paul Eggleton <[email protected]> --- - smart.py | 5 +++- - smart/commands/install.py | 5 ++++ - smart/transaction.py | 65 +++++++++++++++++++++++++++++++++++------------ - 3 files changed, 58 insertions(+), 17 deletions(-) + backends/rpm/pm.py | 35 ++++++++++++++++++++++++++++++++++- + transaction.py | 50 +++++++++++++++++++++++++++++++++++++------------- + 2 files changed, 71 insertions(+), 14 deletions(-) -Index: smart-1.4.1/smart/commands/install.py -=================================================================== ---- smart-1.4.1.orig/smart/commands/install.py -+++ smart-1.4.1/smart/commands/install.py -@@ -50,6 +50,8 @@ def option_parser(): - parser = OptionParser(usage=USAGE, - description=DESCRIPTION, - examples=EXAMPLES) -+ parser.add_option("--attempt", action="store_true", -+ help=_("attempt to install packages, ignore failures")) - parser.add_option("--stepped", action="store_true", - help=_("split operation in steps")) - parser.add_option("--urls", action="store_true", -@@ -80,6 +82,9 @@ def main(ctrl, opts): - if not opts.args: - raise Error, _("no package(s) given") - -+ if opts.attempt: -+ sysconf.set("attempt-install", True, soft=True) +diff --git a/smart/backends/rpm/pm.py b/smart/backends/rpm/pm.py +index 9bbd952..ba6405a 100644 +--- a/smart/backends/rpm/pm.py ++++ b/smart/backends/rpm/pm.py +@@ -241,15 +241,48 @@ class RPMPackageManager(PackageManager): + cb = RPMCallback(prog, upgradednames) + cb.grabOutput(True) + probs = None ++ retry = 0 + try: + probs = ts.run(cb, None) + finally: + del getTS.ts + cb.grabOutput(False) ++ if probs and sysconf.has("attempt-install", soft=True): ++ def remove_conflict(pkgNEVR): ++ for key in changeset.keys(): ++ if pkgNEVR == str(key): ++ del changeset[key] ++ del pkgpaths[key] ++ iface.warning("Removing %s due to file %s conflicting with %s" % (pkgNEVR, fname, altNEVR)) ++ break ++ ++ retry = 1 ++ for prob in probs: ++ if prob[1][0] == rpm.RPMPROB_NEW_FILE_CONFLICT: ++ msg = prob[0].split() ++ fname = msg[1] ++ pkgNEVR = msg[7] ++ altNEVR = msg[9] ++ pkgNEVR = pkgNEVR.rsplit('.', 1)[0] + '@' + pkgNEVR.rsplit('.', 1)[1] ++ altNEVR = altNEVR.rsplit('.', 1)[0] + '@' + altNEVR.rsplit('.', 1)[1] ++ remove_conflict(pkgNEVR) ++ elif prob[1][0] == rpm.RPMPROB_FILE_CONFLICT: ++ msg = prob[0].split() ++ fname = msg[1] ++ pkgNEVR = msg[5] ++ altNEVR = msg[11] ++ pkgNEVR = pkgNEVR.rsplit('.', 1)[0] + '@' + pkgNEVR.rsplit('.', 1)[1] ++ altNEVR = altNEVR.rsplit('.', 1)[0] + '@' + altNEVR.rsplit('.', 1)[1] ++ remove_conflict(pkgNEVR) ++ else: ++ retry = 0 + - if opts.explain: - sysconf.set("explain-changesets", True, soft=True) + prog.setDone() +- if probs: ++ if probs and (not retry): + raise Error, "\n".join([x[0] for x in probs]) + prog.stop() ++ if retry and len(changeset): ++ self.commit(changeset, pkgpaths) -Index: smart-1.4.1/smart/transaction.py -=================================================================== ---- smart-1.4.1.orig/smart/transaction.py -+++ smart-1.4.1/smart/transaction.py + class RPMCallback: + def __init__(self, prog, upgradednames): +diff --git a/smart/transaction.py b/smart/transaction.py +index 4b90cb7..3e043e9 100644 +--- a/smart/transaction.py ++++ b/smart/transaction.py @@ -555,6 +555,8 @@ class Transaction(object): changeset.set(pkg, INSTALL) isinst = changeset.installed
@@ -145,79 +175,3 @@ Index: smart-1.4.1/smart/transaction.py changeset.set(pkg, INSTALL) locked[pkg] = (LOCKED_INSTALL, None) elif op is REMOVE: -@@ -1216,9 +1240,18 @@ class Transaction(object): - else: - op = REMOVE - if op is INSTALL or op is REINSTALL: -- self._install(pkg, changeset, locked, pending) -- if pkg in changeset: -- changeset.setRequested(pkg, True) -+ try: -+ self._install(pkg, changeset, locked, pending) -+ if pkg in changeset: -+ changeset.setRequested(pkg, True) -+ except Failed, e: -+ if attempt: -+ iface.warning(_("Can't install %s: %s") % (pkg, e)) -+ if pkg in changeset: -+ del changeset[pkg] -+ continue -+ else: -+ raise Failed, e - elif op is REMOVE: - self._remove(pkg, changeset, locked, pending) - elif op is UPGRADE: -Index: smart-1.4.1/smart/backends/rpm/pm.py -=================================================================== ---- smart-1.4.1.orig/smart/backends/rpm/pm.py -+++ smart-1.4.1/smart/backends/rpm/pm.py -@@ -243,15 +253,48 @@ class RPMPackageManager(PackageManager): - cb = RPMCallback(prog, upgradednames) - cb.grabOutput(True) - probs = None -+ retry = 0 - try: - probs = ts.run(cb, None) - finally: - del getTS.ts - cb.grabOutput(False) -+ if probs and sysconf.has("attempt-install", soft=True): -+ def remove_conflict(pkgNEVR): -+ for key in changeset.keys(): -+ if pkgNEVR == str(key): -+ del changeset[key] -+ del pkgpaths[key] -+ iface.warning("Removing %s due to file %s conflicting with %s" % (pkgNEVR, fname, altNEVR)) -+ break -+ -+ retry = 1 -+ for prob in probs: -+ if prob[1][0] == rpm.RPMPROB_NEW_FILE_CONFLICT: -+ msg = prob[0].split() -+ fname = msg[1] -+ pkgNEVR = msg[7] -+ altNEVR = msg[9] -+ pkgNEVR = pkgNEVR.rsplit('.', 1)[0] + '@' + pkgNEVR.rsplit('.', 1)[1] -+ altNEVR = altNEVR.rsplit('.', 1)[0] + '@' + altNEVR.rsplit('.', 1)[1] -+ remove_conflict(pkgNEVR) -+ elif prob[1][0] == rpm.RPMPROB_FILE_CONFLICT: -+ msg = prob[0].split() -+ fname = msg[1] -+ pkgNEVR = msg[5] -+ altNEVR = msg[11] -+ pkgNEVR = pkgNEVR.rsplit('.', 1)[0] + '@' + pkgNEVR.rsplit('.', 1)[1] -+ altNEVR = altNEVR.rsplit('.', 1)[0] + '@' + altNEVR.rsplit('.', 1)[1] -+ remove_conflict(pkgNEVR) -+ else: -+ retry = 0 -+ - prog.setDone() -- if probs: -+ if probs and (not retry): - raise Error, "\n".join([x[0] for x in probs]) - prog.stop() -+ if retry and len(changeset): -+ self.commit(changeset, pkgpaths) - - class RPMCallback: - def __init__(self, prog, upgradednames):
meta/recipes-devtools/python/python-smartpm/smart-config-ignore-all-recommends.patch deleted +0 -24
@@ -1,24 +0,0 @@ -Add a simple method to disable the install of recommended packages - -Upstream-Status: Pending - -Usage: - smart config --set ignore-all-recommends=1 - -Signed-off-by: Mark Hatle <[email protected]> - -Index: smart-1.4.1/smart/transaction.py -=================================================================== ---- smart-1.4.1.orig/smart/transaction.py -+++ smart-1.4.1/smart/transaction.py -@@ -611,7 +611,9 @@ class Transaction(object): - for prv in req.providedby: - for prvpkg in prv.packages: - if not reqrequired: -- if pkgconf.testFlag("ignore-recommends", prvpkg): -+ if sysconf.get("ignore-all-recommends", 0) == 1: -+ continue -+ elif pkgconf.testFlag("ignore-recommends", prvpkg): - continue - if isinst(prvpkg): - found = True
meta/recipes-devtools/python/python-smartpm/smart-conflict-provider.patch deleted +0 -196
196 lines not on this page · raw message
meta/recipes-devtools/python/python-smartpm/smart-dflags.patch deleted +0 -45
45 lines not on this page · raw message
meta/recipes-devtools/python/python-smartpm/smart-filename-NAME_MAX.patch deleted +0 -35
@@ -1,35 +0,0 @@ -From a17998b6be3319ae476a64f366737bc267a53a8a Mon Sep 17 00:00:00 2001 -From: Robert Yang <[email protected]> -Date: Mon, 16 Sep 2013 05:54:13 -0400 -Subject: [PATCH] fetcher.py: truncate the filename to meet NAME_MAX - -The function getLocalPath() converts the filepath into the filename, -there would be a "File name too long" error when len(filename) > -NAME_MAX, truncate it to meet NAME_MAX will fix the problem. - -Signed-off-by: Robert Yang <[email protected]> ---- - smart/fetcher.py | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/smart/fetcher.py b/smart/fetcher.py ---- a/smart/fetcher.py -+++ b/smart/fetcher.py -@@ -139,6 +139,14 @@ class Fetcher(object): - filename = os.path.basename(path) - if self._localpathprefix: - filename = self._localpathprefix+filename -+ # pathconf requires the path existed -+ if not os.path.exists(self._localdir): -+ os.makedirs(self._localdir) -+ name_max = os.pathconf(self._localdir, 'PC_NAME_MAX') -+ # The length of the filename should be less than NAME_MAX -+ if len(filename) > name_max: -+ iface.debug(_("Truncate %s to %s") % (filename, filename[-name_max:])) -+ filename = filename[-name_max:] - return os.path.join(self._localdir, filename) - - def setForceCopy(self, value): --- -1.7.10.4 -
meta/recipes-devtools/python/python-smartpm/smart-flag-exclude-packages.patch deleted +0 -70
70 lines not on this page · raw message
meta/recipes-devtools/python/python-smartpm/smart-flag-ignore-recommends.patch deleted +0 -60
60 lines not on this page · raw message
meta/recipes-devtools/python/python-smartpm/smart-improve-error-reporting.patch +3 -165
187 lines not on this page · raw message
meta/recipes-devtools/python/python-smartpm/smart-metadata-match.patch deleted +0 -28
@@ -1,28 +0,0 @@ -smart - backends/rmp/metadata.py: Fix incorrect call to the match function - -The match function should take three parameters, name, comparison, version... -The original code was passing it a reference to the object holding the data -instead, which caused the comparison in match to always fail. - -Upstream-Status: Pending - -Signed-off-by: Mark Hatle <[email protected]> - ---- a/smart/backends/rpm/metadata.py -+++ b/smart/backends/rpm/metadata.py -@@ -332,13 +332,13 @@ - reqargs = [x for x in reqdict - if not ((x[2] is None or "=" in x[2]) and - (RPMProvides, x[1], x[3]) in prvdict or -- system_provides.match(*x[:3]))] -+ system_provides.match(x[1], x[2], x[3]))] - reqargs = collapse_libc_requires(reqargs) - - recargs = [x for x in recdict - if not ((x[2] is None or "=" in x[2]) and - (RPMProvides, x[1], x[3]) in prvdict or -- system_provides.match(*x[:3]))] -+ system_provides.match(x[1], x[2], x[3]))] - - prvargs = prvdict.keys() - cnfargs = cnfdict.keys()
meta/recipes-devtools/python/python-smartpm/smart-multilib-fixes.patch deleted +0 -22
@@ -1,22 +0,0 @@ -To fix some multilib issues, change the way the RPM backend decides -if two packages can coexist: if they have a different architecture, -automatically assume that they can coexist (which is fundamental for -multilib). - -Upstream-Status: Pending - -Signed-off-by: Bogdan Marinescu <[email protected]> - -diff --git a/smart/backends/rpm/base.py b/smart/backends/rpm/base.py -index 6e83d40..7140c1b 100644 ---- a/smart/backends/rpm/base.py -+++ b/smart/backends/rpm/base.py -@@ -228,6 +228,8 @@ class RPMPackage(Package): - return False - selfver, selfarch = splitarch(self.version) - otherver, otherarch = splitarch(other.version) -+ if selfarch != otherarch: -+ return True - selfcolor = getArchColor(selfarch) - othercolor = getArchColor(otherarch) - if (selfcolor and othercolor and selfcolor != othercolor and
meta/recipes-devtools/python/python-smartpm/smart-recommends.patch +35 -1016
1,119 lines not on this page · raw message
meta/recipes-devtools/python/python-smartpm/smart-rpm-extra-macros.patch deleted +0 -27
@@ -1,27 +0,0 @@ -backends/rpm: implement rpm-extra-macros option - -Allow defining extra macros in the smart configuration to be passed -to rpm before opening the database. - -Upstream-Status: Pending - -Signed-off-by: Paul Eggleton <[email protected]> - -diff --git a/smart/backends/rpm/base.py b/smart/backends/rpm/base.py -index b9e9cb2..234c844 100644 ---- a/smart/backends/rpm/base.py -+++ b/smart/backends/rpm/base.py -@@ -53,6 +53,10 @@ def rpm_join_dbpath(root, dbpath): - return os.path.join(root, dbpath) - - def getTS(new=False): -+ if sysconf.get("rpm-extra-macros"): -+ for key, value in sysconf.get("rpm-extra-macros").items(): -+ rpm.addMacro(key, str(value)) -+ - rpm_root = os.path.abspath(sysconf.get("rpm-root", "/")) - if not hasattr(getTS, "ts") or getTS.root != rpm_root: - getTS.root = rpm_root --- -1.7.9.5 -
meta/recipes-devtools/python/python-smartpm/smart-rpm-md-parse.patch deleted +0 -26
@@ -1,26 +0,0 @@ -backends/rpm: fix parsing of rpm-md metadata - -If assertions are disabled then the queue.pop() wasn't being executed, -leading to requires, recommends etc. not being read properly. - -Upstream-Status: Pending - -Signed-off-by: Paul Eggleton <[email protected]> - -diff --git a/smart/backends/rpm/metadata.py b/smart/backends/rpm/metadata.py -index 2c54f39..dc9df22 100644 ---- a/smart/backends/rpm/metadata.py -+++ b/smart/backends/rpm/metadata.py -@@ -188,7 +188,8 @@ class RPMMetaDataLoader(Loader): - - elif event == "end": - -- assert queue.pop() is elem -+ popped = queue.pop() -+ assert popped is elem - - if skip: - if tag == skip: --- -1.7.9.5 -
meta/recipes-devtools/python/python-smartpm/smart-rpm-root.patch deleted +0 -80
80 lines not on this page · raw message
meta/recipes-devtools/python/python-smartpm/smart-tmpdir.patch deleted +0 -30
@@ -1,30 +0,0 @@ -backends/rpm: remove creation of /var/tmp - -This doesn't appear to be needed, and breaks installation of base-files -in OpenEmbedded (since that is a symlink installed as part of the -package). - -Upstream-Status: Pending - -Signed-off-by: Paul Eggleton <[email protected]> - -diff --git a/smart/backends/rpm/base.py b/smart/backends/rpm/base.py -index 234c844..127354d 100644 ---- a/smart/backends/rpm/base.py -+++ b/smart/backends/rpm/base.py -@@ -82,12 +82,6 @@ def getTS(new=False): - else: - iface.warning(_("Initialized new rpm database at %s") - % getTS.root) -- tmpdir = os.path.join(getTS.root, "var/tmp") -- if not os.path.isdir(tmpdir): -- try: -- os.makedirs(tmpdir) -- except OSError: -- pass - if new: - if sysconf.get("rpm-dbpath"): - rpm.addMacro('_dbpath', "/" + sysconf.get("rpm-dbpath")) --- -1.7.9.5 -
meta/recipes-devtools/python/python-smartpm/smart-yaml-error.patch deleted +0 -86
86 lines not on this page · raw message
meta/recipes-devtools/python/python-smartpm/smartpm-rpm5-nodig.patch +30 -17
71 lines not on this page · raw message
meta/recipes-devtools/python/python-smartpm_1.4.1.bb +5 -18
@@ -9,37 +9,24 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833" DEPENDS = "python rpm gettext-native python-rpm" -PR = "r9" SRCNAME = "smart" SRC_URI = "\ - http://launchpad.net/smart/trunk/${PV}/+download/${SRCNAME}-${PV}.tar.bz2 \ + git://github.com/smartpm/smart.git \ file://smartpm-rpm5-nodig.patch \ - file://smart-rpm-root.patch \ file://smart-recommends.patch \ - file://smart-rpm-extra-macros.patch \ - file://smart-dflags.patch \ - file://smart-rpm-md-parse.patch \ - file://smart-tmpdir.patch \ - file://smart-metadata-match.patch \ file://smart-improve-error-reporting.patch \ - file://smart-multilib-fixes.patch \ - file://smart-yaml-error.patch \ file://smart-channelsdir.patch \ - file://smart-conflict-provider.patch \ - file://smart-flag-ignore-recommends.patch \ - file://smart-flag-exclude-packages.patch \ - file://smart-config-ignore-all-recommends.patch \ file://smart-attempt.patch \ - file://smart-filename-NAME_MAX.patch \ file://smart-rpm4-fixes.patch \ file://smart-add-for-rpm-ignoresize-check.patch \ file://smart-already-installed-message.patch \ " -SRC_URI[md5sum] = "573ef32ba177a6b3c4bf7ef04873fcb6" -SRC_URI[sha256sum] = "b1d519ddb43d60f293b065c28870a5d9e8b591cd49e8c68caea48ace91085eba" -S = "${WORKDIR}/${SRCNAME}-${PV}" +SRCREV = "407a7eca766431257dcd1da15175cc36a1bb22d0" +PV = "1.5+git${SRCPV}" + +S = "${WORKDIR}/git" # Options - rpm, qt4, gtk PACKAGECONFIG ??= "rpm"
Signature · 1 line
1.7.9.5
Sorry, please drop this threads, I sent the wrong ones.
// Robert
Quoted 95 lines · Robert Yang
Tested world core-image-sato core-image-sato-sdk build on:
qemux86
qemux86-64
qemuarm
qemuarm64
qemuppc
qemumpisAlso tested core-image-sato on rpm_4.11.2.
// Robert
The following changes since commit
df6ddc4bf9795212fda87f9d401893eb254074da:file: fix long-options (2015-07-07 23:57:14 +0100)are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribrbt/PU
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/PURobert Yang (3):
less: 471 -> 478 elfutils: 0.162 -> 0.163 python-smartpm: 1.4.1 -> 1.5...m-Silence-Werror-maybe-uninitialized-fals.patch | 0 .../0001-remove-the-unneed-checking.patch | 0 .../arm_backend.diff | 0 .../arm_func_value.patch | 0 .../arm_unwind_ret_mask.patch | 0 .../fixheadercheck.patch | 0 .../hppa_backend.diff | 0 .../m68k_backend.diff | 0 .../mips_backend.diff | 0 .../mips_readelf_w.patch | 0 .../non_linux.patch | 0 .../redhat-portability.diff | 0 .../scanf-format.patch | 0 .../testsuite-ignore-elflint.diff | 0 .../uclibc-support-for-elfutils-0.161.patch | 0 .../{elfutils_0.162.bb => elfutils_0.163.bb} | 4 +- .../python/python-smartpm/smart-attempt.patch | 164 ++- .../smart-config-ignore-all-recommends.patch | 24 - .../python-smartpm/smart-conflict-provider.patch | 196 ---- .../python/python-smartpm/smart-dflags.patch | 45 - .../python-smartpm/smart-filename-NAME_MAX.patch | 35 - .../smart-flag-exclude-packages.patch | 70 -- .../smart-flag-ignore-recommends.patch | 60 -- .../smart-improve-error-reporting.patch | 168 +--- .../python-smartpm/smart-metadata-match.patch | 28 - .../python-smartpm/smart-multilib-fixes.patch | 22 - .../python/python-smartpm/smart-recommends.patch | 1051 +------------------- .../python-smartpm/smart-rpm-extra-macros.patch | 27 - .../python/python-smartpm/smart-rpm-md-parse.patch | 26 - .../python/python-smartpm/smart-rpm-root.patch | 80 -- .../python/python-smartpm/smart-tmpdir.patch | 30 - .../python/python-smartpm/smart-yaml-error.patch | 86 -- .../python/python-smartpm/smartpm-rpm5-nodig.patch | 47 +- .../python/python-smartpm_1.4.1.bb | 23 +- ...ossible-buffer-overrun-with-invalid-UTF-8.patch | 49 - .../less/{less_471.bb => less_478.bb} | 7 +- 36 files changed, 137 insertions(+), 2105 deletions(-)rename meta/recipes-devtools/elfutils/{elfutils-0.162 =>
elfutils-0.163}/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch(100%) rename meta/recipes-devtools/elfutils/{elfutils-0.162 =>elfutils-0.163}/0001-remove-the-unneed-checking.patch(100%) rename meta/recipes-devtools/elfutils/{elfutils-0.162 =>elfutils-0.163}/arm_backend.diff(100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 =>elfutils-0.163}/arm_func_value.patch(100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 =>elfutils-0.163}/arm_unwind_ret_mask.patch(100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 =>elfutils-0.163}/fixheadercheck.patch(100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 =>elfutils-0.163}/hppa_backend.diff(100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 =>elfutils-0.163}/m68k_backend.diff(100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 =>elfutils-0.163}/mips_backend.diff(100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 =>elfutils-0.163}/mips_readelf_w.patch(100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 =>elfutils-0.163}/non_linux.patch(100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 =>elfutils-0.163}/redhat-portability.diff(100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 =>elfutils-0.163}/scanf-format.patch(100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 =>elfutils-0.163}/testsuite-ignore-elflint.diff(100%)
rename meta/recipes-devtools/elfutils/{elfutils-0.162 =>elfutils-0.163}/uclibc-support-for-elfutils-0.161.patch(100%) rename meta/recipes-devtools/elfutils/{elfutils_0.162.bb => elfutils_0.163.bb} (95%)
delete mode 100644meta/recipes-devtools/python/python-smartpm/smart-config-ignore-all-recommends.patch
delete mode 100644meta/recipes-devtools/python/python-smartpm/smart-conflict-provider.patch
delete mode 100644meta/recipes-devtools/python/python-smartpm/smart-dflags.patch
delete mode 100644meta/recipes-devtools/python/python-smartpm/smart-filename-NAME_MAX.patch
delete mode 100644meta/recipes-devtools/python/python-smartpm/smart-flag-exclude-packages.patch
delete mode 100644meta/recipes-devtools/python/python-smartpm/smart-flag-ignore-recommends.patch
delete mode 100644meta/recipes-devtools/python/python-smartpm/smart-metadata-match.patch
delete mode 100644meta/recipes-devtools/python/python-smartpm/smart-multilib-fixes.patch
delete mode 100644meta/recipes-devtools/python/python-smartpm/smart-rpm-extra-macros.patch
delete mode 100644meta/recipes-devtools/python/python-smartpm/smart-rpm-md-parse.patch
delete mode 100644meta/recipes-devtools/python/python-smartpm/smart-rpm-root.patch
delete mode 100644meta/recipes-devtools/python/python-smartpm/smart-tmpdir.patch
delete mode 100644meta/recipes-devtools/python/python-smartpm/smart-yaml-error.patch
delete mode 100644meta/recipes-extended/less/less/0001-Fix-possible-buffer-overrun-with-invalid-UTF-8.patch
rename meta/recipes-extended/less/{less_471.bb => less_478.bb} (78%)