From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6834022395126218752 X-Received: by 2002:a1c:9cd4:: with SMTP id f203mr7918610wme.26.1591169833026; Wed, 03 Jun 2020 00:37:13 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:1d53:: with SMTP id d80ls578962wmd.3.canary-gmail; Wed, 03 Jun 2020 00:37:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzJlPMQ6yDMBnn/PXv8j23ZC3o/6KVgXXepswUTNMv7HfJFkOAQ5yM+bXu2hvmJVqlj9EKX X-Received: by 2002:a1c:230f:: with SMTP id j15mr7863791wmj.100.1591169832353; Wed, 03 Jun 2020 00:37:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591169832; cv=none; d=google.com; s=arc-20160816; b=j2PCehcOfGol5d02PC0NBqCvkia0EuaqC/byi9C8cWHYEdz1Q/gK7JlYwS045KtcXk Xufwh5jUvjVm+iZLVEFg2Bt15fFFR9lJdqyyrZWsiZoPSsd7VwlbjCTuTV9fhD7n95Nk 8N1ZUn0EgXOEhI3XE0RYksdi+8aJuD8xu2hIYAHk3xWeuRTHzzkPNmWp3S5U0r3BVKA4 tVWXdI9ygc6+2TrirhnW8Mfzf4FRv/vRNMkq5Nbp6gbjvOx/SOI5Yl6qWPUeGhMQv5RD AgUURb2Q+6bf5bW08lPDQqoQ7Pp42VdLL7Tysm34RX98cIj0xFDpsBA+RgmgUeDxCKao gDyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:mime-version:user-agent :date:message-id:to:subject:from; bh=3bUim/VSgs2rmJLEnI8QCyH8m7TrcS/lN3See5EQrCw=; b=dTr6NoHBmjeo6m60i17ifXz3LNRvGOi9DWMWvZTLCtLDQseHxmjH337htGmFCdydrJ Nv1UWe0OgMiS8uyN6aM4AqGU8D2qAzu8EuuyyWltescIIgjrKU8xAaPNtLzzum698PUu YC0yRnWG4dvUPy5w56mBoqQteVhrTfKZZWZ8sVGxjbN2/hVql6pbRBdALOH3X2gWptyC 7ZcCKQoXQHkcgpSEX5oGpYxTRUtobXXy+zNOkRIUiCw+3bXNo4fxshJgnJSwESS7HEq/ hZB+2TqTLsafCe4l/VHRgUITYPIJ6x5Q+OhI8umhunwQ/ZeBO2+j7Irx/qGwqj+ueWRR oXjA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from thoth.sbs.de (thoth.sbs.de. [192.35.17.2]) by gmr-mx.google.com with ESMTPS id r204si120111wma.1.2020.06.03.00.37.12 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 Jun 2020 00:37:12 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.2 as permitted sender) client-ip=192.35.17.2; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by thoth.sbs.de (8.15.2/8.15.2) with ESMTPS id 0537bBuJ024235 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 3 Jun 2020 09:37:11 +0200 Received: from [167.87.5.91] ([167.87.5.91]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 0537bAc3007173 for ; Wed, 3 Jun 2020 09:37:11 +0200 From: Jan Kiszka Subject: [PATCH] dpkg-base: Remove newly deployed debs from buildchroots To: isar-users Message-ID: <2d755c85-4b38-dd1c-7450-d40dd7cda7ce@siemens.com> Date: Wed, 3 Jun 2020 09:37:10 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: TVu41gC2RpJM From: Jan Kiszka This ensures clean reinstallation after partial rebuilds. A typical error pattern so far was that firmware packages pulled by the buildchroot-target were not updated there on rebuilds, causing the old firmware being deployed into the image. Signed-off-by: Jan Kiszka --- meta/classes/dpkg-base.bbclass | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index 9aa2d546..80da713d 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -154,20 +154,26 @@ python do_dpkg_build() { addtask dpkg_build before do_build -CLEANFUNCS += "repo_clean" +CLEANFUNCS += "deb_clean" -repo_clean() { +deb_clean() { DEBS=$( find ${S}/.. -maxdepth 1 -name "*.deb" || [ ! -d ${S} ] ) if [ -n "${DEBS}" ]; then for d in ${DEBS}; do repo_del_package "${REPO_ISAR_DIR}"/"${DISTRO}" \ "${REPO_ISAR_DB_DIR}"/"${DISTRO}" "${DEBDISTRONAME}" "${d}" + package=$(basename "${d}") + package_remove="/usr/bin/apt-get remove -y -U ${package%%_*}" + sudo -E chroot ${BUILDCHROOT_DIR} ${package_remove} || true + if [ "${BUILDCHROOT_DIR}" != "${BUILDCHROOT_TARGET_DIR}" ]; then + sudo -E chroot ${BUILDCHROOT_TARGET_DIR} ${package_remove} || true + fi done fi } do_deploy_deb() { - repo_clean + deb_clean repo_add_packages "${REPO_ISAR_DIR}"/"${DISTRO}" \ "${REPO_ISAR_DB_DIR}"/"${DISTRO}" "${DEBDISTRONAME}" ${S}/../*.deb } -- 2.26.2