From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6659727571892043776 X-Received: by 2002:a17:906:9701:: with SMTP id k1mr2537152ejx.13.1550588657923; Tue, 19 Feb 2019 07:04:17 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:906:9257:: with SMTP id c23ls878628ejx.2.gmail; Tue, 19 Feb 2019 07:04:17 -0800 (PST) X-Google-Smtp-Source: AHgI3IYwDIzoDtvTlz5WL2lo4tiXXm+sJYPmWevhjCfUpKWtCuC8X1B5teKq0BcZsvPKoznQbF79 X-Received: by 2002:a17:906:8da:: with SMTP id o26mr732119eje.7.1550588657523; Tue, 19 Feb 2019 07:04:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550588657; cv=none; d=google.com; s=arc-20160816; b=QMqQ3HhXicAzure2CTiwBrShVRppaBlw3yVa9foyCuo46VCRijKK6T0icoDwMim0Vn 9FB3WqnimNJBlk7Py6RAKPfusVCiIeJIys7u/eUHIdwBPM33IM/6th6NdMvxMEjx87Ij lxvoo7Z0RNiHQ+T+eKkytCffGs4ZR7hYXLZGxaKvXuBP6o07xkteSVKW/e2IaQCIrzdE 72xh1wVhzJav1iwDHxFT2KWGoMtNASu7/z2WLPUnQ35rWguCE08Gkzz4yQ8Tu4u4/OSh kmXfY0ED051olYIUnOaP+qbQnvFFRnj/iQ6rp6bVbXXW4trT7Z0xKmen7SxjuogLCkbc MHEw== 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=v3lFT9Ztwb9FwiED1qs+VrZmjmv5QkDWq8CPaECoglo=; b=KkLR3SZVt6jQrJaSxzNVDiiJEc4m4L1d4SorZqUSguhoslCh0QaV8N3Z13M5V2HPpR RgS5gVIWadQty3mQW+1XaL+1qiMGvpTN6nKvDWOQ4T/6urCs2TDqNRYDx/7J7b/R3G7g Ho57tq3oazHF+BRuFbriGQY3+OcmOz4mVnyaZ7XN6bEhdZYuOmvY172xMb2y6nTVRbqi vtr996DeCzyvJWqi4bCsj6CAH7gJc6Ak0b8h/NMyD0WjYt1R2dfAV26HFfkBGZuFRwhV rAMhzfxzBoUwNe0A3TfEV8aFYLLmEBO37XBmTuV+iP9ll8r/97Gl0KcaFVHp1GhXYyJd AvcA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=henning.schild@siemens.com Return-Path: Received: from goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id a12si817299edn.5.2019.02.19.07.04.17 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 19 Feb 2019 07:04:17 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.28 as permitted sender) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=henning.schild@siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id x1JF4HAF014461 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 19 Feb 2019 16:04:17 +0100 Received: from md1za8fc.ad001.siemens.net ([139.25.68.200]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id x1JF4EkO024172; Tue, 19 Feb 2019 16:04:14 +0100 From: Henning Schild To: isar-users Cc: Vladislav Jasek , Henning Schild Subject: [PATCH] dpkg-base: derive "Package" and "Architecture" from .deb in cleanup Date: Tue, 19 Feb 2019 16:04:13 +0100 Message-Id: <20190219150413.6339-1-henning.schild@siemens.com> X-Mailer: git-send-email 2.19.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUID: Tis3zUaL97OD 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..a4b62e4 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