From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6659727571892043776 X-Received: by 2002:a17:906:bcc7:: with SMTP id lw7mr42001630ejb.106.1558348075046; Mon, 20 May 2019 03:27:55 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a50:b1e7:: with SMTP id n36ls4829631edd.5.gmail; Mon, 20 May 2019 03:27:54 -0700 (PDT) X-Google-Smtp-Source: APXvYqw+5y4gi9CVZOVpREJcWaTgX/pQOXCQGru66C5Y3Caw1L37qFkXidOURj0bKLek3rkxZba8 X-Received: by 2002:a05:6402:1710:: with SMTP id y16mr73727643edu.275.1558348074681; Mon, 20 May 2019 03:27:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558348074; cv=none; d=google.com; s=arc-20160816; b=NuTDJvnNfvECmzvVjSIpGvw3nJhQp3fvmlxAVbZIJOyKLgPi6tTuomDRmgg4ol1kF3 AKTYvk4NviNqhlv3gO8bjOi9FpWebP73Ayvl1NKEWG3zeiekXxwdoxe80C4qRnhN2tnW T1VMRbXS9L8bFRXB6+XREo2yrluNCJFSNKqIkW3fXSBfz/rtUjBGS0jeBs69Qyj4HnpV I9NE/zPy/0L/3+xLobyBAHdIowJxscWPb2Gz0CB/u5hTgXiCPCx9qrDwYXwT9/Xflvna 66TKASkryHRZuQEmjL0mDC3CworZbxh1Ddvmu5gvt9wxIfTqYareUDcLpZJ1hxqMc/yi fKzw== 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=E6zwlYhfpQwpq0xLi3kO3vRSJ2m1el3rQq/6mz1btl64EFEkSp3D6Xd6kaDkOfxta9 i7pUtppnXNplFmY6xQyo7jIbUMx++M5wxbKMMsK7YGYO1VzQVCnj8Q8MklFUUR4H1+Ao IW1fjxiXP/24tmkrqW2yLA/X2Ry4/tOKy9U7i491eYyFi+2UFvwWkiBtwzurc+LEBq1F fC8mFZJ26PyVe9Q++PjNzTw70GLVooQoYBL9GMRsCR2XwSlnLvvSVfFQzvb9Y/9Sivnl 6BqzdvyrlcJp4qy/u2J7FTxt83KwPxi4kVDcyCh9RU1AwECoFCptZpvTY4MkeCrew7tc fa+Q== 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id r19si1702128edy.5.2019.05.20.03.27.54 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 May 2019 03:27:54 -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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=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 x4KARrRc002590 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 20 May 2019 12:27:53 +0200 Received: from md1za8fc.ad001.siemens.net ([139.25.69.101]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id x4KARp35023849; Mon, 20 May 2019 12:27:51 +0200 Date: Mon, 20 May 2019 12:27:51 +0200 From: Henning Schild To: isar-users Cc: Vladislav Jasek Subject: Re: [PATCHv3] dpkg-base: derive "Package" and "Architecture" from .deb in cleanup Message-ID: <20190520122751.3ac48106@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: heyj6lY0n5Mn 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 > } >