From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6834022395126218752 X-Received: by 2002:a50:e809:: with SMTP id e9mr15023981edn.133.1597668654476; Mon, 17 Aug 2020 05:50:54 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:906:1a56:: with SMTP id j22ls7846223ejf.3.gmail; Mon, 17 Aug 2020 05:50:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwN0kjhgqx5PRHPxwp5kYJUKy9t2z0o+S6XRUYbFleVrZ46vEp8L8mdmOdKyi6Zbq/9Kg9B X-Received: by 2002:a17:906:2a0d:: with SMTP id j13mr15642197eje.474.1597668653817; Mon, 17 Aug 2020 05:50:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597668653; cv=none; d=google.com; s=arc-20160816; b=ybT7YSTGZ98SlRb9SU9aRXurda9wEFYbe7/+LmdFk6Pt6SboaJWBKG40w04nu52D0t vdSKe6V8nqFmU55qj5Qcia8qArCCz+H6S6TZbDhbBbwF23F1qMq2hX34pXGmGmefA8Mu 2dZ+d8TelGlAGWpZhOF6q4Eph6xYcekqPWz6jGkO9bXgvDTOrLbo0x9RqE/OiqUg5ThG GRnceKrE4gRO1I0swGrw3mcovtIXvF0OBJp+X9LnI5faw+PBc23sQCbyqBjkGsPUPl3l /NSYTIaWj1a1Qe2ZU75zSst0uulOAgoMq/w3D18y4uCcPqmvUracsR1pEWrToagXxOhx G9vw== 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=LHm+m4/+IZw55z+g+m3xuFLTsPFpNr9YY4aAFJjMfOI=; b=pPeuNLsZoRGfve75eGednHYVu9toQlivxA9unHbF68hmQtJHVF9SzPkAQg/KvbHra6 VN7BLW19/04sPjMudeusRqc/DKMxeNRht1p4BmDGCUm8IkbJ0RyBoUzhEbGM8tHmTD+D ngmhDi5V0Awuh8AGq7N2I1DRRgZ1huBNcDQQiQRlvx5BAg2+KfDFUKAJywDtWaSb5Tnm HIfiasytZVBJ8uEHyp1HnagHKdQDdHGmpNcD+USCO48p2Egn7+UdsmOw4hXdPT6nWbkt 5hTkQovZuq2eLlUdXoEPQMlAKA4RGboDQQVz8TOp2K0leJCjLt4RzPRxFvc7Sq09c0Vv DH/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 h10si831232edn.2.2020.08.17.05.50.53 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Aug 2020 05:50:53 -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 mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id 07HCoqYI013044 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 17 Aug 2020 14:50:52 +0200 Received: from md1za8fc.ad001.siemens.net ([167.87.28.157]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 07HCop8P023653; Mon, 17 Aug 2020 14:50:51 +0200 Date: Mon, 17 Aug 2020 14:50:50 +0200 From: Henning Schild To: "[ext] Jan Kiszka" Cc: isar-users , Harald Seiler Subject: Re: [PATCH v2] dpkg-base: Remove newly deployed debs from buildchroots Message-ID: <20200817145050.6a6fc69a@md1za8fc.ad001.siemens.net> In-Reply-To: References: X-Mailer: Claws Mail 3.17.6 (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: CGx/n+9ggyeT On Tue, 11 Aug 2020 09:05:59 +0200 "[ext] Jan Kiszka" wrote: > 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 This will cause serious headache when rebuilding essential packages. You risk removing dpkg/apt and others. I think we rather need an "apt-get upgrade --allow-downgrades" together with a "apt-get autoremove" somewhere. Henning > + 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 }