summaryrefslogtreecommitdiffstats
path: root/meta/classes/package_deb.bbclass
diff options
context:
space:
mode:
authorRicardo Ribalda Delgado <ricardo.ribalda@gmail.com>2016-03-10 14:47:09 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-12 22:11:47 +0000
commitcbb4c5b0f1a08aa556ec53a34c1916d7cb60d419 (patch)
treee3f1fbd4c1711b74067dd0a410f855ec15b7e627 /meta/classes/package_deb.bbclass
parentfcc7ff072a6be2da36b6e7883d30c3c7ee02db0c (diff)
downloadpoky-cbb4c5b0f1a08aa556ec53a34c1916d7cb60d419.tar.gz
package-deb: Ignore circular dependencies
If a package depends on itself apt-get fails to install it with the error attached to this patch. This patch checks for this conditions and notifies the user so the recipe maintainer can fix his RDEPENDS variable. root@qt5022:~# apt-get install perl-module-cpan Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: perl-module-cpan 0 upgraded, 640 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/5964 kB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] E: Internal error: MaxLoopCount reached in SmartUnPack (2) for perl-module-cpan:amd64, aborting E: Internal error, packages left unconfigured. perl-module-cpan:amd64 root@qt5022:~# apt-get install perl-modules (From OE-Core rev: d8bf148c3b740254ed23d52cf244f0f6e9c7a4ab) Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/package_deb.bbclass')
-rw-r--r--meta/classes/package_deb.bbclass3
1 files changed, 3 insertions, 0 deletions
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index 6ecea0e182..e1d05a74c2 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -235,6 +235,9 @@ python do_package_deb () {
235 rdepends = bb.utils.explode_dep_versions2(localdata.getVar("RDEPENDS", True) or "") 235 rdepends = bb.utils.explode_dep_versions2(localdata.getVar("RDEPENDS", True) or "")
236 debian_cmp_remap(rdepends) 236 debian_cmp_remap(rdepends)
237 for dep in rdepends.keys(): 237 for dep in rdepends.keys():
238 if dep == pkg:
239 del rdepends[dep]
240 continue
238 if '*' in dep: 241 if '*' in dep:
239 del rdepends[dep] 242 del rdepends[dep]
240 rrecommends = bb.utils.explode_dep_versions2(localdata.getVar("RRECOMMENDS", True) or "") 243 rrecommends = bb.utils.explode_dep_versions2(localdata.getVar("RRECOMMENDS", True) or "")