summaryrefslogtreecommitdiffstats
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:21 +0000
commitd8bf148c3b740254ed23d52cf244f0f6e9c7a4ab (patch)
treee03b15e3049ca517c35f15949ed77da1ce27b12d
parent04aa40be126e00e2eb97311510e4d3ea90bfe7eb (diff)
downloadopenembedded-core-contrib-d8bf148c3b740254ed23d52cf244f0f6e9c7a4ab.tar.gz
openembedded-core-contrib-d8bf148c3b740254ed23d52cf244f0f6e9c7a4ab.tar.bz2
openembedded-core-contrib-d8bf148c3b740254ed23d52cf244f0f6e9c7a4ab.zip
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 Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-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 () {
rdepends = bb.utils.explode_dep_versions2(localdata.getVar("RDEPENDS", True) or "")
debian_cmp_remap(rdepends)
for dep in rdepends.keys():
+ if dep == pkg:
+ del rdepends[dep]
+ continue
if '*' in dep:
del rdepends[dep]
rrecommends = bb.utils.explode_dep_versions2(localdata.getVar("RRECOMMENDS", True) or "")