From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6521574339082452992 X-Received: by 10.223.154.236 with SMTP id a99mr280732wrc.7.1518554879233; Tue, 13 Feb 2018 12:47:59 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 10.28.170.1 with SMTP id t1ls1779121wme.7.gmail; Tue, 13 Feb 2018 12:47:58 -0800 (PST) X-Google-Smtp-Source: AH8x2251I2+3++3C7lK3t5TntGrfsLQeAYYLX9Ee8nKRdCn16T6xcoyBM/OiUXgekSJYckxI57dl X-Received: by 10.28.4.216 with SMTP id 207mr309021wme.13.1518554878728; Tue, 13 Feb 2018 12:47:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518554878; cv=none; d=google.com; s=arc-20160816; b=lkn8KrZBEzhkd+xSv+hDTaTp/mkveCxYBLUd4MpwVY235qwA1+6RYiICd8aLycY8m+ DNWhLEwXp/tD1htAyqUpmuCd3LiRbK48G7txmmE73WuuoZztOYkbJI6+WywFwE+gs19V 904bNNxuKzlySihS698opxaA+sCcYWixYVRclODVv9mloYM3dIaWaN8TUozQM4IktfT5 IPVW/z9y4yjC4whkFrFJfSiyOdCnvDCqp7LiosUfVy5MyU3CuNzZVpOgyqRzXPm8D7LP 54fmWTmsABXoSNy5Oi5rqeXatCxIkGIvYHzpookn3BzqXzHwmEDPgEcyX5W9Jodxp/AT 64NQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:references:to:subject :arc-authentication-results; bh=9Bn3FYesU0qkoO8CrypF5D/ahTfct5F+s1i0rrYuWYg=; b=Rf7uZWCDtffwloTGnkcO6me00GCXmxpppqr0CqHAgeDeGjQBi29JPystinHINWVc/B WhVVGjDS98M/1YqawI31TiZ8sPqH0BNvxLbUI2KMv+SKmR+G7RoqNbD0qNDVhtgxgfRC qBQN7EQjv+ZWMEriEtuDIRyz93Banh7Q6RRNh2+RW1mewK/K9UmBc/ct4dQCPUyFCLJk xMzS5ljQWIsi+PDkNN1ki8MaSFL3RpRNoPURoR8YLtUNk668Y3iE7kVYqq++qUcmUWqv p1cu4NqcKuu8We0npnGnMpJNvCnikgenJz8NexXmm5X5+559sJgzx4nQcu0ZzSMLUIiA 3+/w== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Return-Path: Received: from david.siemens.de (david.siemens.de. [192.35.17.14]) by gmr-mx.google.com with ESMTPS id v8si613462wrg.2.2018.02.13.12.47.58 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Feb 2018 12:47:58 -0800 (PST) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.14 as permitted sender) client-ip=192.35.17.14; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Received: from mail2.siemens.de (mail2.siemens.de [139.25.208.11]) by david.siemens.de (8.15.2/8.15.2) with ESMTPS id w1DKlwt4008595 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 13 Feb 2018 21:47:58 +0100 Received: from [139.25.68.37] (md1q0hnc.ad001.siemens.net [139.25.68.37] (may be forged)) by mail2.siemens.de (8.15.2/8.15.2) with ESMTP id w1DKlwDR000541; Tue, 13 Feb 2018 21:47:58 +0100 Subject: Re: [PATCH v2 5/9] Move buildchroot mounts into dpkg-base class To: Alexander Smirnov , isar-users References: <697b09bb60a515430f655989e859263922148264.1518552327.git.jan.kiszka@siemens.com> <640ea89d-7320-30b9-fd22-4747ee3f727f@ilbers.de> From: Jan Kiszka Message-ID: <4e4079c2-d3b5-cd05-8133-b31a38f2c814@siemens.com> Date: Tue, 13 Feb 2018 21:47:57 +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 In-Reply-To: <640ea89d-7320-30b9-fd22-4747ee3f727f@ilbers.de> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-TUID: btceOt1qRYry On 2018-02-13 21:17, Alexander Smirnov wrote: > > > On 02/13/2018 11:05 PM, Jan Kiszka wrote: >> From: Jan Kiszka >> >> This avoids the unfortunate setup_mounts task which is either not >> executed on rebuilds or causes excessive package rebuilds. We just need >> ensure prior to switching into the buildchroot that all mount points are >> populated. >> >> Signed-off-by: Jan Kiszka >> --- >>   meta/classes/dpkg-base.bbclass                   | 13 +++++++++- >>   meta/recipes-devtools/buildchroot/buildchroot.bb | 30 >> +++--------------------- >>   2 files changed, 15 insertions(+), 28 deletions(-) >> >> diff --git a/meta/classes/dpkg-base.bbclass >> b/meta/classes/dpkg-base.bbclass >> index a45fbce..66132da 100644 >> --- a/meta/classes/dpkg-base.bbclass >> +++ b/meta/classes/dpkg-base.bbclass >> @@ -2,7 +2,7 @@ >>   # Copyright (C) 2017 Siemens AG >>     # Add dependency from buildchroot creation >> -do_build[depends] = "buildchroot:do_setup_mounts" >> +do_build[depends] = "buildchroot:do_build" >>     # Add dependency between Isar recipes >>   DEPENDS ?= "" >> @@ -20,11 +20,22 @@ dpkg_runbuild() { >>       die "This should never be called, overwrite it in your derived >> class" >>   } >>   +mount_if_needed() { >> + >> +    # The test may race with parallel builds. So probe, mount if >> needed, and >> +    # then only fail if both the mount and yet another probe failed >> as well. >> +    grep -q $2 /proc/mounts || sudo mount $1 $2 || grep -q $2 >> /proc/mounts > > This could lead to have lots of remounts on the same folder during > parallel execution. This should be done in a separate task and protected > by [lockfiles]. No, it won't - please re-read the code. It's a classic retry pattern, and it's even detecting errors. Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux