From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7107445708784926720 X-Received: by 2002:a05:6402:524c:b0:42e:320:bfbc with SMTP id t12-20020a056402524c00b0042e0320bfbcmr50744043edd.65.1654853579640; Fri, 10 Jun 2022 02:32:59 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6402:424b:b0:433:426d:7e15 with SMTP id g11-20020a056402424b00b00433426d7e15ls307998edb.0.gmail; Fri, 10 Jun 2022 02:32:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzpcUDTmNmKNjYERTJAf7YQg6IRfIFWOvC3JHevig1Acw7UJ5b9rQy8ovsxMHWiIMvWU6fV X-Received: by 2002:a05:6402:249e:b0:42d:bb88:865b with SMTP id q30-20020a056402249e00b0042dbb88865bmr40860926eda.141.1654853578661; Fri, 10 Jun 2022 02:32:58 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1654853578; cv=pass; d=google.com; s=arc-20160816; b=L9YWQ3m7Y3724mT+J8G9eUkWCXD/zqesXiJNemwWkuUp4OOWHR+zgO5fe5fvvLrSma VPsIzgHD6uR5mkmVhZg+i/DIDdK5soTg+Oa2LwEcjLot/5VXfxnBIYWjdgyMuTIFeuFt RwgDQ4VYjqIcSqXfW3Vj2k2oD+wWIw7tWqC0r4CSEPcWJHp2FAskWMeIalNEliGSCJNz Aa+eFR980ehWj0ihFaGluKi8flfcL3ZHgaRQNUmwYL8h9Rgi+GJCLOKmUtQu7Oepp3aG W/epYGtYYWTG3N0IDG0RLXQkXWkGb7FBPFeLyrkfv1qYy0lLbSdEISsxErS+wVDoSOmL upkw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:references:in-reply-to :message-id:subject:cc:to:from:date:dkim-signature; bh=s7WT9XMUneEuiZfQEPID5DTgI9zbiXAUO6Z7h3EsHbs=; b=q+qXlhKe5h96pSuaLJ71xMsdUKY08uXz7R9kBxc1b/jmhzDZVhm/qJR9DzX88fyIf3 fsm0Nz0QYf4Th+qrmnSqwSSxj5gQRxmYQ1hrvxMs2SgQNYArQ+zBdSZqTMr6o2GfcO2O kRXrunDqSVR7CrLcMy3XBOGbF9NDE5KLd2lq6u8UGJsS88loAvk4IYJj6qrHmtu+ah7C yPewo65iS0JiINZih4+dQRK3/C4IKK4jwnNNl0ErM5V713Mx1s4+i3Qt+vV9MD2J/HD4 EhIV0+TI1dhui3TzglQmG46+MUoJlJGYW6kTR+ScrvQ26+hHLX12FkbTOf961eefFydX MRNg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b="nQg4nC/9"; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of henning.schild@siemens.com designates 2a01:111:f400:fe0c::625 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on0625.outbound.protection.outlook.com. [2a01:111:f400:fe0c::625]) by gmr-mx.google.com with ESMTPS id m7-20020aa7d347000000b0042dd1db7093si313540edr.5.2022.06.10.02.32.58 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 10 Jun 2022 02:32:58 -0700 (PDT) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 2a01:111:f400:fe0c::625 as permitted sender) client-ip=2a01:111:f400:fe0c::625; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b="nQg4nC/9"; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of henning.schild@siemens.com designates 2a01:111:f400:fe0c::625 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QUOQ/hlI05fZ00q4MMEuF9y8z//ceUHWXuaJIKX4Txa+ChaNIKxMaeK/uNT7huh4WRhWxRLTDfq/KKbt5VbM7HgqX+RBGFCBhy8b++CVnO5VbSrYrjfsUx0rfJy14437BwNORTGZRdlkuxGc4R8SikcpaDi5uls4e0uRqzdHdEyU17gFTrlWJPw7fEb61xmvFL4H3Wq/IXwyKkQT5M12lZlXA5NLgUDB+DqUb5ajOfX8C4wIv/fF/yJS7Ttop9/PoKM9DfvzfMMVVqfrgehbqpy4/HyYCFuWQgCm9BcvUQxX0AJhQQ0jvj79k72JP9KnAwjRBsLR/V2fgIwqdJo5Lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=s7WT9XMUneEuiZfQEPID5DTgI9zbiXAUO6Z7h3EsHbs=; b=bURUa2AX9Y36kp9XgAyxzmzOdUL+LrqXxpSC3jGZc5c+bmRqBvPnArLHSZwvnkuYzm5vbJk79vHNXd4DyQdGeRC39QvkcoN8XxCWDNGqRToM7wG1O1SdSR1kCqKMhNxH4N5dLLhpzNsmoCSaVW/m7sBpdBR7Qxzyii+vEnViMDPqDxw+shXHqSPkwzJfuil2o2TIpkl7xGYyDSjQC0LAR6GEEL8BxC0yPDcTFpr9oFgFDGviq6hoR4vl6wcJdIKrpo1827ccYQn9vnUZNW7a+f1+TvFs9xTgynPPd1aEhwoSW8IM/8fXfjc760ywdTLkOBnRCEiobLSEM5oVdRLUCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=s7WT9XMUneEuiZfQEPID5DTgI9zbiXAUO6Z7h3EsHbs=; b=nQg4nC/9djVzOK5vXnl35YHFQUhvzDdgDpvsGaOJfGso3TAZx0fFs+5JgSQUyAoctyt/od7NcRvAwOJ3ZOf7lExD3QmfTTg2X82AnncS5aH2Ln6E7M1GKVwyHLE8UYxKvo9D59DEDJ8C5W249QhGg0UnPozrb4kJDPSRp9a0MPSs696yeLWqLqbUDCQQqStfo1sSChlLKS+/bWPuUUNsDoHo7/OGqNU8UAD2QaTlg8O4Y5meyQRuHDuZQ4Uiljk20nlbJNvTkAaq9RFOmvUKMIDTMMXDN0ap4buCwG+AtARPHID18tGVaNP7N+7Qh+S0u1vi6YekU09e3mNYVwHcCQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:269::8) by DB9PR10MB4489.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:1fc::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.12; Fri, 10 Jun 2022 09:32:57 +0000 Received: from PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM ([fe80::5cda:b492:3cee:902f]) by PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM ([fe80::5cda:b492:3cee:902f%6]) with mapi id 15.20.5332.013; Fri, 10 Jun 2022 09:32:55 +0000 Date: Fri, 10 Jun 2022 11:32:53 +0200 From: Henning Schild To: Uladzimir Bely Cc: isar-users@googlegroups.com, Jan Kiszka Subject: Re: [PATCH] expand-on-first-boot: Fix early exit in helper script Message-ID: <20220610113253.123f3f75@md1za8fc.ad001.siemens.net> In-Reply-To: <2415021.XAFRqVoOGU@home> References: <20220610031915.25529-1-ubely@ilbers.de> <3e329667-190f-0021-0b98-4b82b065e0b6@siemens.com> <2415021.XAFRqVoOGU@home> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.34; x86_64-pc-linux-gnu) Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-ClientProxiedBy: AM6P192CA0095.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:8d::36) To PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:269::8) Return-Path: henning.schild@siemens.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 021fb9c7-bf12-4a89-80eb-08da4ac432b6 X-MS-TrafficTypeDiagnostic: DB9PR10MB4489:EE_ X-LD-Processed: 38ae3bcd-9579-4fd4-adda-b42e1495d55a,ExtAddr X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9MRIjoTOcSc4Z9ijjrkGa+/YJI+7C3q4IdZsd6WO1pVyUoXBWMnYvyvDMscLmDtIsTp514IETDD/7SQ0XHiwGoaphSc2n4KwZfK+GY7PvTgsQKbozR38YhirsDShmMQKeWfFCW1itCcVsAKHmeH6vMpkqw/QtF0X23LMNw1m+E+vQoeg+wVVmZBtvV/LcDGmp21HxD0/bauLDOvdbIOI7Od/+CkeChYCSo4QVI+Nu+Hl0tHDuMz//zy5wqU/Yo+CjmA3seHCkgd9nt9Cs8ACdU8/kt8pEMdnEQSNc4PbTBigzqI3+PBtG/TskZ3hZux9zr97kPeI5JCl8Fa/QM33xtJ1d5oxkoBg/z5SzLaBr+bEZ/jHx4w/5Rk2eBYSFg7h1JUusGqVaXxgZdUPGWBIfeXuM4pb2b/W0TxRDYDfUxdV4kXc2Qy6caVjKJ9bPH4xXyv26aIdYgdTxUMP16SQEcpMUd4Cje1W78fW83FFB7LeEVAtuymJPQi6OXIu2gw/s364/Gffs1HDeDdcwzWvnXvnY553hw2jl4ZfSfHQ2djuuDRWoamIuoMsWUS19t+/5tGIWTNsSGZkZk+nl+ORtiFj86c/pSKDVYNdmQc18tB1RAjOp/NQJ1dktJ9vY6nM8wTCrhESM+cdHtGFGG+hLA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(6506007)(186003)(53546011)(82960400001)(1076003)(107886003)(4326008)(26005)(508600001)(6486002)(8676002)(2906002)(6512007)(9686003)(6916009)(316002)(38100700002)(44832011)(8936002)(66476007)(66556008)(83380400001)(86362001)(5660300002)(66946007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JrfUAPdzUMCeJBUXbFFOk35lqT1cNl+U6yMeOGEFwIX8Xd7vp+1B2loYXcXR?= =?us-ascii?Q?E4/PywE96VgVD36mkG8rqhEK3FkDEz2fAJRnnjac0kw5sbLbBpQ3mcySPIul?= =?us-ascii?Q?X6b/bZuVXNlvGb4rO1VvgqLYYo/Aw3TtwVe/vGrHWyRAygazsHMW0Ij3+Sv5?= =?us-ascii?Q?b0hw0TmTk2MKr+yPLtpqRfIdUbS9Hv3ygTekRXh/ZelG7HmxzsMfRuHvKIPY?= =?us-ascii?Q?dlFmHeJdxNGtZXBJ7tBsgmdr6lEGgULgTXQUAMWs3Zhuw0WrN0I48A1114l2?= =?us-ascii?Q?x4SvVuDoPeayxHXRq80n8RllBbwQnA0tVWF1PEsvxKlnR3Ugr3i3V7oRjhzx?= =?us-ascii?Q?sOGS5At+mk+v6XuEKaWkPuuGTu3Amb8vxOvK2FeyyDvUaXfVUOPezPBF4Kqo?= =?us-ascii?Q?WfQ2vGfksXCBS1gAb8GjjWYIYsRlbaQZeGr+42YdcjjjSH5FGrY0bEr4oejm?= =?us-ascii?Q?AVVKL/hUgEXfuVvJ/C+p45T9m7Yjam64dwL3pZvFWF42YoS3poURQq/HvSpR?= =?us-ascii?Q?oa8LS14mmJtTcTZVCsDShkB4R9Z9m+PEImjHeQlB+L1KiZvsbLcKUqBRqM/i?= =?us-ascii?Q?5bhXpKiwA168xYuJfYOxHn6yaFeSRwD/ndqOzyQdnzi4J2rXvkBGfOYaJBJc?= =?us-ascii?Q?ebnbD0RY+IY32DyGzpJcxv6uH2Dncb294PT99A1uPn0HetkOAm9vlyy8gIkW?= =?us-ascii?Q?R0fngjtowJbHgOYK9TPYEbjf4HJdj9wIy2uVa+LhHIVGOQAR7kVFHPIab1sW?= =?us-ascii?Q?KuUQw981uPAysGeCp7qQTajEPW7bDwz/BN3MysTnUajDumzsUUQopL4u2QU8?= =?us-ascii?Q?0chbrhEfQhbLgT1TpiSjF5GKszXrkctXSNvlz7jNTmIzoRz5Znq8a+WulgKm?= =?us-ascii?Q?g5+H1tyeDBPvaVEn3a9vVe71E60TBUUg/rKE69KqB44AVPTbD29qyY2f00AC?= =?us-ascii?Q?k3Kc+fAP+LWuw/iU4Rjv2lcsm58l/3+ibw9LHF321SmGZn3VqSQELtmc58c/?= =?us-ascii?Q?/Ko2d0HcVg/sC55/qiKysogzP6mQT3R5prrRUHtGXNgRfzy4y9d+97jgIbeL?= =?us-ascii?Q?sGDjh0eJDBbbd0eDkNNWPtUm3KIU12FF0DByliIyydM2QspOVjWmxeVBRCeR?= =?us-ascii?Q?BaH+mm2omoixo44zao7csfFQNVv4RW+Y21fAX2RahR6F96C03VNSifeY0urW?= =?us-ascii?Q?b5s51G0QeV2eqmxiDFneLPHRawr81CXtaF5ribz4pW8lKRcuH7SoGy9lwbi9?= =?us-ascii?Q?M/xZCn2UDJpFTp9ie0eA7sR8xnCjwyeVAWPn1UJnLiicGPsjlvuFdr0SZ0bg?= =?us-ascii?Q?Sip3B64/mLogZXVcdrhpZ0ULPwynagMqBJMENka7SSi6EIMxKkDFBbA1ffbe?= =?us-ascii?Q?Dph/cQ3rRpA4621fX53ECqjgpZnYMUigzx5tejBRDy6UMyMIzB9DnPo+5uJ7?= =?us-ascii?Q?G5mngwBy0xbXFy/qapeK3rRutVqj3WeKDN+GB9O46ivDlckwWGuHXhAbkDug?= =?us-ascii?Q?Civ6PZxz6pAaaBazDGls+jcioqRijJk/P95fWjYqkK1xlhOaXeN0XB1d4UDF?= =?us-ascii?Q?dqOLx9uBVylD4IIz6dM0ZHuTnzGWGePs+Pkq5MoTJ0YDNOdoqFqhzclVukX7?= =?us-ascii?Q?3BZE39ck1WiLR31kceLcdpLlPNWRoKIYJZ4Ky8idg8LgLtkLKv/9R50YC1nA?= =?us-ascii?Q?SYGBHjIgumWCPR1ybudhdAN4ovQIxNtPNZG7kYCz8zGfvDYyPVldYeMS7uaL?= =?us-ascii?Q?N+wAsWt9P1z0fBtTulgEHFNXLJ6PD1s=3D?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 021fb9c7-bf12-4a89-80eb-08da4ac432b6 X-MS-Exchange-CrossTenant-AuthSource: PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2022 09:32:55.2619 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: kZkiINHMGaAX+Ukz5HRyG4LlUpmTs2AzeNLbfhfLB0Z4wf0l06vHxJiLSzXV6djE9RscOLjlEuGYtngh/v9vj/57q+d7Ky5LFpw1Qc5G6Ls= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR10MB4489 X-TUID: GH041Fbzm/jd Am Fri, 10 Jun 2022 10:13:54 +0300 schrieb Uladzimir Bely : > In the email from Friday, 10 June 2022 08:14:19 +03 user Jan Kiszka > wrote: > > On 10.06.22 05:19, Uladzimir Bely wrote: > > > Changes in 342a751e introduced a regression when error from 'find' > > > makes helper script early exit (with -1 error code) just after an > > > attempt to assign ROOT_DEV_SLAVE variable. So, the last partition > > > remained not resized. > > > > > > Passing 'find' output to 'head -1' masks possible error from > > > 'find' without breaking the logic and continues the script > > > execution. > > > > > > Signed-off-by: Uladzimir Bely > > > --- > > > > > > .../expand-on-first-boot/files/expand-last-partition.sh > > > | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git > > > a/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.s > > > h > > > b/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.s > > > h index f3e29a1c..934a014f 100755 > > > --- > > > a/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.s > > > h +++ > > > b/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.s > > > h @@ -11,7 +11,7 @@ set -e > > > > > > ROOT_DEV="$(findmnt / -o source -n)" > > > ROOT_DEV_NAME=${ROOT_DEV##*/} > > > > > > -ROOT_DEV_SLAVE=$(find /sys/block/"${ROOT_DEV_NAME}"/slaves > > > -mindepth 1 -print -quit 2>/dev/null) +ROOT_DEV_SLAVE=$(find > > > /sys/block/"${ROOT_DEV_NAME}"/slaves -mindepth 1 -print -quit > > > 2>/dev/null | head -1)> > > > if [ -n "${ROOT_DEV_SLAVE}" ]; then > > > > > > ROOT_DEV=/dev/${ROOT_DEV_SLAVE##*/} > > > > > > fi > > > > "-quit" is supposed to obsolete "head -1". Feel free to prove me > > wrong, but that was the reason for dropping it. > > > > Jan > > Yes, "-quit" makes 'find' to exit after first match. But if nothing > found, the return code of 'find' is "-1" and due to script's "set -e" > it just exits. > > An example that demonstrates the behaviour (on raspberry): > > root@isar:~# cat /boot/test.sh > #!/bin/sh > > set -e > > echo "1: start" > ROOT_DEV="$(findmnt / -o source -n)" > echo "2: ROOT_DEV=${ROOT_DEV}" > ROOT_DEV_NAME=${ROOT_DEV##*/} > echo "3: ROOT_DEV_NAME=${ROOT_DEV_NAME}" > ROOT_DEV_SLAVE=$(find /sys/block/"${ROOT_DEV_NAME}"/slaves -mindepth > 1 -print -quit > 2>/dev/null) > echo "4: ROOT_DEV_SLAVE=${ROOT_DEV_SLAVE}" > root@isar:~# sh /boot/test.sh > 1: start > 2: ROOT_DEV=/dev/mmcblk0p2 > 3: ROOT_DEV_NAME=mmcblk0p2 > root@isar:~# echo $? > 1 > root@isar:~# ls /sys/block/ | grep mmc > mmcblk0 > root@isar:~# > So, the easiest way to mask error returned by 'find' is to use > something like 'head -1' or 'tee / dev/null'. In this case script > just continues with empty ROOT_DEV_SLAVE. i think something other than head would be better to catch the case where find does not find anything. i.e. rc=0 find || rc=$? if [ $rc -eq 0 -a -n "${ROOT_DEV_SLAVE}" ]; then or simply use a "find || true" Henning