From patchwork Fri Jan 3 08:46:17 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: christian.braunersorensen@prevas.dk X-Patchwork-Id: 306490 X-Patchwork-Delegate: esben@haabendal.dk Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from hugin.dotsrc.org (hugin.dotsrc.org [IPv6:2001:878:346::102]) by ozlabs.org (Postfix) with ESMTP id 9ED6C2C020A for ; Fri, 3 Jan 2014 19:53:51 +1100 (EST) Received: from hugin.dotsrc.org (localhost [127.0.0.1]) by hugin.dotsrc.org (Postfix) with ESMTP id 5C9B63FFC2 for ; Fri, 3 Jan 2014 09:46:22 +0100 (CET) X-Original-To: dev@oe-lite.org Delivered-To: dev@oe-lite.org Received: from mail01.prevas.se (mail01.prevas.se [62.95.78.3]) by hugin.dotsrc.org (Postfix) with ESMTPS id C69BC3FF54 for ; Fri, 3 Jan 2014 09:46:20 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=prevas.dk; i=@prevas.dk; l=2995; q=dns/txt; s=ironport1; t=1388738780; x=1420274780; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=uyeHOCB4EUq+85BfEXe9eodaEE8jVLe9wM1Frx5bbXw=; b=N6AwRvQ70WnLmb1oEbVDyj0t5ROftjuljF6HQ4tSZB1LZEX5ua8QNm/n 2L6M3mCG5WbS4/DEk5YmeGTi7eItccg13EM7Qa/q51bG9XOxEn3IX9sOU RozaOPH3Ije/tLvDZ7rrnjadGUk3u2cuxdhuTL0NnyACy/j+AiyFn+UTt 0=; X-IronPort-AV: E=Sophos;i="4.95,596,1384297200"; d="scan'208";a="4271706" Received: from vmprevas3.prevas.se (HELO smtp.prevas.se) ([172.16.8.103]) by ironport1.prevas.se with ESMTP/TLS/AES128-SHA; 03 Jan 2014 09:46:20 +0100 Received: from localhost (172.16.10.102) by smtp.prevas.se (172.16.8.105) with Microsoft SMTP Server id 14.2.347.0; Fri, 3 Jan 2014 09:46:20 +0100 Received: by localhost (Postfix, from userid 30007) id 513A1681660; Fri, 3 Jan 2014 08:46:20 +0000 (UTC) From: To: Subject: [PATCH 4/5] package-qa: Ensure '_' is replaced by '-' Date: Fri, 3 Jan 2014 08:46:17 +0000 Message-ID: X-Mailer: git-send-email 1.8.4 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@oe-lite.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: OE-lite development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dev-bounces@oe-lite.org Errors-To: dev-bounces@oe-lite.org From: Christian Sørensen Signed-off-by: Christian Sørensen --- classes/package-qa.oeclass | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/classes/package-qa.oeclass b/classes/package-qa.oeclass index 4c6b8f2..25a9ef7 100644 --- a/classes/package-qa.oeclass +++ b/classes/package-qa.oeclass @@ -483,6 +483,7 @@ def do_packageqa(d): sonamify_re2 = re.compile(r"(.*?)(-[\d\.]*)?$") def sonamify(soname): def _sonamify(s): + s = s.replace("_","-") m = sonamify_re.match(s) if not m: oebakery.debug("non-matching SONAME: %s"%(s)) @@ -620,7 +621,10 @@ def do_packageqa(d): # check consistency between library SONAME's and lib* PROVIDES soname_libs = set([]) if soname: - soname_libs = set(sonamify(soname)) + soname_orig = set([]) + soname_orig = set(sonamify(soname)) + for lib in soname_orig: + soname_libs.add(lib.replace("_","-")) missing_lib_provides = soname_libs.difference(lib_provides) allowed_missing = set([]) if missing_lib_provides: @@ -655,14 +659,19 @@ def do_packageqa(d): # depends that are missing, ie. in needed but not in depends. - missing_depends = set(sonamify(needed)).difference( - depends_provides.union(assume_provided)) + dep_all = set([]) + for lib in depends_provides.union(assume_provided): + dep_all.add(lib.replace("_","-")) + missing_depends = set(sonamify(needed)).difference(dep_all) if missing_depends: missing_depends = list(missing_depends) + assume_tmp = set([]) + for lib in assume_provided: + assume_tmp.add(lib.replace("_","-")) for i in reversed(xrange(len(missing_depends))): dep = missing_depends[i] item = oelite.item.OEliteItem(dep, ('DEPENDS', pkg_type)) - if str(item) in assume_provided: + if str(item) in assume_tmp: del missing_depends[i] if missing_depends: msg = "Package %s missing DEPENDS: %s"%( @@ -673,8 +682,11 @@ def do_packageqa(d): oebakery.err(msg) ok = False if not pkg_type in ('native', 'cross', 'sdk-cross'): + rdep_all = set([]) + for lib in rdepends_provides: + rdep_all.add(lib.replace("_","-")) missing_rdepends = set(sonamify(needed)).difference( - rdepends_provides) + rdep_all) if missing_rdepends: msg = "Package %s missing RDEPENDS: %s"%( pkg, " ".join(sorted(missing_rdepends)))