From patchwork Tue Sep 6 13:50:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Kjellerstedt X-Patchwork-Id: 12370 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 968CEC6FA83 for ; Tue, 6 Sep 2022 13:50:25 +0000 (UTC) Received: from smtp2.axis.com (smtp2.axis.com [195.60.68.18]) by mx.groups.io with SMTP id smtpd.web08.4408.1662472214868014223 for ; Tue, 06 Sep 2022 06:50:15 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@axis.com header.s=axis-central1 header.b=LnttluWq; spf=pass (domain: axis.com, ip: 195.60.68.18, mailfrom: peter.kjellerstedt@axis.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axis.com; q=dns/txt; s=axis-central1; t=1662472215; x=1694008215; h=from:to:subject:date:message-id:mime-version: content-transfer-encoding; bh=OhpaIzPiv2UWhZ9H9EGzoy8h2bHrCCmxmoyDTxUDCAI=; b=LnttluWqC5wgM5VMUEkee3rCjDhUmgh9SFiVMDjXlRp052XZX7uTue3n N0jeBBZdoQ0tx+V0qrF9zOWTuMFeFmIDARpBjUDblQ4GWs0PPacZbQHJ2 kTJgUTVKVrsYPfIz5Lp4jE4WhdKpfK4wuAlIcqj6ruSccdS4IMfONgQP1 qW9wmoP9+8WWEbicZWtRVHdoTCkfSND23NlG+qizBe7lZ1DucnYPtZ5s7 lOH2oGm4aAMW4r+Gtn1gI5Mbh2n9qaqrnoDCgHM6KKhW4tdiDU5WSEe6U kRhCAvKrFp8qEdNYeZE6tLUWhBa/V02yfCZ1rSp3Uw5tvQ6jnbV7SKx17 A==; From: Peter Kjellerstedt To: Subject: [PATCH 1/3] oe-setup-builddir: Correct when validation of the templates dir is run Date: Tue, 6 Sep 2022 15:50:08 +0200 Message-ID: <20220906135010.2610775-1-pkj@axis.com> X-Mailer: git-send-email 2.37.3 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 06 Sep 2022 13:50:25 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170354 Signed-off-by: Peter Kjellerstedt --- scripts/oe-setup-builddir | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/oe-setup-builddir b/scripts/oe-setup-builddir index d3c7f943e7..70f2245b16 100755 --- a/scripts/oe-setup-builddir +++ b/scripts/oe-setup-builddir @@ -63,11 +63,11 @@ if [ -n "$TEMPLATECONF" ]; then echo >&2 "Error: TEMPLATECONF value points to nonexistent directory '$TEMPLATECONF'" exit 1 fi - templatesdir=$(python3 -c "import sys; print(sys.argv[1].strip('/').split('/')[-2])" $TEMPLATECONF) - if [ ! -f "$TEMPLATECONF/../../layer.conf" -o $templatesdir != "templates" ]; then - echo >&2 "Error: TEMPLATECONF value (which is $TEMPLATECONF) must point to meta-some-layer/conf/templates/template-name" - exit 1 - fi + fi + templatesdir=$(python3 -c "import sys; print(sys.argv[1].strip('/').split('/')[-2])" $TEMPLATECONF) + if [ ! -f "$TEMPLATECONF/../../layer.conf" -o $templatesdir != "templates" ]; then + echo >&2 "Error: TEMPLATECONF value (which is $TEMPLATECONF) must point to meta-some-layer/conf/templates/template-name" + exit 1 fi OECORELAYERCONF="$TEMPLATECONF/bblayers.conf.sample" OECORELOCALCONF="$TEMPLATECONF/local.conf.sample" From patchwork Tue Sep 6 13:50:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Kjellerstedt X-Patchwork-Id: 12372 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9BC1AC6FA89 for ; Tue, 6 Sep 2022 13:50:25 +0000 (UTC) Received: from smtp2.axis.com (smtp2.axis.com [195.60.68.18]) by mx.groups.io with SMTP id smtpd.web08.4408.1662472214868014223 for ; Tue, 06 Sep 2022 06:50:16 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@axis.com header.s=axis-central1 header.b=ibpuY2P7; spf=pass (domain: axis.com, ip: 195.60.68.18, mailfrom: peter.kjellerstedt@axis.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axis.com; q=dns/txt; s=axis-central1; t=1662472216; x=1694008216; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=jL6xy7VLbRraMTZTI0NjYggXMGgwnAOgjEncbHCbJO8=; b=ibpuY2P7di3MsJwGHhP5t55prruaqMGbNUsPtoPGrLQuPeJn58N9hKnX 3SJRzWb2706gvaQZg2nn/qQSbkvrbD+P1yba7nFD3XsxQgZdKkMHSOmXj fx+NVtEw3qiLNqhZRsriTynFQLScFFTcGJ5HhelkGpfldp3+shORADA4O NGDEYOPd6sSK+hrxJpwPDmAGBle/27lkUbtR+QVh+NoGQrGYCOv+/vQnI L3omonYMrZ4ANSFTKSgn6tZIpJHGZ4Cz1CutROB1Sr1fiPJx1Mq6JNFTu MgLG29cgOQjj2Irq1oNh0R80ppknTdrOvCZv6SEctqRoTHj1CVTn/FPoA A==; From: Peter Kjellerstedt To: Subject: [PATCH 2/3] oe-setup-builddir: Simplify error handling Date: Tue, 6 Sep 2022 15:50:09 +0200 Message-ID: <20220906135010.2610775-2-pkj@axis.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220906135010.2610775-1-pkj@axis.com> References: <20220906135010.2610775-1-pkj@axis.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 06 Sep 2022 13:50:25 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170355 Signed-off-by: Peter Kjellerstedt --- scripts/oe-setup-builddir | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/scripts/oe-setup-builddir b/scripts/oe-setup-builddir index 70f2245b16..69c33049c7 100755 --- a/scripts/oe-setup-builddir +++ b/scripts/oe-setup-builddir @@ -7,10 +7,12 @@ # SPDX-License-Identifier: GPL-2.0-or-later # -if [ -z "$BUILDDIR" ]; then - echo >&2 "Error: The build directory (BUILDDIR) must be set!" +die() { + echo Error: "$@" >&2 exit 1 -fi +} + +[ -n "$BUILDDIR" ] || die "The build directory (BUILDDIR) must be set!" if [ "$1" = '--help' -o "$1" = '-h' ]; then echo 'Usage: oe-setup-builddir' @@ -22,15 +24,9 @@ fi mkdir -p "$BUILDDIR/conf" -if [ ! -d "$BUILDDIR" ]; then - echo >&2 "Error: The builddir ($BUILDDIR) does not exist!" - exit 1 -fi - -if [ ! -w "$BUILDDIR" ]; then - echo >&2 "Error: Cannot write to $BUILDDIR, perhaps try sourcing with a writable path? i.e. . oe-init-build-env ~/my-build" - exit 1 -fi +[ -d "$BUILDDIR" ] || die "The build directory ($BUILDDIR) does not exist!" +[ -w "$BUILDDIR" ] || + die "Cannot write to $BUILDDIR, perhaps try sourcing with a writable path? i.e. . oe-init-build-env ~/my-build" # Attempting removal of sticky,setuid bits from BUILDDIR, BUILDDIR/conf chmod -st "$BUILDDIR" 2>/dev/null || echo "WARNING: unable to chmod $BUILDDIR" @@ -59,15 +55,12 @@ if [ -n "$TEMPLATECONF" ]; then if [ -d "$OEROOT/$TEMPLATECONF" ]; then TEMPLATECONF="$OEROOT/$TEMPLATECONF" fi - if [ ! -d "$TEMPLATECONF" ]; then - echo >&2 "Error: TEMPLATECONF value points to nonexistent directory '$TEMPLATECONF'" - exit 1 - fi + [ -d "$TEMPLATECONF" ] || + die "TEMPLATECONF value points to nonexistent directory '$TEMPLATECONF'" fi templatesdir=$(python3 -c "import sys; print(sys.argv[1].strip('/').split('/')[-2])" $TEMPLATECONF) if [ ! -f "$TEMPLATECONF/../../layer.conf" -o $templatesdir != "templates" ]; then - echo >&2 "Error: TEMPLATECONF value (which is $TEMPLATECONF) must point to meta-some-layer/conf/templates/template-name" - exit 1 + die "TEMPLATECONF value (which is $TEMPLATECONF) must point to meta-some-layer/conf/templates/template-name" fi OECORELAYERCONF="$TEMPLATECONF/bblayers.conf.sample" OECORELOCALCONF="$TEMPLATECONF/local.conf.sample" From patchwork Tue Sep 6 13:50:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Kjellerstedt X-Patchwork-Id: 12371 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9B754ECAAA1 for ; Tue, 6 Sep 2022 13:50:25 +0000 (UTC) Received: from smtp1.axis.com (smtp1.axis.com [195.60.68.17]) by mx.groups.io with SMTP id smtpd.web08.4409.1662472217062798718 for ; Tue, 06 Sep 2022 06:50:17 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@axis.com header.s=axis-central1 header.b=i68w2wgN; spf=pass (domain: axis.com, ip: 195.60.68.17, mailfrom: peter.kjellerstedt@axis.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axis.com; q=dns/txt; s=axis-central1; t=1662472217; x=1694008217; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=rndyL9DBUgwRFeoTx8oy7DJ5KV3YVTiT72ZblS12cok=; b=i68w2wgNSM58K/B4rJCdQbckMnxDt7NYzmLpnbOvdi0Ajwewj54DjVLO maPCgqfN2aYq9xsTLRU5LvJoECcAcIUMO1YgPue8LuiHj6hPDzJsKSEpA S0hvaS/ti9y6BIxV67+8TVKjxIeaZCzZowpn4xiukolttH1J2SQDeI068 rOigIzwdrmyIbn0fSM57Xv90M9I/nh1E+KAvIcAlc1AzKpwvpNn9ZfXnG 26iOh2B4bUl/RPDRvVMxitZJLaS527P5VoUzTHI31F5TjIXgovAYYzE6D GKxOMgKGfsnMEefrrcw1jr3lngM3vdawK0LqLeA7sAmSxUwtO0MDvte2L g==; From: Peter Kjellerstedt To: Subject: [PATCH 3/3] oe-setup-builddir: Avoid shellcheck warnings Date: Tue, 6 Sep 2022 15:50:10 +0200 Message-ID: <20220906135010.2610775-3-pkj@axis.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220906135010.2610775-1-pkj@axis.com> References: <20220906135010.2610775-1-pkj@axis.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 06 Sep 2022 13:50:25 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170356 This avoid the following warnings: * SC2086: Double quote to prevent globbing and word splitting. * SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails. * SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined. * SC2236: Use -n instead of ! -z. Signed-off-by: Peter Kjellerstedt --- scripts/oe-setup-builddir | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/scripts/oe-setup-builddir b/scripts/oe-setup-builddir index 69c33049c7..b06880c9cb 100755 --- a/scripts/oe-setup-builddir +++ b/scripts/oe-setup-builddir @@ -14,7 +14,7 @@ die() { [ -n "$BUILDDIR" ] || die "The build directory (BUILDDIR) must be set!" -if [ "$1" = '--help' -o "$1" = '-h' ]; then +if [ "$1" = '--help' ] || [ "$1" = '-h' ]; then echo 'Usage: oe-setup-builddir' echo '' echo "OpenEmbedded setup-builddir - setup build directory $BUILDDIR" @@ -32,19 +32,19 @@ mkdir -p "$BUILDDIR/conf" chmod -st "$BUILDDIR" 2>/dev/null || echo "WARNING: unable to chmod $BUILDDIR" chmod -st "$BUILDDIR/conf" 2>/dev/null || echo "WARNING: unable to chmod $BUILDDIR/conf" -cd "$BUILDDIR" +cd "$BUILDDIR" || die "Failed to change directory to $BUILDDIR!" -if [ -f "$BUILDDIR/conf/templateconf.cfg" -a -z "$TEMPLATECONF" ]; then +if [ -z "$TEMPLATECONF" ] && [ -f "$BUILDDIR/conf/templateconf.cfg" ]; then TEMPLATECONF=$(cat "$BUILDDIR/conf/templateconf.cfg") # The following two are no longer valid; unsetting them will automatically get them replaced # with correct ones. - if [ $TEMPLATECONF = "meta/conf" -o $TEMPLATECONF = "meta-poky/conf" ]; then + if [ "$TEMPLATECONF" = meta/conf ] || [ "$TEMPLATECONF" = meta-poky/conf ]; then unset TEMPLATECONF - rm $BUILDDIR/conf/templateconf.cfg + rm "$BUILDDIR/conf/templateconf.cfg" fi fi -. "$OEROOT"/.templateconf +. "$OEROOT/.templateconf" # # $TEMPLATECONF can point to a directory for the template local.conf & bblayers.conf @@ -58,8 +58,8 @@ if [ -n "$TEMPLATECONF" ]; then [ -d "$TEMPLATECONF" ] || die "TEMPLATECONF value points to nonexistent directory '$TEMPLATECONF'" fi - templatesdir=$(python3 -c "import sys; print(sys.argv[1].strip('/').split('/')[-2])" $TEMPLATECONF) - if [ ! -f "$TEMPLATECONF/../../layer.conf" -o $templatesdir != "templates" ]; then + templatesdir=$(python3 -c "import sys; print(sys.argv[1].strip('/').split('/')[-2])" "$TEMPLATECONF") + if [ "$templatesdir" != templates ] || [ ! -f "$TEMPLATECONF/../../layer.conf" ]; then die "TEMPLATECONF value (which is $TEMPLATECONF) must point to meta-some-layer/conf/templates/template-name" fi OECORELAYERCONF="$TEMPLATECONF/bblayers.conf.sample" @@ -111,7 +111,7 @@ unset OECORELOCALCONF unset OECORELAYERCONF # Ending the first-time run message. Show the YP Documentation banner. -if [ ! -z "$SHOWYPDOC" ]; then +if [ -n "$SHOWYPDOC" ]; then cat <