From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6519842775260725248 X-Received: by 10.28.87.5 with SMTP id l5mr703260wmb.23.1518019189653; Wed, 07 Feb 2018 07:59:49 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 10.28.116.12 with SMTP id p12ls529636wmc.2.gmail; Wed, 07 Feb 2018 07:59:49 -0800 (PST) X-Google-Smtp-Source: AH8x225U/jffyCJ7q+3Zp1DyFOn9GwdOIKGLX1RY6d9iMehD12sEGFrR+F8AhUb2m1xTi0P9agdB X-Received: by 10.28.50.4 with SMTP id y4mr762265wmy.1.1518019188978; Wed, 07 Feb 2018 07:59:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518019188; cv=none; d=google.com; s=arc-20160816; b=0juZ5+eNT6T5X41kRKIBgCHzDhi+yFaZoFcdFOndmvCG8NuPiRBrkHqT/uxhI/QG5H nTSlILzLfmhLZWRbwsd7CCrXgpTTT08sbrJqLMsWl+/rHPILndCMBpKemEsYbl+c8AqH 3H+1JA2BcNO9DPI3UtjSjw2s1LkLNK4awfAWJPuY1g/5y1jsGoP4eghjijBvkWWWUizO zrYn72bjCjIlytpN+hx2c0GcXnHZRS3oen8RdLQFFDeU9ighngfjZ9KgbF5mP5tUsKPs rbvWf3zBQQ8C4x7z2t1dSDZkaBpFHs+HKFqOPkpem8Flq3DicNG2R5ztTTibx3mKklz3 Pq9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:mime-version:user-agent :date:message-id:subject:from:to:arc-authentication-results; bh=972DrVHW1ig9pWP3HyjdZ/eCWvyHmflfOMdwkdZXVEw=; b=omPYsdPSw4HL2leTGBlpAEoLBJT0CFHW6JAhCDIqS60znxJvDdHZV5K8M9V3Txxwc2 6QPAGDG0Da2iCkvOJ4BwK29AxTc2xCff6AU9HgGqLgHQRdjr8WDUr01jQ5dBFiLpt8d+ zwGFLUGcWaOXrO76c47G5rFJ7t3K4Z8FqNuuqE9ZMS8Nb7UmbIWqXM130TaJxE/aU1lL doDemy73olj7Ao67/tH4vvOEDXPJfIDPwZoRpqFfQMQMB6x7xKDsyhuShoOwghsMQzOX AvQ3xOvVqT6EjhKZLKmjyYuLc93iuDrDGh0sc7PtOd5mwAd+fOw1xjf9CweA/98W3a3n IlVw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Return-Path: Received: from goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id f8si138487wmc.2.2018.02.07.07.59.48 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Feb 2018 07:59:48 -0800 (PST) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Received: from mail3.siemens.de (mail3.siemens.de [139.25.208.14]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id w17FxmMq000302 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 7 Feb 2018 16:59:48 +0100 Received: from [139.25.68.37] (md1q0hnc.ad001.siemens.net [139.25.68.37] (may be forged)) by mail3.siemens.de (8.15.2/8.15.2) with ESMTP id w17FxmLh023660 for ; Wed, 7 Feb 2018 16:59:48 +0100 To: isar-users From: Jan Kiszka Subject: [PATCH] Skip over event handler calls with incomplete environment Message-ID: Date: Wed, 7 Feb 2018 16:59:47 +0100 User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: j6qi9QE4g40D From: Jan Kiszka The cleanup handler is called a couple of times per shutdown and, depending on the setup, some may not have a complete config. Avoid that we stumble and fall over any of the environment variables being undefined. Signed-off-by: Jan Kiszka --- meta/classes/isar-events.bbclass | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/meta/classes/isar-events.bbclass b/meta/classes/isar-events.bbclass index ae0f791..4b5e97e 100644 --- a/meta/classes/isar-events.bbclass +++ b/meta/classes/isar-events.bbclass @@ -15,15 +15,16 @@ python isar_handler () { distro = d.getVar('DISTRO', True) arch = d.getVar('DISTRO_ARCH', True) - w = tmpdir + '/work/' + distro + '-' + arch + if tmpdir and distro and arch: + w = tmpdir + '/work/' + distro + '-' + arch - # '/proc/mounts' contains all the active mounts, so knowing 'w' we - # could get the list of mounts for the specific multiconfig and - # clean them. - with open('/proc/mounts', 'rU') as f: - for line in f: - if w in line: - subprocess.call('sudo umount -f ' + line.split()[1], stdout=devnull, stderr=devnull, shell=True) + # '/proc/mounts' contains all the active mounts, so knowing 'w' we + # could get the list of mounts for the specific multiconfig and + # clean them. + with open('/proc/mounts', 'rU') as f: + for line in f: + if w in line: + subprocess.call('sudo umount -f ' + line.split()[1], stdout=devnull, stderr=devnull, shell=True) devnull.close() } -- 2.13.6