From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6982225001537601536 X-Received: by 2002:a5d:6842:: with SMTP id o2mr29239760wrw.104.1625675944993; Wed, 07 Jul 2021 09:39:04 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:4fd0:: with SMTP id o16ls3923345wmq.0.canary-gmail; Wed, 07 Jul 2021 09:39:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx1PlTyj2KiJUYG42Y2rWQg78NDzpPxGV3dTJJLJXpGK1E9/ZgUGffI/nKo2Z0lJ8RQ3m2i X-Received: by 2002:a05:600c:2288:: with SMTP id 8mr558216wmf.96.1625675944161; Wed, 07 Jul 2021 09:39:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625675944; cv=none; d=google.com; s=arc-20160816; b=NYPp2chXCVNC+N9/bD53DJm4tQLt28IZdSrfhBa1Gy3FuqJgVm80v9lBVmYYocEVZ9 KYQNcqMO+kpuPxtvDE1vaiWbJ8JkT2UzYv5pb9zjydFBMHxvC4Nq550NEjscc93wrvK0 x+vY1yi0UYPo3CvWpECNFLxMlG9OQ3dKogzXeKom5VUYBtwVAA4Q/fVW/k95TLnBgBAE ccxl+VLSQ5Yr3WxDz3jdBHmv1BR3S/ZvZ6bVelhxIiCvxuk6r+ul21+faScrL9pnKUFG mmdlLsNGqN4Vd+tFTX0KN+hGnTAiXszSri0fS2neqMQHwB924aiuqydR04fwqa4/frw8 2pcQ== 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=AiWaRLXkwaMxVgFbGqetu6AcvnkOTRkbsd9D9SeMZwQ=; b=nR8uvhcVtzj2aKFtvGkGQ6ejrU6rKVDqq/L80BEO4vynpblpYtq0X97BlwVR5zx2Q/ AZou34s1zH8rVeI783mTvS1GQNvU15iuhK8E5vzesANgXNoQbBAcPsaUjDYg2ylLsxmF DKbmQZgDJD/LsrtWp8aSSfgqpxaXKuOSzKzuHZe4/LMyb1T8MDkNC94p/rYjawwL20pl RFU7VrPva3xjDSkjqXg7FWG4jgW5OiSd9g0qGpI1TwzyGBqT43dKDV6LSBgVbLYmNLN2 yU0Vpo0JrnLFaQ9wWLgDNA27PfQJE9CCXSKHh8fWxl0A440fE5wBoaEVQGekEy3WQH1M mgqA== 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 g22si363874wmh.0.2021.07.07.09.39.04 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 Jul 2021 09:39:04 -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-191-69-214-37.mgts.dynamic.pppoe.byfly.by [37.214.69.191] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 167GcxMQ003642 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 7 Jul 2021 18:39:03 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v1 2/5] mount: Allow calling unmount on not mounted paths Date: Wed, 7 Jul 2021 19:38:48 +0300 Message-Id: <20210707163851.204296-3-amikan@ilbers.de> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210707163851.204296-1-amikan@ilbers.de> References: <20210707163851.204296-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: TLRmV5LTaXI+ Make buildchroot_undo_mounts and rootfs_undo_mounts functions do not fail if calling without buildchroot_do_mounts and rootfs_do_mounts. Signed-off-by: Anton Mikanovich --- meta/classes/buildchroot.bbclass | 20 ++++++++++---------- meta/classes/rootfs.bbclass | 20 ++++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass index 806a29f..9c27711 100644 --- a/meta/classes/buildchroot.bbclass +++ b/meta/classes/buildchroot.bbclass @@ -23,16 +23,18 @@ python __anonymous() { MOUNT_LOCKFILE = "${BUILDCHROOT_DIR}.lock" +BUILDCHROOT_MOUNT_CNT = "${BUILDCHROOT_DIR}.mount" + buildchroot_do_mounts() { sudo -s <<'EOSUDO' ( flock 9 set -e count="1" - if [ -f '${BUILDCHROOT_DIR}.mount' ]; then - count=$(($(cat '${BUILDCHROOT_DIR}.mount') + 1)) + if [ -f "${BUILDCHROOT_MOUNT_CNT}" ]; then + count=$(($(cat "${BUILDCHROOT_MOUNT_CNT}") + 1)) fi - echo $count > '${BUILDCHROOT_DIR}.mount' + echo $count > "${BUILDCHROOT_MOUNT_CNT}" if [ $count -gt 1 ]; then exit 0 fi @@ -77,17 +79,15 @@ buildchroot_undo_mounts() { ( flock 9 set -e - if [ -f '${BUILDCHROOT_DIR}.mount' ]; then - count=$(($(cat '${BUILDCHROOT_DIR}.mount') - 1)) - echo $count > '${BUILDCHROOT_DIR}.mount' - else - echo "Could not find mount counter" - exit 1 + count="0" + if [ -f "${BUILDCHROOT_MOUNT_CNT}" ]; then + count=$(($(cat "${BUILDCHROOT_MOUNT_CNT}") - 1)) + echo $count > "${BUILDCHROOT_MOUNT_CNT}" fi if [ $count -gt 0 ]; then exit 0 fi - rm ${BUILDCHROOT_DIR}.mount + rm -f "${BUILDCHROOT_MOUNT_CNT}" mountpoint -q '${BUILDCHROOT_DIR}/base-apt' && \ umount ${BUILDCHROOT_DIR}/base-apt && \ diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index 50d6408..9ccc8e3 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -28,6 +28,8 @@ export LC_ALL = "C" MOUNT_LOCKFILE = "${ROOTFSDIR}.lock" +ROOTFS_MOUNT_CNT = "${ROOTFSDIR}.mount" + rootfs_do_mounts[weight] = "3" rootfs_do_mounts() { sudo -s <<'EOSUDO' @@ -35,10 +37,10 @@ rootfs_do_mounts() { set -e count="1" - if [ -f '${ROOTFSDIR}.mount' ]; then - count=$(($(cat '${ROOTFSDIR}.mount') + 1)) + if [ -f "${ROOTFS_MOUNT_CNT}" ]; then + count=$(($(cat "${ROOTFS_MOUNT_CNT}") + 1)) fi - echo $count > '${ROOTFSDIR}.mount' + echo $count > "${ROOTFS_MOUNT_CNT}" if [ $count -gt 1 ]; then exit 0 fi @@ -79,17 +81,15 @@ rootfs_undo_mounts() { ( flock 9 set -e - if [ -f '${ROOTFSDIR}.mount' ]; then - count=$(($(cat '${ROOTFSDIR}.mount') - 1)) - echo $count > '${ROOTFSDIR}.mount' - else - echo "Could not find mount counter" - exit 1 + count="0" + if [ -f "${ROOTFS_MOUNT_CNT}" ]; then + count=$(($(cat "${ROOTFS_MOUNT_CNT}") - 1)) + echo $count > "${ROOTFS_MOUNT_CNT}" fi if [ $count -gt 0 ]; then exit 0 fi - rm ${ROOTFSDIR}.mount + rm -f "${ROOTFS_MOUNT_CNT}" mountpoint -q '${ROOTFSDIR}/base-apt' && \ umount ${ROOTFSDIR}/base-apt && \ -- 2.25.1