From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6834022395126218752 X-Received: by 2002:a19:cc9:: with SMTP id 192mr2547823lfm.61.1597129562346; Tue, 11 Aug 2020 00:06:02 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:651c:294:: with SMTP id b20ls3390760ljo.9.gmail; Tue, 11 Aug 2020 00:06:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzZy4EehO98hYZmnZPysdBLMU+MV+OIwibk1j12WmMwSckDl8AOHAAiIYGqxac4slcVGRHg X-Received: by 2002:a2e:920c:: with SMTP id k12mr2442669ljg.29.1597129561575; Tue, 11 Aug 2020 00:06:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597129561; cv=none; d=google.com; s=arc-20160816; b=uotO5eLjODz7LR8nm/9wqoVSN8Ik9Bd4nilI1P6f1xV10s3OnDhhaoVeujrd57DTys UlbuuCSydUFuTam5y9tsqyhUQ1YBrFHLXW43mI+wrSKEUH44v4FY0vqROVVB6Uhx6WOw N3+6jELbaKOvkJXrWM21hmvk5sTrE/0jOC2L7SwXKsWfv/ZwrEctdavgcj8h/iJcPF/Q ZIwRPYeIPeXKtIb7LFpczpb5Mgd9RTRrK1lXmYrmG0rELYLlZRFC2lJZEa2lk8kDezNm SFG/NEwnyVHiQrR73cRLUzkN43FsanEWVAu0SG0gRI+pfdBYQUhEXAWHDeFKTCKOkszn aiTA== 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:cc:to:subject:from; bh=wWH5rbqhB1xt4xYmULqvX8+L4c+miOf+Y/Ar/HV0ZMg=; b=ixRd7jyHsUcl49E14Mq2cqMqM4QGMwikVYhvaktYFwZvmVLNUK3TYe9WhdzwdWWzDL f+cRjN3nnQu/Oi9HbXtSVdFcQu3gc0olWFtIuwHPxMJRWGUhW7gsQ98A2mSmUv4YweKG wisGm6UF9dImZmuou1DpelyK0kQMHHn7w2DKYn7PRb8KhLLGIDqDdHggjJHLtn8euBWn FfXMXHN8ftTlKJ9SPUA/SfooF0CmfXQw0HZUhrPDH4WYyQHdZUBZBcQ+H5xWwpm0s6ew OsYp8BYXo6uPGQijbUFkKEYvdNJdVYGbEw7LKK/+dlyrk02osrv4MAB3j1nCvY07Y4s/ YOIA== 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 c27si1376251ljn.3.2020.08.11.00.06.01 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Aug 2020 00:06:01 -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 07B760pD011079 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Aug 2020 09:06:00 +0200 Received: from [167.87.76.230] ([167.87.76.230]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 07B760vs010939; Tue, 11 Aug 2020 09:06:00 +0200 From: Jan Kiszka Subject: [PATCH v2] dpkg-base: Remove newly deployed debs from buildchroots To: isar-users Cc: Harald Seiler Message-ID: Date: Tue, 11 Aug 2020 09:05:59 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: OYNIcpQfoaAy 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 --- Changes in v2: - removed bogus -U options which sneaked in from reading the wrong man page (zypper's apt-get wrapper: -U, --no-clean-deps) 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..08880d7d 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 ${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