From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6997052726746021888 X-Received: by 2002:adf:cd10:: with SMTP id w16mr3944176wrm.404.1629203920897; Tue, 17 Aug 2021 05:38:40 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a7b:cb09:: with SMTP id u9ls933079wmj.1.gmail; Tue, 17 Aug 2021 05:38:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyAEA/lGiMHiqgDEDADBEfemAO9/4UU6tNahjDI1b98GYHZ3hHFIzO2RiIHbgr0+IRiM/FX X-Received: by 2002:a7b:cd10:: with SMTP id f16mr3049860wmj.104.1629203920042; Tue, 17 Aug 2021 05:38:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629203920; cv=none; d=google.com; s=arc-20160816; b=RqnwJSyNtJSJELtMegLhpprlB1HJ/mgXXlewLcK6zgKU5r5qcwa6LMDSoORGGXitEb /iEzN8mDoQM7N0SBv1FOaCCWIFxPeJ0jSws8i9FR8MRvSS3gB2UGd+1tlmxeAorL5g0C 3QgjQkrTjsEVK2lp+2D2MzgW4G5057nWmKl2FOwSheRLggr9faez9SLxsEHT7sc53p6o PA42iRADXuujNGzwLKxPbZN2GzRCdVN+meJdZPnu70tERTWdz2WWlQPJsyeLAlsTiBVz QvJla2yXb3L5b2phLucesxEKX51FpaRD2N1fakIAvdqkOxfKo7lkEJADmEHHDsDZ6g4u l2vw== 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:date:subject:cc:to:from; bh=8ssAqEgZwfUIhLXnt/3zLLG25gd/yH4DsI8mDr0//Y0=; b=i40J7hm7Imoh4U9ippMEyExTnrVX5fR6b8EHhldwgP3lWOf7Db4A9AA20MNEW+Vj0g /lzjmynB9VmMZ+HSDuuQ8OECq2d9Cusxlg7fkVf8XNfxWO4e+ny43yXKpEiTTVjBsSH4 aV4jB1QXFSu1wjYNfK2eecbVTt8rvMCZgz87FywT8qAKES2kOI49YwZ4wQ22QQK9wJf+ D37pgNljWWlnBYqbLtvx4R9mlFEkxNmL+9C99uIYZizNAbGSdkff5yHslcyj9Z3v5X33 jlK/wVyiG5GWRNn+QiSAqBKyFUTkg9bPaHPiAy+JlD4NyjxSylSL533TxowK4mHmOm31 lGQQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id u2si125119wro.0.2021.08.17.05.38.39 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 17 Aug 2021 05:38:40 -0700 (PDT) Received-SPF: pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Received: from localhost.localdomain (mm-146-26-214-37.mgts.dynamic.pppoe.byfly.by [37.214.26.146] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 17HCcFsR008270 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 17 Aug 2021 14:38:34 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v5 4/5] dpkg-base: Clean up unmounting in do_dpkg_build() Date: Tue, 17 Aug 2021 15:38:07 +0300 Message-Id: <20210817123808.3563834-5-amikan@ilbers.de> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210817123808.3563834-1-amikan@ilbers.de> References: <20210817123808.3563834-1-amikan@ilbers.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: B/6BmVKUUmoJ Reverting d21d49578e5a "dpkg: Make mount buildroot reliable" brings back two problems: * The filesystems mounted under buildchroot (dev, proc, sys, etc.) are left mounted. * If dpkg_runbuild() fails, WORKDIR and the filesystems under buildchroot are left mounted. Request unmounting the filesystems under buildchroot after every package build. The actual unmounting will be done after the last job due to the reference counting. Also request unmounting in any case, even if building fails. Signed-off-by: Anton Mikanovich --- meta/classes/dpkg-base.bbclass | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index 46b9700..7364a7f 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -169,6 +169,8 @@ dpkg_undo_mounts() { i=`expr $i + 1` done sudo rmdir ${BUILDROOT} + + buildchroot_undo_mounts } # Placeholder for actual dpkg_runbuild() implementation @@ -180,9 +182,11 @@ python do_dpkg_build() { lock = bb.utils.lockfile(d.getVar("REPO_ISAR_DIR") + "/isar.lock", shared=True) bb.build.exec_func("dpkg_do_mounts", d) - bb.build.exec_func("dpkg_runbuild", d) - bb.build.exec_func("dpkg_undo_mounts", d) - bb.utils.unlockfile(lock) + try: + bb.build.exec_func("dpkg_runbuild", d) + finally: + bb.build.exec_func("dpkg_undo_mounts", d) + bb.utils.unlockfile(lock) } addtask dpkg_build before do_build -- 2.25.1