From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6997052726746021888 X-Received: by 2002:a50:fd87:: with SMTP id o7mr37147479edt.289.1629714253303; Mon, 23 Aug 2021 03:24:13 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:aa7:c98b:: with SMTP id c11ls6247838edt.1.gmail; Mon, 23 Aug 2021 03:24:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyqe6bkPVZx2toi8azpYGj2Ne1EyfNQJEAnghtvTqI3cYjeynJHvOPhhe43C1oSqiRc4tAq X-Received: by 2002:a05:6402:40ce:: with SMTP id z14mr12524034edb.283.1629714252355; Mon, 23 Aug 2021 03:24:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629714252; cv=none; d=google.com; s=arc-20160816; b=vrWkzoAjinU6pjZytFyx6Mf/6rb90XqBMbSKXn0DDUzfx06ppdBuX0hOw8PuEvU/7c X55+cuYdqrgMZlQhKc8BQE2TOHMiIJuhQ9Ff8q2HCVpp1Znxx24MhKqCNr3SoIL7Qrhl 9qP6LkO53PYX/N8IrS/6aOf70L1DNfryMi1DVNCl3QyiMfbFkJQqnhTuNRZ75cl7FZv+ KJluDETPQvB4J9Ak76y73+O2WG9jc/8RLikWf2oMMEhK3IpwPa8YOz8jV2Ya2K65A1KM STb1IwhtCPi/a5Tm2eVnMBuMKMGq4ERfFP8s1tPkuKYbZnOE2rzufLFkn4ejmZD/Td3i JTUg== 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=nzjxOGOOGtwNQDJOTn4N25c8YdEsCdSAOFTOu6/UdS7hi/YkJZQXoM/rjN2jjZZFbx hS5P0GjRACLBFz8CsuFYXFmPT7NE1xw3CxGtfDDESVXEeB6K2yutjnEJDCnZcCWiAtor durEsqMoU8X1WuTh/6Ry/TCiHZQiEW7RCOWau0tKtfUQXbug/YEpn1RstmCWpYzJ30x+ MGeSJpoe1Ioxue7p8exRX3wJY1seoQ0H119gB7RoVqL2yFTW75bLqKGtmJ8GaaSln72+ rHCWv/3LfKmJISBM5A7CkbCU1esNLYxjy9Ws0elz9dSAZJI3BPXky698TRbtQcQVqT04 SHhQ== 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 24si964270edv.4.2021.08.23.03.24.12 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 23 Aug 2021 03:24:12 -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-31-27-214-37.mgts.dynamic.pppoe.byfly.by [37.214.27.31] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 17NANo5g001835 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 23 Aug 2021 12:24:07 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v6 3/6] dpkg-base: Clean up unmounting in do_dpkg_build() Date: Mon, 23 Aug 2021 13:23:39 +0300 Message-Id: <20210823102342.3674387-4-amikan@ilbers.de> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210823102342.3674387-1-amikan@ilbers.de> References: <20210823102342.3674387-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: Me3CNn3DqljW 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