From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6881298752062095360 X-Received: by 2002:a2e:819a:: with SMTP id e26mr3808516ljg.469.1602177217099; Thu, 08 Oct 2020 10:13:37 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:86c8:: with SMTP id n8ls1110942ljj.1.gmail; Thu, 08 Oct 2020 10:13:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwl9j0yCJfXqf5fMlZFI8/QTzmjtYYxQQ8WAIYYoGCoXR0jjMc4jp89wREVkOV6unPItlD/ X-Received: by 2002:a05:651c:543:: with SMTP id q3mr3540750ljp.6.1602177215821; Thu, 08 Oct 2020 10:13:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1602177215; cv=none; d=google.com; s=arc-20160816; b=wFXlP7klEOVCb0DTzhVEPJS6Pbt5HPW4Ze2/2KXIeD8AmAZmXLhSFbItHY7j4h2TK5 AIpzA21Hqk9uD7OYQ7wz647z14Vp9jCUurpLfGrLoOxUpZXA5QUoOHmeKdxaYftUarHk 37jRbcIfTEaJhyVFSOPamzax/84Zd6ffgqlO1V1WZlI4eCM7xqRRdViwkIp9WK6pyA28 hn+gh8yMmRTWbjU01zs1mb4lRHodXDVIeVWXJDFE9oOzEJvmQ5mQ/JQg/CY5uLZ60dwE Sr25M7JL3hBWRXnz38C/xuGm3yNKZFVvKlAB+Eu4VtlTjgMcTSu5jdZQsCgcs3+WPN6B uT1w== 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=bE2qq0By7r+zmWZhScsIHQrMF4r95ZFRgTK9LJqedqQ=; b=B/2U/ihYAgCnNyXRJs3gBxuG2HHk7zF2+aFsukM9shLywo+KXZ76pAhcPwM6YFrOZ8 Qc8TOpE8ywDPiXQhEIwfgs/M3BMCPRGdGntxSU+iuXwYqiAurV83lJKLsK8ZKmq7m90e +KhFwVKQkTSRGOMD+U+XnDORVsoJ3k3ElOaVetyk6xm6a0k5YRazoco+B8WmEYClugVa tqAAsTdCb1TtfXZwe2E7pO1lScuCiuls4WRtYmwj17ZzR4NB2AUdD817ArOT1AHCOu17 rxDa1CmEomDOoCX15j5j3aCzMeWkQLoIizEssiTjEhpU5/YNmxyCRQy6BKiZbu7nItra GUow== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.40 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 gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id d1si171268lfa.11.2020.10.08.10.13.35 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 08 Oct 2020 10:13:35 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@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 jan.kiszka@siemens.com designates 194.138.37.40 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 gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id 098HDYr0022355 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 8 Oct 2020 19:13:35 +0200 Received: from [167.87.140.0] ([167.87.140.0]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 098HDWJf006584 for ; Thu, 8 Oct 2020 19:13:34 +0200 From: Jan Kiszka Subject: [PATCH] dpkg: Add control over removal of built packages To: isar-users Message-ID: <76603767-1d25-c347-f7b1-84d4c106e771@siemens.com> Date: Thu, 8 Oct 2020 19:13:31 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: 2jfcjroZoPCg From: Jan Kiszka In almost all cases, the packages built by a recipe wasn't used yet and will only be requested down the dependency chain. Then it is fine to purge it from the buildchroots during partial rebuilds. There are corner cases, though, when the packages will never be used in the buildchroots, only in the target filesystem. That can affect core packages rebuilt for the target but also used in their upstream variant in the buildchroots. While buildchroot installation can be controlled via preferences, purging can't this way. Add a variable that allows to control it without having to overwrite deb_clean. Signed-off-by: Jan Kiszka --- meta/classes/dpkg-base.bbclass | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index 7e12ab0a..01c6eb65 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -154,6 +154,8 @@ python do_dpkg_build() { addtask dpkg_build before do_build +KEEP_INSTALLED_ON_CLEAN ?= "0" + CLEANFUNCS += "deb_clean" deb_clean() { @@ -162,6 +164,9 @@ deb_clean() { for d in ${DEBS}; do repo_del_package "${REPO_ISAR_DIR}"/"${DISTRO}" \ "${REPO_ISAR_DB_DIR}"/"${DISTRO}" "${DEBDISTRONAME}" "${d}" + if [ "${KEEP_INSTALLED_ON_CLEAN}" = "1" ]; then + continue; + fi package=$(basename "${d}") package_remove="/usr/bin/apt-get remove -y ${package%%_*}" sudo -E chroot ${BUILDCHROOT_DIR} ${package_remove} || true -- 2.26.2