From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6659727571892043776 X-Received: by 2002:a1c:a74a:: with SMTP id q71mr420076wme.19.1553701560784; Wed, 27 Mar 2019 08:46:00 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:9cc7:: with SMTP id f190ls95365wme.8.canary-gmail; Wed, 27 Mar 2019 08:46:00 -0700 (PDT) X-Google-Smtp-Source: APXvYqyTakueyNHDlAoI38/CPJByTxr2B5XhVeSzYoKnyD3vfvYky6eoWc1I8VyIa8iGiDbW32jC X-Received: by 2002:a7b:ce0e:: with SMTP id m14mr466371wmc.13.1553701560378; Wed, 27 Mar 2019 08:46:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553701560; cv=none; d=google.com; s=arc-20160816; b=GbbTgAfe0VqM0XzdVp9UrEYWSNDRNCW8PJsILB+ukZ4645jcBvO96E1v6lnYqozv5j cMkP95fvFtCWRd+3BKu6wsPy983b21XaOiBFzJ+ETbdx2DZRpFdrJzmjhHy1PSt/KQkv G8Ac45djPifJSK8GvrELbyD+iOVTJifRiNCTyKGHg+3lxpF+NVpM+jUROn+zMNAjeiaQ hUrc4+4oRuuXcFjkflMqR5b+HdnMg5UJK+VyWmOA+MgdbbsFRED2p0pAA06nIDbhugPh JvX547fl0E8sTsrOOUG3iatnHddNAqplBFjo/MQ1e/EvSp4WuGFL0JUygldrPlVZvp0W sxtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date; bh=g8RZ0yGSgdAnJq/cmhBFyAraerfcb6iOGA9fE2XEGPk=; b=Oby5kaDOsHrH8iUGnYl5ElGo3hwD/AcwVElMBx64+pQPZ9M57mhZoycW58RggG2CMq 1vyQj9k4DwK26SBrmOCoMZjlN+VuUuDqucIYV1iQwYisiqlBSjshN2lQ6RDfONlRls16 nROkBiHJVkub9ht7lla7oPnPVlFdbx1S+w+MDy4cLjDYzoTMkqd3KUuamVmKBMJ/5ThH g5CUtZb2ojdtbnQWHeJwb1l1M5vSXu5TdnDoscJbdK6lGvQ1goTVNcaPem3KJkr7kfqs QscrZ/byTTtn2Frpf06KwS+lSyQYX6mFDkNrWTn7wabcovD1RfQxwiWvZCNbnB8t3MtD y7Ig== 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 a9si1127837wrp.5.2019.03.27.08.46.00 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 Mar 2019 08:46:00 -0700 (PDT) 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 x2RFjx7c011060 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 27 Mar 2019 16:45:59 +0100 Received: from md1za8fc.ad001.siemens.net ([139.25.69.71]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id x2RFjkVb025218; Wed, 27 Mar 2019 16:45:46 +0100 Date: Wed, 27 Mar 2019 16:45:45 +0100 From: Henning Schild To: isar-users Cc: Vladislav Jasek Subject: Re: [PATCHv3] dpkg-base: derive "Package" and "Architecture" from .deb in cleanup Message-ID: <20190327164545.79191b63@md1za8fc.ad001.siemens.net> In-Reply-To: <20190221155634.20706-1-henning.schild@siemens.com> References: <20190221155634.20706-1-henning.schild@siemens.com> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TUID: 8vIlqnn4rR4v Ping Am Thu, 21 Feb 2019 16:56:34 +0100 schrieb Henning Schild : > 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 was added to all the archs of the repo, and later cleaned only > from one. Now if that package changes because you are still working > on the recipe, adding the package again would cause checksum > mismatches for all but the current architecture. > Remove the package from all archs when arch is "all". > > Reported-by: Vladislav Jasek > Signed-off-by: Henning Schild > --- > meta/classes/dpkg-base.bbclass | 21 ++++++++++++++------- > 1 file changed, 14 insertions(+), 7 deletions(-) > > diff --git a/meta/classes/dpkg-base.bbclass > b/meta/classes/dpkg-base.bbclass index 742b8ad..8fb7805 100644 > --- a/meta/classes/dpkg-base.bbclass > +++ b/meta/classes/dpkg-base.bbclass > @@ -98,13 +98,20 @@ 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} ) > + # removing "all" means no arch > + aarg="-A ${a}" > + [ "${a}" = "all" ] && aarg="" > + reprepro -b ${REPO_ISAR_DIR}/${DISTRO} \ > + --dbdir ${REPO_ISAR_DB_DIR}/${DISTRO} \ > + -C main ${aarg} \ > + remove ${DEBDISTRONAME} \ > + ${p} > + done > fi > } >