From patchwork Sun Jul 7 05:28:14 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Atharva Lele X-Patchwork-Id: 1128559 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.137; helo=fraxinus.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="YLOqCW2X"; dkim-atps=neutral Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 45hHFm1962z9sCJ for ; Sun, 7 Jul 2019 15:29:32 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id B2EF88558F; Sun, 7 Jul 2019 05:29:30 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8cH9OWLm1a7m; Sun, 7 Jul 2019 05:29:29 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id DB20C850DC; Sun, 7 Jul 2019 05:29:29 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 3FBC61BF956 for ; Sun, 7 Jul 2019 05:29:29 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 35CF8850DC for ; Sun, 7 Jul 2019 05:29:29 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id U3L45hrs3gi5 for ; Sun, 7 Jul 2019 05:29:28 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pf1-f195.google.com (mail-pf1-f195.google.com [209.85.210.195]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 489D884506 for ; Sun, 7 Jul 2019 05:29:28 +0000 (UTC) Received: by mail-pf1-f195.google.com with SMTP id c73so1342702pfb.13 for ; Sat, 06 Jul 2019 22:29:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JULdsXfxnFfDm4CpNdKO1WAk6JndMs66hs4Oh5v+SLM=; b=YLOqCW2XhBfPZ127df0xqg1mh3v/djOLbd08ly3ipdyZ40KcEhYKl3c3zYOE5oWkA7 wqHBKiurdM7zh9g+Vg0QupC7Jjc9yyRAn5fAh52zd+RINU6wNss6yGLKfozq82y2LGaO zjd9t+XbE2r0/zviOsfeyLuoCxeG1hWcTdWCSiLsvKBwJby0fHjBNaS9wRTlF63hV3Tj 5fgSww1FTGh6dE1Q4+8uOtgsqaJAByGUyZft6NH4ULdXqle7kFz2RkgYMZiA8Ci/O/29 r41qViLFZlK9mIEK/w41gzXjP6rYtPT9MK5uJ+0AbTBh2EGrAX2rHfT6adfFKkBiMV3S VNzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JULdsXfxnFfDm4CpNdKO1WAk6JndMs66hs4Oh5v+SLM=; b=pTYXRWWsB5hgoRfwk8NsrnBPJkb+lM6KXaaoSznQ3uh5IxEOVYiaOTFeT3KsvZLEEK deN2TpLgzKXk0WObdqCEMtOGVrg2JY1Gp9af8iDpeYNheYmAn/pe0VMxEXJgsMy+/PUm eMoXpRf5FvTmdoyJnhOLMcOmfq7wY90qmRqwb7sRfPqTlMXXulYk/eUKiSKmq1Wl4mCy zrgLk+DuBLtr0Iv8XuICeyIT3SUW7dxbELletwcE194/OKdk1HmvNMiyByJ8ZK+2rnma ymA9xnVPCK4hN6h59LRjwNyrYCeVnZxKwdXM+kP9dmAZLBvOSqRQqM/MoYbRLDpPqQIg LGuA== X-Gm-Message-State: APjAAAVek57p5s5x6BArRQCG1tDG6bTTtZOY8TVlxSj4oHNR31glXtn4 ZLoW4u8OAnoHMCeNkGoUm2K5w4IryLRwsw== X-Google-Smtp-Source: APXvYqwCLJPLztFwU6XcWv4NBZRMOLRS3X29cGhR3jyhI0N1XEHXT3dK7gxVtZdC1fuR1nkBp33nJA== X-Received: by 2002:a17:90a:bd8c:: with SMTP id z12mr15438528pjr.60.1562477367427; Sat, 06 Jul 2019 22:29:27 -0700 (PDT) Received: from localhost.localdomain ([123.201.194.71]) by smtp.gmail.com with ESMTPSA id j24sm18039214pgg.86.2019.07.06.22.29.25 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Sat, 06 Jul 2019 22:29:27 -0700 (PDT) From: Atharva Lele To: buildroot@buildroot.org Date: Sun, 7 Jul 2019 10:58:14 +0530 Message-Id: <20190707052831.9469-14-itsatharva@gmail.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190707052831.9469-1-itsatharva@gmail.com> References: <20190707052831.9469-1-itsatharva@gmail.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH v3 14/31] autobuild-run: define instance directory as a part of Builder class X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Atharva Lele , yann.morin.1998@free.fr, thomas.petazzoni@bootlin.com Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" We need idir as a class member before moving log out of kwargs. Signed-off-by: Atharva Lele Acked-by: Arnout Vandecappelle (Essensium/Mind) --- scripts/autobuild-run | 49 +++++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 27 deletions(-) diff --git a/scripts/autobuild-run b/scripts/autobuild-run index 923652c..d1ecbb3 100755 --- a/scripts/autobuild-run +++ b/scripts/autobuild-run @@ -290,6 +290,9 @@ class Builder: self.buildpid = buildpid self.debug = debug + # frequently needed directories + self.idir = "instance-%d" % self.instance + def prepare_build(self, **kwargs): """Prepare for the next build of the specified instance @@ -298,13 +301,12 @@ class Builder: code, and cleaning up remaining stuff from previous builds. """ - idir = "instance-%d" % self.instance log = kwargs['log'] log_write(log, "INFO: preparing a new build") # Create the download directory if it doesn't exist - dldir = os.path.join(idir, "dl") + dldir = os.path.join(self.idir, "dl") if not os.path.exists(dldir): os.mkdir(dldir) @@ -339,7 +341,7 @@ class Builder: # Clone Buildroot. This only happens if the source directory # didn't exist already. - srcdir = os.path.join(idir, "buildroot") + srcdir = os.path.join(self.idir, "buildroot") if not os.path.exists(srcdir): ret = subprocess.call(["git", "clone", self.repo, srcdir], stdout=log, stderr=log) @@ -360,7 +362,7 @@ class Builder: return -1 # Create an empty output directory. We remove it first, in case a previous build was aborted. - outputdir = os.path.join(idir, "output") + outputdir = os.path.join(self.idir, "output") if os.path.exists(outputdir): # shutil.rmtree doesn't remove write-protected files subprocess.call(["rm", "-rf", outputdir]) @@ -372,10 +374,9 @@ class Builder: def gen_config(self, **kwargs): """Generate a new random configuration.""" - idir = "instance-%d" % self.instance log = kwargs['log'] - outputdir = os.path.abspath(os.path.join(idir, "output")) - srcdir = os.path.join(idir, "buildroot") + outputdir = os.path.abspath(os.path.join(self.idir, "output")) + srcdir = os.path.join(self.idir, "buildroot") log_write(log, "INFO: generate the configuration") @@ -422,9 +423,8 @@ class Builder: """ log = kwargs['log'] - idir = "instance-%d" % self.instance - outputdir = os.path.join(idir, "output") - srcdir = os.path.join(idir, "buildroot") + outputdir = os.path.join(self.idir, "output") + srcdir = os.path.join(self.idir, "buildroot") reproducible_results = os.path.join(outputdir, "results", "reproducible_results") # Using only tar images for now build_1_image = os.path.join(outputdir, "images-1", "rootfs.tar") @@ -454,16 +454,15 @@ class Builder: def do_build(self, **kwargs): """Run the build itself""" - idir = "instance-%d" % self.instance log = kwargs['log'] # We need the absolute path to use with O=, because the relative # path to the output directory here is not relative to the # Buildroot sources, but to the location of the autobuilder # script. - dldir = os.path.abspath(os.path.join(idir, "dl")) - outputdir = os.path.abspath(os.path.join(idir, "output")) - srcdir = os.path.join(idir, "buildroot") + dldir = os.path.abspath(os.path.join(self.idir, "dl")) + outputdir = os.path.abspath(os.path.join(self.idir, "output")) + srcdir = os.path.join(self.idir, "buildroot") f = open(os.path.join(outputdir, "logfile"), "w+") log_write(log, "INFO: build started") @@ -518,9 +517,8 @@ class Builder: perform the actual build. """ - idir = "instance-%d" % self.instance - outputdir = os.path.abspath(os.path.join(idir, "output")) - srcdir = os.path.join(idir, "buildroot") + outputdir = os.path.abspath(os.path.join(self.idir, "output")) + srcdir = os.path.join(self.idir, "buildroot") log = kwargs['log'] # Start the first build @@ -556,11 +554,10 @@ class Builder: are available) or stores them locally as tarballs. """ - idir = "instance-%d" % self.instance log = kwargs['log'] - outputdir = os.path.abspath(os.path.join(idir, "output")) - srcdir = os.path.join(idir, "buildroot") + outputdir = os.path.abspath(os.path.join(self.idir, "output")) + srcdir = os.path.join(self.idir, "buildroot") resultdir = os.path.join(outputdir, "results") shutil.copyfile(os.path.join(outputdir, ".config"), @@ -719,16 +716,14 @@ class Builder: results. """ - idir = "instance-%d" % self.instance - # If it doesn't exist, create the instance directory - if not os.path.exists(idir): - os.mkdir(idir) + if not os.path.exists(self.idir): + os.mkdir(self.idir) if self.debug: kwargs['log'] = sys.stdout else: - kwargs['log'] = open(os.path.join(idir, "instance.log"), "a+") + kwargs['log'] = open(os.path.join(self.idir, "instance.log"), "a+") log_write(kwargs['log'], "INFO: instance started") while True: @@ -738,7 +733,7 @@ class Builder: if ret != 0: continue - resultdir = os.path.join(idir, "output", "results") + resultdir = os.path.join(self.idir, "output", "results") os.mkdir(resultdir) ret = self.gen_config(**kwargs) @@ -747,7 +742,7 @@ class Builder: continue # Check if the build test is supposed to be a reproducible test - outputdir = os.path.abspath(os.path.join(idir, "output")) + outputdir = os.path.abspath(os.path.join(self.idir, "output")) with open(os.path.join(outputdir, ".config"), "r") as fconf: reproducible = "BR2_REPRODUCIBLE=y\n" in fconf.read() if reproducible: