From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.multimedia-labs.de ([82.149.226.172]) by linuxtogo.org with esmtp (Exim 4.72) (envelope-from ) id 1PovnO-0001rH-4s for openembedded-devel@lists.openembedded.org; Mon, 14 Feb 2011 11:36:42 +0100 Received: from localhost (localhost [127.0.0.1]) by mail.multimedia-labs.de (Postfix) with ESMTP id 287AC314D9B9 for ; Mon, 14 Feb 2011 11:35:32 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mail.multimedia-labs.de Received: from mail.multimedia-labs.de ([127.0.0.1]) by localhost (mail.multimedia-labs.de [127.0.0.1]) (amavisd-new, port 10024) with LMTP id WSyEGG29ot1Z for ; Mon, 14 Feb 2011 11:35:26 +0100 (CET) Received: from [172.22.22.61] (ip-94-79-168-47.unitymediagroup.de [94.79.168.47]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.multimedia-labs.de (Postfix) with ESMTPSA id 29BE0314C47C for ; Mon, 14 Feb 2011 11:35:26 +0100 (CET) Message-ID: <4D59056C.8000602@opendreambox.org> Date: Mon, 14 Feb 2011 11:35:24 +0100 From: Andreas Oberritter User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.14) Gecko/20110208 Lightning/1.0b2 Thunderbird/3.1.8 MIME-Version: 1.0 To: openembedded-devel@lists.openembedded.org References: In-Reply-To: Subject: Re: Problem with dependencies in packages X-BeenThere: openembedded-devel@lists.openembedded.org X-Mailman-Version: 2.1.11 Precedence: list Reply-To: openembedded-devel@lists.openembedded.org List-Id: Using the OpenEmbedded metadata to build Distributions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2011 10:36:42 -0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit On 02/13/2011 11:50 PM, Filip Zyzniewski wrote: > Hi, > > I think I have found a problem with versioned dependencies (or I don't > unserstand something). > > I am trying to switch the jlime distribution from ipk to deb packages. > When debugging do_rootfs problems I stumbled upon this: > > The following packages have unmet dependencies: > libncursesw5: Depends: libtinfo5 (>= 5.7+20110115) but 5.7-r16 is to > be installed > E: Broken packages > > The Depends line in deb package control file comes from > classes/package_deb.bbclass:do_package_deb(): > > rdepends = explode_deps(unicode(bb.data.getVar("RDEPENDS", localdata, 1) or "")) > [...] > ctrlfile.write(u"Depends: %s\n" % ", ".join(rdepends)) > > > The dependency string comes from classes/package.bbclass:766: > dep = "%s (>= %s)" % (dep_pkg, ver_needed) > > ver_needed comes (in case of ncurses) from .ver files in the build > tree, generated by the same function a bit earlier using pkgver > variable set in lines 657-661: > > pkgver = bb.data.getVar('PKGV_' + pkg, d, True) > if not pkgver: > pkgver = bb.data.getVar('PV_' + pkg, d, True) > if not pkgver: > pkgver = ver > > and in ncurses_5.7.bb we have: > > PATCHDATE = "20110115" > PKGV = "${PV}+${PATCHDATE}" > > > Isn't this an incosistency that ncurses_5.7-r16 depends on > libtinfo5_5.7+20110115 ? Shouldn't it depend on libtinfo5_5.7-r16? > > What's the reason for this situation? Does opkg somehow compare these > versions in another way causing the problem to be invisible? It looks like deb packages currently use PV where PKGV should be used instead: package_ipk.bbclass: fields.append(["Version: %s:%s-%s\n", ['PE', 'PKGV', 'PKGR']]) package_deb.bbclass: fields.append(["Version: %s:%s-%s%s\n", ['PE', 'PV', 'PR', 'DISTRO_PR']]) Maybe it's worth factoring out common code for deb and ipk into a new file to avoid future bit rot. Regards, Andreas