From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6659727571892043776 X-Received: by 2002:adf:f10c:: with SMTP id r12mr144472wro.26.1550588747541; Tue, 19 Feb 2019 07:05:47 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:9688:: with SMTP id y130ls401538wmd.3.gmail; Tue, 19 Feb 2019 07:05:47 -0800 (PST) X-Google-Smtp-Source: AHgI3IZUeOBJHBGjS1e0qf8jeAhKwTh+61Xp1Qk1FV/1rq+42B32lNS+Ox8amaxPLn47ddeWPGe3 X-Received: by 2002:a1c:e703:: with SMTP id e3mr329581wmh.1.1550588747030; Tue, 19 Feb 2019 07:05:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550588747; cv=none; d=google.com; s=arc-20160816; b=doZyL0EMT9+BZT9XmGwrU9XLzWzzc1UlVTBK9R3TfdhwCGJLP9fIduxlhubiUF4Xhd Ld1Qw2kFKEjUJ77DnegNBd7pVxPLG8Sq9cfLFohZrzwbITCsDE19VWuXfrEy7nYapDNp hGXiN0+CJr7dsUC08aGNN7L3WzE2aw0BHjjsj6EJdnu3N761x9/za7iIZ9CPhgv5kUP7 0nH2yvx6Mdbrp980NU8E25PPsRLgMG9I/6uTBefb33DYOk/FPH+My8U2v734ZLNAgFaI 2dC86dJauKzFTEZZtDuRAtgENjFwslbN4BJ/xN/8qyrUdgxjXlhHr0lfr96eN2Cl1YIh QgkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from; bh=x3HX81skNZX50EBF3BO/GuM2RJfgkyDfQeSij499iK4=; b=vpl2k2iT4w1clMP1m8wpj5wVzBCB1vfzyZb33cUDP1sQTJjh/c62HCIHPPByg+vD57 N2RpaxfeJWOMbj5y1yYjHUa5GYezRc2Si1vU02aP2ZZzqfxXIn5DV2br7Zdm6Mxd4FEo dUDCJ8fCyQ3aBkr7sf9bjOlymreOzROZCyz0zZxpI52iU84v5uQ1Qd4JCkpZx9bl175e h7htW1GqPPuycFLjlZu1vlzXf/gahUESmhNtU2H6rh5ZzPgf/EsOi0cFONFif2Pw+q/2 3VrNGRKk9qv4SDVVGO/0rcU2gWDGrdTdZv6mwfRjPm6zdqoYJo9X3AtMHqA9rgle+aL9 5Qdw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=henning.schild@siemens.com Return-Path: Received: from gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id y200si127163wmd.0.2019.02.19.07.05.46 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 19 Feb 2019 07:05:47 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) client-ip=194.138.37.40; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=henning.schild@siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id x1JF5ke2016879 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 19 Feb 2019 16:05:46 +0100 Received: from md1za8fc.ad001.siemens.net ([139.25.68.200]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id x1JF5iHQ012325; Tue, 19 Feb 2019 16:05:44 +0100 From: Henning Schild To: isar-users Cc: Vladislav Jasek , Henning Schild Subject: [PATCHv2] dpkg-base: derive "Package" and "Architecture" from .deb in cleanup Date: Tue, 19 Feb 2019 16:05:20 +0100 Message-Id: <20190219150520.6440-1-henning.schild@siemens.com> X-Mailer: git-send-email 2.19.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUID: 5oFcazWtEvHV From: Henning Schild Instead of using "sed" pattern magic ask the .debs their name and architecture and remove exactly that. Especially the hardcoded Architecture caused problems for packages of architecture "all". If your recipe created such a package it could never be cleaned because it simply was not in the arch we expected it in. And now in a rebuild we can not add an updated version of the "all" deb. Reported-by: Vladislav Jasek Signed-off-by: Henning Schild --- meta/classes/dpkg-base.bbclass | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index 742b8ad..0f70f1d 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -98,13 +98,17 @@ do_build() { CLEANFUNCS += "repo_clean" repo_clean() { - PACKAGES=$(cd ${S}/..; ls *.deb | sed 's/\([^_]*\).*/\1/') - if [ -n "${PACKAGES}" ]; then - reprepro -b ${REPO_ISAR_DIR}/${DISTRO} \ - --dbdir ${REPO_ISAR_DB_DIR}/${DISTRO} \ - -C main -A ${DISTRO_ARCH} \ - remove ${DEBDISTRONAME} \ - ${PACKAGES} + DEBS=$( ls ${S}/../*.deb ) + if [ -n "${DEBS}" ]; then + for d in ${DEBS}; do + p=$( dpkg-deb --show --showformat '${Package}' ${d} ) + a=$( dpkg-deb --show --showformat '${Architecture}' ${d} ) + reprepro -b ${REPO_ISAR_DIR}/${DISTRO} \ + --dbdir ${REPO_ISAR_DB_DIR}/${DISTRO} \ + -C main -A ${a} \ + remove ${DEBDISTRONAME} \ + ${p} + done fi } -- 2.19.2