diff options
Diffstat (limited to 'meta/recipes-devtools/python/python-smartpm')
14 files changed, 0 insertions, 1214 deletions
diff --git a/meta/recipes-devtools/python/python-smartpm/channels-rpm_sys-use-md5sum-instead-of-mtime-as-the-.patch b/meta/recipes-devtools/python/python-smartpm/channels-rpm_sys-use-md5sum-instead-of-mtime-as-the-.patch deleted file mode 100644 index 2f14a124ef..0000000000 --- a/meta/recipes-devtools/python/python-smartpm/channels-rpm_sys-use-md5sum-instead-of-mtime-as-the-.patch +++ /dev/null @@ -1,38 +0,0 @@ -channels/rpm_sys: use md5sum instead of mtime as the digest - -Use the internal getFileDigest() function (which defaults to md5) instead of -mtime for getting the file digest. On some systems mtime proved to be -unreliable because of delayed update. This caused smart to miss rpm db updates -and thus get its understanding of installed packages out of sync. - -Upstream-Status: Pending - -Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> ---- - smart/channels/rpm_sys.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/smart/channels/rpm_sys.py b/smart/channels/rpm_sys.py -index b9fda27..6f1fe94 100644 ---- a/smart/channels/rpm_sys.py -+++ b/smart/channels/rpm_sys.py -@@ -22,6 +22,7 @@ - from smart.backends.rpm.header import RPMDBLoader - from smart.backends.rpm.base import getTS, rpm_join_dbpath - from smart.channel import PackageChannel -+from smart.util.filetools import getFileDigest - from smart import * - import os - -@@ -35,7 +36,7 @@ class RPMSysChannel(PackageChannel): - dbdir = rpm_join_dbpath(sysconf.get("rpm-root", "/"), - sysconf.get("rpm-dbpath", "var/lib/rpm")) - path = os.path.join(dbdir, "Packages") -- digest = os.path.getmtime(path) -+ digest = getFileDigest(path) - if digest == self._digest: - return True - self.removeLoaders() --- -2.6.6 - diff --git a/meta/recipes-devtools/python/python-smartpm/smart-add-deugging-when-targetpath-is-empty.patch b/meta/recipes-devtools/python/python-smartpm/smart-add-deugging-when-targetpath-is-empty.patch deleted file mode 100644 index 5e80804bf4..0000000000 --- a/meta/recipes-devtools/python/python-smartpm/smart-add-deugging-when-targetpath-is-empty.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 01e51afd03131947f8d74b9a23fdbc0078249499 Mon Sep 17 00:00:00 2001 -From: Mariano Lopez <mariano.lopez@linux.intel.com> -Date: Wed, 3 Aug 2016 07:47:09 +0000 -Subject: [PATCH] fetcher.py: Add debugging when targetpath is empty - -There are several errors when openining files or manipulating -path strings, those errors point targetpath passed to -setSucceeded() is empty. This patch won't solve the problems, -but will add debugging to give an idea why is failing. - -Upstream-Status: Inappropriate [debugging] - -Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> ---- - smart/fetcher.py | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/smart/fetcher.py b/smart/fetcher.py -index dd3ff6b..64aa979 100644 ---- a/smart/fetcher.py -+++ b/smart/fetcher.py -@@ -594,6 +594,22 @@ class FetchItem(object): - self._eta = None - - def setSucceeded(self, targetpath, fetchedsize=0): -+ # It seems the in some odd cases targetpath here -+ # is empty, this will lead to bugs in several places -+ if not targetpath: -+ import traceback -+ tb_str = "" -+ for threadId, stack in sys._current_frames().items(): -+ tb_str += '\nThreadID: %s' % threadId -+ for filename, lineno, name, line in traceback.extract_stack(stack): -+ tb_str += '\nFile: "%s", line %d, in %s' % (filename, lineno, name) -+ if line: -+ tb_str += "\n %s" % line.strip() -+ error_string = ["No file path specified", -+ "URL: %s" % self._url, -+ "Status: %s" % self._status, -+ "Traceback: %s" % tb_str] -+ raise Error, _("\n".join(error_string)) - if self._status is not FAILED: - self._status = SUCCEEDED - self._targetpath = targetpath --- -2.6.6 - diff --git a/meta/recipes-devtools/python/python-smartpm/smart-add-for-rpm-ignoresize-check.patch b/meta/recipes-devtools/python/python-smartpm/smart-add-for-rpm-ignoresize-check.patch deleted file mode 100644 index fe98d070d3..0000000000 --- a/meta/recipes-devtools/python/python-smartpm/smart-add-for-rpm-ignoresize-check.patch +++ /dev/null @@ -1,35 +0,0 @@ -python-smartpm: Add checking for "rpm-ignoresize" option - -The do_rootfs takes a very long time when build host has mounted many NFS -devices. syscall lstat() was being called on every filesystem mounted on the -build host during building. -The reason for the lstat() is that rpm is verifying that enough free disk space -is available to do the install. However, since the install is into the target -rootfs it should not matter how much free space there is in the host mounts. -Add checking for "rpm-ignoresize", by it, smart can make whether RPM skip -checking for diskspace when install a rpm package. - -Upstream-Status: Pending - -Signed-off-by: wenlin.kang <wenlin.kang@windriver.com> -Signed-off-by: Chong Lu <Chong.Lu@windriver.com> ---- - smart/backends/rpm/pm.py | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: git/smart/backends/rpm/pm.py -=================================================================== ---- git.orig/smart/backends/rpm/pm.py -+++ git/smart/backends/rpm/pm.py -@@ -233,6 +233,11 @@ class RPMPackageManager(PackageManager): - if sysconf.get("rpm-order"): - ts.order() - probfilter = rpm.RPMPROB_FILTER_OLDPACKAGE -+ -+ if sysconf.get("rpm-ignoresize", False): -+ probfilter |= rpm.RPMPROB_FILTER_DISKNODES -+ probfilter |= rpm.RPMPROB_FILTER_DISKSPACE -+ - if force or reinstall: - probfilter |= rpm.RPMPROB_FILTER_REPLACEPKG - probfilter |= rpm.RPMPROB_FILTER_REPLACEOLDFILES diff --git a/meta/recipes-devtools/python/python-smartpm/smart-already-installed-message.patch b/meta/recipes-devtools/python/python-smartpm/smart-already-installed-message.patch deleted file mode 100644 index 9055555cd0..0000000000 --- a/meta/recipes-devtools/python/python-smartpm/smart-already-installed-message.patch +++ /dev/null @@ -1,54 +0,0 @@ -From a74a9a9eb9d75964a0e978950e8b191d7a18d763 Mon Sep 17 00:00:00 2001 -From: Paul Eggleton <paul.eggleton@linux.intel.com> -Date: Fri, 5 Jun 2015 17:07:16 +0100 -Subject: [PATCH] smart: change "is already installed" message from warning to - info - -This doesn't need to be a warning. - -Upstream-Status: Pending - -Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> ---- - smart/commands/install.py | 4 ++-- - smart/interfaces/text/interactive.py | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/smart/commands/install.py b/smart/commands/install.py -index 6ef9682..80d456b 100644 ---- a/smart/commands/install.py -+++ b/smart/commands/install.py -@@ -152,7 +152,7 @@ def main(ctrl, opts): - for obj in results: - for pkg in obj.packages: - if pkg.installed: -- iface.warning(_("%s (for %s) is already installed") -+ iface.info(_("%s (for %s) is already installed") - % (pkg, arg)) - installed = True - break -@@ -184,7 +184,7 @@ def main(ctrl, opts): - for name in names: - pkg = names[name][0] - if pkg.installed: -- iface.warning(_("%s is already installed") % pkg) -+ iface.info(_("%s is already installed") % pkg) - else: - trans.enqueue(pkg, INSTALL) - -diff --git a/smart/interfaces/text/interactive.py b/smart/interfaces/text/interactive.py -index 9865584..190867b 100644 ---- a/smart/interfaces/text/interactive.py -+++ b/smart/interfaces/text/interactive.py -@@ -278,7 +278,7 @@ class Interpreter(Cmd): - for name in names: - pkg = names[name][0] - if pkg.installed: -- iface.warning(_("%s is already installed") % pkg) -+ iface.info(_("%s is already installed") % pkg) - else: - found = True - transaction.enqueue(pkg, INSTALL) --- -2.1.0 - diff --git a/meta/recipes-devtools/python/python-smartpm/smart-attempt-fix.patch b/meta/recipes-devtools/python/python-smartpm/smart-attempt-fix.patch deleted file mode 100644 index 6e672b3321..0000000000 --- a/meta/recipes-devtools/python/python-smartpm/smart-attempt-fix.patch +++ /dev/null @@ -1,158 +0,0 @@ -Sadly, smart is not deterministic so the same build can go down multiple different -pathways. We'd expect to see the same warnings however depending on the pathway -taken, it may or may not warn, particularly with Recommends since they're optional. - -For example, where a Recommended package is available but has Conflicts, we'd expect -to see an warning that we couldn't install it. Some code paths silently hide this -(its a LOCKED_CONFLICT). We add printing of warnings for this case. - -Also, if there are two compatible feeds available (e.g. i586 and core2_32), this -changes the code path from direct _install() to _pending() since there are multiple -providers. This patch adds warning handling to _pending() so we don't hit hard -failures there. This is as seen with the mysterious libspeexdsp failures for x86-lsb -on the autobuilder. - -Upstream-Status: Pending -RP -2015/7/16 - -Index: git/smart/transaction.py -=================================================================== ---- git.orig/smart/transaction.py -+++ git/smart/transaction.py -@@ -651,13 +651,14 @@ class Transaction(object): - - if not prvpkgs: - # No packages provide it at all. Give up. -+ -+ reasons = [] -+ for prv in req.providedby: -+ for prvpkg in prv.packages: -+ lockedres = lockedpkgs.get(prvpkg, None) -+ if lockedres: -+ reasons.append(lock_reason(prvpkg, lockedres)) - if reqrequired: -- reasons = [] -- for prv in req.providedby: -- for prvpkg in prv.packages: -- lockedres = lockedpkgs.get(prvpkg, None) -- if lockedres: -- reasons.append(lock_reason(prvpkg, lockedres)) - if reasons: - raise Failed, _("Can't install %s: unable to install provider for %s:\n %s") % \ - (pkg, req, '\n '.join(reasons)) -@@ -665,7 +666,11 @@ class Transaction(object): - raise Failed, _("Can't install %s: no package provides %s") % \ - (pkg, req) - else: -+ if reasons: -+ iface.warning(_("Can't install %s: unable to install provider for %s:\n %s") % \ -+ (pkg, req, '\n '.join(reasons))) -+ - # It's only a recommend, skip - continue - - if len(prvpkgs) == 1: -@@ -846,6 +852,14 @@ class Transaction(object): - isinst = changeset.installed - getweight = self._policy.getWeight - -+ attempt = sysconf.has("attempt-install", soft=True) -+ -+ def handle_failure(msg): -+ if attempt: -+ iface.warning(msg) -+ else: -+ raise Failed, msg -+ - updown = [] - while pending: - item = pending.pop(0) -@@ -870,8 +884,9 @@ class Transaction(object): - - if not prvpkgs: - # No packages provide it at all. Give up. -- raise Failed, _("Can't install %s: no package " -- "provides %s") % (pkg, req) -+ handle_failure(_("Can't install %s: no package " -+ "provides %s") % (pkg, req)) -+ continue - - if len(prvpkgs) > 1: - # More than one package provide it. We use _pending here, -@@ -894,9 +909,10 @@ class Transaction(object): - keeporder, cs, lk)) - keeporder += 0.000001 - if not alternatives: -- raise Failed, _("Can't install %s: all packages " -+ handle_failure(_("Can't install %s: all packages " - "providing %s failed to install:\n%s")\ -- % (pkg, req, "\n".join(failures)) -+ % (pkg, req, "\n".join(failures))) -+ continue - alternatives.sort() - changeset.setState(alternatives[0][1]) - if len(alternatives) == 1: -@@ -954,18 +970,20 @@ class Transaction(object): - - for reqpkg in reqpkgs: - if reqpkg in locked and isinst(reqpkg): -- raise Failed, _("Can't remove %s: requiring " -+ handle_failure(_("Can't remove %s: requiring " - "package %s is locked") % \ -- (pkg, reqpkg) -+ (pkg, reqpkg)) -+ continue - for reqpkg in reqpkgs: - # We check again, since other actions may have - # changed their state. - if not isinst(reqpkg): - continue - if reqpkg in locked: -- raise Failed, _("Can't remove %s: requiring " -+ handle_failure(_("Can't remove %s: requiring " - "package %s is locked") % \ -- (pkg, reqpkg) -+ (pkg, reqpkg)) -+ continue - self._remove(reqpkg, changeset, locked, - pending, depth) - continue -@@ -978,12 +996,14 @@ class Transaction(object): - try: - for reqpkg in reqpkgs: - if reqpkg in locked and isinst(reqpkg): -- raise Failed, _("%s is locked") % reqpkg -+ handle_failure(_("%s is locked") % reqpkg) -+ continue - for reqpkg in reqpkgs: - if not cs.installed(reqpkg): - continue - if reqpkg in lk: -- raise Failed, _("%s is locked") % reqpkg -+ handle_failure(_("%s is locked") % reqpkg) -+ continue - self._remove(reqpkg, cs, lk, None, depth) - except Failed, e: - failures.append(unicode(e)) -@@ -991,9 +1011,10 @@ class Transaction(object): - alternatives.append((getweight(cs), cs, lk)) - - if not alternatives: -- raise Failed, _("Can't install %s: all packages providing " -+ handle_failure(_("Can't install %s: all packages providing " - "%s failed to install:\n%s") \ -- % (pkg, prv, "\n".join(failures)) -+ % (pkg, prv, "\n".join(failures))) -+ continue - - alternatives.sort() - changeset.setState(alternatives[0][1]) -@@ -1246,6 +1267,7 @@ class Transaction(object): - changeset.setRequested(pkg, True) - except Failed, e: - if sysconf.has("attempt-install", soft=True): -+ iface.warning(_("Can't install %s: %s") % (pkg, str(e))) - if pkg in changeset: - del changeset[pkg] - continue diff --git a/meta/recipes-devtools/python/python-smartpm/smart-attempt.patch b/meta/recipes-devtools/python/python-smartpm/smart-attempt.patch deleted file mode 100644 index e1182041bc..0000000000 --- a/meta/recipes-devtools/python/python-smartpm/smart-attempt.patch +++ /dev/null @@ -1,185 +0,0 @@ -From b105e7fe812da3ccaf7155c0fe14c8728b0d39a5 Mon Sep 17 00:00:00 2001 -From: Mark Hatle <mark.hatle@windriver.com> -Date: Mon, 20 Jan 2014 14:30:52 +0000 -Subject: [PATCH] Add mechanism to attempt install without failing - -In OpenEmbedded, for complementary and 'attemptonly' package processing, -we need a way to instruct smart to try to install, but ignore any -failures (usually conflicts). - -This option only works for the install operation. - -If a complementary install fails, an actual error occurred, one that -we can't ignore without losing the entire attempted transaction. Keep -this as an error so that we can catch these cases in the futre. - -Upstream-Status: Pending - -Signed-off-by: Mark Hatle <mark.hatle@windriver.com> -Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> ---- - backends/rpm/pm.py | 35 ++++++++++++++++++++++++++++++++++- - transaction.py | 50 +++++++++++++++++++++++++++++++++++++------------- - 2 files changed, 71 insertions(+), 14 deletions(-) - -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,56 @@ 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 there are file conflicts, and we're attempting installation, -+ # remove conflicting packages from the transaction and retry -+ # If there are other problems returned by ts.run(), that are not -+ # linked with packages/files conflicts (the returned list is empty), -+ # then don't retry -+ if (probs is not None) and (len(probs) != 0) 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 is not None: -+ # If there are other problems than packages/files conflicts -+ # returned by ts.run(), the returned list is empty, and if -+ # we're only attempting installation, then don't raise any error -+ if (probs is not None) and ((len(probs) != 0) or not sysconf.has("attempt-install", soft=True)) 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): -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 - -+ attempt = sysconf.has("attempt-install", soft=True) -+ - # Remove packages conflicted by this one. - for cnf in pkg.conflicts: - for prv in cnf.providedby: -@@ -564,11 +566,16 @@ class Transaction(object): - if not isinst(prvpkg): - locked[prvpkg] = (LOCKED_CONFLICT_BY, pkg) - continue -- if prvpkg in locked: -- raise Failed, _("Can't install %s: conflicted package " -- "%s is locked") % (pkg, prvpkg) -- self._remove(prvpkg, changeset, locked, pending, depth) -- pending.append((PENDING_UPDOWN, prvpkg)) -+ if attempt: -+ del changeset[pkg] -+ raise Failed, _("Can't install %s: it conflicts with package " -+ "%s") % (pkg, prvpkg) -+ else: -+ if prvpkg in locked: -+ raise Failed, _("Can't install %s: conflicted package " -+ "%s is locked") % (pkg, prvpkg) -+ self._remove(prvpkg, changeset, locked, pending, depth) -+ pending.append((PENDING_UPDOWN, prvpkg)) - - # Remove packages conflicting with this one. - for prv in pkg.provides: -@@ -579,12 +586,18 @@ class Transaction(object): - if not isinst(cnfpkg): - locked[cnfpkg] = (LOCKED_CONFLICT, pkg) - continue -- if cnfpkg in locked: -+ if attempt: -+ del changeset[pkg] - raise Failed, _("Can't install %s: it's conflicted by " -- "the locked package %s") \ -- % (pkg, cnfpkg) -- self._remove(cnfpkg, changeset, locked, pending, depth) -- pending.append((PENDING_UPDOWN, cnfpkg)) -+ "the package %s") \ -+ % (pkg, cnfpkg) -+ else: -+ if cnfpkg in locked: -+ raise Failed, _("Can't install %s: it's conflicted by " -+ "the locked package %s") \ -+ % (pkg, cnfpkg) -+ self._remove(cnfpkg, changeset, locked, pending, depth) -+ pending.append((PENDING_UPDOWN, cnfpkg)) - - # Remove packages with the same name that can't - # coexist with this one. -@@ -594,10 +607,15 @@ class Transaction(object): - if not isinst(namepkg): - locked[namepkg] = (LOCKED_NO_COEXIST, pkg) - continue -- if namepkg in locked: -+ if attempt: -+ del changeset[pkg] - raise Failed, _("Can't install %s: it can't coexist " - "with %s") % (pkg, namepkg) -- self._remove(namepkg, changeset, locked, pending, depth) -+ else: -+ if namepkg in locked: -+ raise Failed, _("Can't install %s: it can't coexist " -+ "with %s") % (pkg, namepkg) -+ self._remove(namepkg, changeset, locked, pending, depth) - - # Install packages required by this one. - for req in pkg.requires + pkg.recommends: -@@ -1176,6 +1194,8 @@ class Transaction(object): - - self._policy.runStarting() - -+ attempt = sysconf.has("attempt-install", soft=True) -+ - try: - changeset = self._changeset.copy() - isinst = changeset.installed -@@ -1190,7 +1210,11 @@ class Transaction(object): - locked[pkg] = (LOCKED_KEEP, None) - elif op is INSTALL: - if not isinst(pkg) and pkg in locked: -- raise Failed, _("Can't install %s: it's locked") % pkg -+ if attempt: -+ iface.warning(_("Can't install %s: it's locked") % pkg) -+ del changeset[pkg] -+ else: -+ raise Failed, _("Can't install %s: it's locked") % pkg - changeset.set(pkg, INSTALL) - locked[pkg] = (LOCKED_INSTALL, None) - elif op is REMOVE: diff --git a/meta/recipes-devtools/python/python-smartpm/smart-cache.py-getPackages-matches-name-version.patch b/meta/recipes-devtools/python/python-smartpm/smart-cache.py-getPackages-matches-name-version.patch deleted file mode 100644 index 225b02f964..0000000000 --- a/meta/recipes-devtools/python/python-smartpm/smart-cache.py-getPackages-matches-name-version.patch +++ /dev/null @@ -1,43 +0,0 @@ -From ee05e55e84b53f4bb0d0baba13ca47a8f84b7cb4 Mon Sep 17 00:00:00 2001 -From: Robert Yang <liezhi.yang@windriver.com> -Date: Wed, 30 Sep 2015 01:12:52 -0700 -Subject: [PATCH] smart:cache.py: getPackages() matches name + arch - -It only matched name ony in the past, for example: -smart install busybox (matched) -but: -smart install busybox@core2_64 (didn't match) - -The installation is very slow when no match since it would seach all the -packages in the repo -This patch makes it match both. - -Upstream-Status: Pending - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> ---- - smart/cache.py | 3 ++- - smart/ccache.c | 9 ++++++++- - 2 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/smart/control.py b/smart/control.py -index d44abe7..f23a604 100644 ---- a/smart/control.py -+++ b/smart/control.py -@@ -876,9 +876,13 @@ class Control(object): - objects = [] - - # If we find packages with exactly the given -- # name or name-version, use them. -- for pkg in self._cache.getPackages(s): -- if pkg.name == s or "%s-%s" % (pkg.name, pkg.version) == s: -+ # name, name-version, or name@arch, use them. -+ s_name = s -+ if "@" in s: -+ s_name = s.split("@")[0] -+ for pkg in self._cache.getPackages(s_name): -+ if pkg.name == s or "%s-%s" % (pkg.name, pkg.version) == s \ -+ or "%s@%s" % (pkg.name, pkg.version.split('@')[1]) == s: - objects.append((1.0, pkg)) - - if not objects: diff --git a/meta/recipes-devtools/python/python-smartpm/smart-channel-remove-all.patch b/meta/recipes-devtools/python/python-smartpm/smart-channel-remove-all.patch deleted file mode 100644 index da23e7ce42..0000000000 --- a/meta/recipes-devtools/python/python-smartpm/smart-channel-remove-all.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 6d2363a705697f615d9e5af5d6703b291e618b46 Mon Sep 17 00:00:00 2001 -From: Daniel Klauer <daniel.klauer@gin.de> -Date: Thu, 12 May 2016 17:55:01 +0200 -Subject: [PATCH] Fix channel command --remove-all option parsing - -Option.take_action() stores a list of options given for validation later. -It strips leading dashes and turns remaining dashes into underscores. -This list is what ensure_action() will compare its arguments against, -thus we must use underscores here. - -Upstream-Status: Pending - -Signed-off-by: Daniel Klauer <daniel.klauer@gin.de> ---- - smart/commands/channel.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/smart/commands/channel.py b/smart/commands/channel.py -index 108f3f1..6234f69 100644 ---- a/smart/commands/channel.py -+++ b/smart/commands/channel.py -@@ -164,7 +164,7 @@ def main(ctrl, opts): - opts.check_args_of_option("edit", 0) - opts.check_args_of_option("enable", -1) - opts.check_args_of_option("disable", -1) -- opts.ensure_action("channel", ["add", "set", "remove", "remove-all", -+ opts.ensure_action("channel", ["add", "set", "remove", "remove_all", - "list", "show", "yaml", "enable", "disable"]) - opts.check_remaining_args() - --- -1.9.1 - diff --git a/meta/recipes-devtools/python/python-smartpm/smart-channelsdir.patch b/meta/recipes-devtools/python/python-smartpm/smart-channelsdir.patch deleted file mode 100644 index e621b33875..0000000000 --- a/meta/recipes-devtools/python/python-smartpm/smart-channelsdir.patch +++ /dev/null @@ -1,24 +0,0 @@ -Make CHANNELSDIR in smart empty, since this causes host contamination issues -on some RPM-based hosts on which smart is already installed. - -[YOCTO #3881] - -Upstream-Status: Inappropriate [embedded specific] - -diff --git a/smart/plugins/channelsync.py b/smart/plugins/channelsync.py -index 3ba95ff..646d696 100644 ---- a/smart/plugins/channelsync.py -+++ b/smart/plugins/channelsync.py -@@ -23,7 +23,11 @@ from smart.channel import * - from smart import * - import os - --CHANNELSDIR = "/etc/smart/channels/" -+# For now, we leave the definition of CHANNELSDIR empty. This prevents smart -+# from erroneously consider the build host's channels while setting up its -+# channels [YOCTO #3881]. If this feature will be used in the future, CHANNELSDIR -+# should be set to a proper value. -+CHANNELSDIR = "" - - def syncChannels(channelsdir, force=None): - diff --git a/meta/recipes-devtools/python/python-smartpm/smart-locale.patch b/meta/recipes-devtools/python/python-smartpm/smart-locale.patch deleted file mode 100644 index 0f1dfb91d5..0000000000 --- a/meta/recipes-devtools/python/python-smartpm/smart-locale.patch +++ /dev/null @@ -1,27 +0,0 @@ -rpm or commands run by rpm can use output which isn't strictly acsii such -as quotation characters around expression which are character 0xe2. - -Use utf-8 as an encoding rather than whatever the system suggests to -ensure smart copes with this rather than erroring with unicode errors. - -RP 2016/5/19 -Upstream-Status: Pending - - -Index: git/smart/backends/rpm/pm.py -=================================================================== ---- git.orig/smart/backends/rpm/pm.py -+++ git/smart/backends/rpm/pm.py -@@ -32,11 +32,7 @@ from smart.pm import PackageManager - from smart import sysconf, iface, Error, _ - - --try: -- ENCODING = locale.getpreferredencoding() --except locale.Error: -- ENCODING = "ascii" -- -+ENCODING = "utf-8" - - def get_public_key(header): - return header.sprintf("%|DSAHEADER?{%{DSAHEADER:pgpsig}}:" diff --git a/meta/recipes-devtools/python/python-smartpm/smart-recommends.patch b/meta/recipes-devtools/python/python-smartpm/smart-recommends.patch deleted file mode 100644 index d607fc4752..0000000000 --- a/meta/recipes-devtools/python/python-smartpm/smart-recommends.patch +++ /dev/null @@ -1,381 +0,0 @@ -Handle recommended packages in core and rpm backends - -Identify and store recommended packages in the cache, add a query option -to read them and ignore them if they are not present when installing. - -Initial identification code from Mark Hatle <mark.hatle@windriver.com>. - -Upstream-Status: Pending - -Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> - -diff --git a/smart/backends/rpm/base.py b/smart/backends/rpm/base.py -index 9332ea0..4fcfbee 100644 ---- a/smart/backends/rpm/base.py -+++ b/smart/backends/rpm/base.py -@@ -225,6 +225,52 @@ class RPMPackage(Package): - break - else: - return False -+ srecs = fk(self.recommends) -+ orecs = fk(other.recommends) -+ if srecs != orecs: -+ for srec in srecs: -+ if srec.name[0] == "/" or srec in orecs: -+ continue -+ for orec in orecs: -+ if (srec.name == orec.name and -+ srec.relation == orec.relation and -+ checkver(srec.version, orec.version)): -+ break -+ else: -+ return False -+ for orec in orecs: -+ if orec.name[0] == "/" or orec in srecs: -+ continue -+ for srec in srecs: -+ if (srec.name == orec.name and -+ srec.relation == orec.relation and -+ checkver(srec.version, orec.version)): -+ break -+ else: -+ return False -+ srecs = fk(self.recommends) -+ orecs = fk(other.recommends) -+ if |
