From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7039983387261534208 X-Received: by 2002:a05:6402:1808:: with SMTP id g8mr36354794edy.248.1639123866253; Fri, 10 Dec 2021 00:11:06 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:907:7f0b:: with SMTP id qf11ls2826525ejc.7.gmail; Fri, 10 Dec 2021 00:11:05 -0800 (PST) X-Google-Smtp-Source: ABdhPJxAY1NEe9j2BcUECVYKNLfnPVAUmLb5kkSXGcodygXu7H2SwG1TN+kw+dTsSmHYyWfO6Zz1 X-Received: by 2002:a17:906:c297:: with SMTP id r23mr21551557ejz.528.1639123865352; Fri, 10 Dec 2021 00:11:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1639123865; cv=none; d=google.com; s=arc-20160816; b=f5m+BLyIm4h1ufRTxWSDIRGVGBtr1HjnVZN+TTM9yQk+pt4KbnVQdXI736I3/XRniD pFpkiIFjIxkEmVj+Pj65mYfHMm+XzNcftfyZR+kl4+zmmtGP+1z//aEcxizM8Mr2ChG5 6wrblNiSm0zE0hDL11dO7B6UhCSUpgSwAgL1whpxFpIvaNlQHiRNUeqsBbkrb4Z6zQi6 PY68pzpUikelgTfR/ktmYM2CJWXRrzI2925QZFWlGd8md2HYDfuTUbMrnbpD/irQNWCG gddJ04ruLNtUxih08Hsu2nDOBlng4xB+7AQ3wpyLTIIeXbUlGBHOzgc3LYs7HULluZc9 FH1A== 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=lrdBIJ5lSphg/A2kJP2fDgOzfkHYKFd7SDvGecEfrQQ=; b=L/kGr8F2+lIIBNDv3dDrONVqPHLFzsFzp6zOI47xJUoAM4RMyHfMKQDqvhoo6HyhgU 0QBBf+snj8+vqURmVRj+P/vqXLYWSN5Wf066cb2b7YZKW7fInPSqxEWUzl7eZQ+yzPtg ySwcvd603SQImb5mnToZVHDc7No9sKzEGupRZXsC0KY2PGwb1ESKj3dDvYXcicxGeMuK 8pWDyBxTKUOAn+TrVYgSkjNDdeqyvvYrIP1S1Og2aVynkpe6Afx3ANcODtNU+cyays58 uZS7knPMZkvLEz+pn3G6o0xds78s5GOBRTSSWkUeCYegFmw5ykfGOn8USNmWeqMx5mn0 gYfA== 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 i23si152686edr.1.2021.12.10.00.11.05 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 10 Dec 2021 00:11:05 -0800 (PST) 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-37-66-214-37.mgts.dynamic.pppoe.byfly.by [37.214.66.37] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 1BA8B16w017623 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 10 Dec 2021 09:11:04 +0100 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH 2/2] sudo: Fail on the first error Date: Fri, 10 Dec 2021 11:10:54 +0300 Message-Id: <20211210081054.225747-3-amikan@ilbers.de> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211210081054.225747-1-amikan@ilbers.de> References: <20211210081054.225747-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: GV1pZw2bUJA/ The code execution inside sudo section should be stopped on the first command failure because the next commands can cause incorrect behavior. Signed-off-by: Anton Mikanovich --- meta/classes/deb-dl-dir.bbclass | 2 ++ meta/classes/image-locales-extension.bbclass | 1 + meta/classes/image.bbclass | 1 + meta/classes/rootfs.bbclass | 2 ++ meta/classes/vm-img.bbclass | 1 + meta/classes/wic-img.bbclass | 1 + meta/recipes-devtools/buildchroot/buildchroot.inc | 1 + 7 files changed, 9 insertions(+) diff --git a/meta/classes/deb-dl-dir.bbclass b/meta/classes/deb-dl-dir.bbclass index 29bf45b..ffbff07 100644 --- a/meta/classes/deb-dl-dir.bbclass +++ b/meta/classes/deb-dl-dir.bbclass @@ -22,6 +22,7 @@ is_not_part_of_current_build() { debsrc_do_mounts() { sudo -s <> '${ROOTFSDIR}/etc/locale.gen' cat '${WORKDIR}/locale.default' > '${ROOTFSDIR}/etc/default/locale' cat '${WORKDIR}/locale.nopurge' > '${ROOTFSDIR}/etc/locale.nopurge' diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 95c14e5..ea49354 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -189,6 +189,7 @@ addtask deploy before do_build after do_image do_rootfs_finalize() { sudo -s <<'EOSUDO' + set -e test -e "${ROOTFSDIR}/chroot-setup.sh" && \ "${ROOTFSDIR}/chroot-setup.sh" "cleanup" "${ROOTFSDIR}" rm -f "${ROOTFSDIR}/chroot-setup.sh" diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index e0604e0..6ecb39d 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -30,6 +30,7 @@ export LC_ALL = "C" rootfs_do_mounts[weight] = "3" rootfs_do_mounts() { sudo -s <<'EOSUDO' + set -e mountpoint -q '${ROOTFSDIR}/dev' || \ mount --rbind /dev '${ROOTFSDIR}/dev' mount --make-rslave '${ROOTFSDIR}/dev' @@ -80,6 +81,7 @@ ROOTFS_CONFIGURE_COMMAND += "rootfs_configure_isar_apt" rootfs_configure_isar_apt[weight] = "2" rootfs_configure_isar_apt() { sudo -s <<'EOSUDO' + set -e mkdir -p '${ROOTFSDIR}/etc/apt/sources.list.d' echo 'deb [trusted=yes] file:///isar-apt ${DEBDISTRONAME} main' > \ diff --git a/meta/classes/vm-img.bbclass b/meta/classes/vm-img.bbclass index b230af2..c75a544 100644 --- a/meta/classes/vm-img.bbclass +++ b/meta/classes/vm-img.bbclass @@ -95,6 +95,7 @@ do_create_ova() { image_do_mounts sudo -Es chroot --userspec=$( id -u ):$( id -g ) ${BUILDCHROOT_DIR} <<'EOSUDO' + set -e export DISK_SIZE_BYTES=$(qemu-img info -f vmdk "${VIRTUAL_MACHINE_DISK}" \ | gawk 'match($0, /^virtual size:.*\(([0-9]+) bytes\)/, a) {print a[1]}') export DISK_UUID=$(uuidgen) diff --git a/meta/classes/wic-img.bbclass b/meta/classes/wic-img.bbclass index 80ca5f7..7537a27 100644 --- a/meta/classes/wic-img.bbclass +++ b/meta/classes/wic-img.bbclass @@ -156,6 +156,7 @@ wic_do_mounts() { buildchroot_do_mounts sudo -s <<'EOSUDO' ( flock 9 + set -e for dir in ${BBLAYERS} ${STAGING_DIR} ${SCRIPTSDIR} ${BITBAKEDIR}; do mkdir -p ${BUILDCHROOT_DIR}/$dir if ! mountpoint ${BUILDCHROOT_DIR}/$dir >/dev/null 2>&1; then diff --git a/meta/recipes-devtools/buildchroot/buildchroot.inc b/meta/recipes-devtools/buildchroot/buildchroot.inc index 726c7bb..6d9ced0 100644 --- a/meta/recipes-devtools/buildchroot/buildchroot.inc +++ b/meta/recipes-devtools/buildchroot/buildchroot.inc @@ -44,6 +44,7 @@ BUILDCHROOT_PREINSTALL_COMMON = " \ rootfs_do_mounts_append() { sudo -s <<'EOSUDO' + set -e mkdir -p '${BUILDCHROOT_DIR}/downloads' mountpoint -q '${BUILDCHROOT_DIR}/downloads' || \ mount --bind '${DL_DIR}' '${BUILDCHROOT_DIR}/downloads' -- 2.25.1