From: Atharva Lele <itsatharva@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v4 14/30] autobuild-run: define instance directory as a part of Builder class
Date: Thu, 1 Aug 2019 08:16:27 +0530 [thread overview]
Message-ID: <20190801024643.11024-15-itsatharva@gmail.com> (raw)
In-Reply-To: <20190801024643.11024-1-itsatharva@gmail.com>
We need idir as a class member before moving log out of kwargs.
Signed-off-by: Atharva Lele <itsatharva@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
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:
--
2.22.0
next prev parent reply other threads:[~2019-08-01 2:46 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-01 2:46 [Buildroot] [PATCH v4 00/30] builder-class series cover letter Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 01/30] autobuild-run: introduce Builder class Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 02/30] autobuild-run: move instance variable from kwargs to " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 03/30] autobuild-run: move njobs " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 04/30] autobuild-run: move sysinfo " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 05/30] autobuild-run: move http variables " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 06/30] autobuild-run: move submitter " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 07/30] autobuild-run: move make_opts " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 08/30] autobuild-run: move niceness " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 09/30] autobuild-run: move toolchains_csv " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 10/30] autobuild-run: move repo " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 11/30] autobuild-run: move upload variable " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 12/30] autobuild-run: move buildpid " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 13/30] autobuild-run: move debug " Atharva Lele
2019-08-01 2:46 ` Atharva Lele [this message]
2019-08-01 2:46 ` [Buildroot] [PATCH v4 15/30] autobuild-run: move log variable " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 16/30] autobuild-run: remove kwargs argument from function calls and definitions Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 17/30] autobuild-run: define source directory as part of Builder class Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 18/30] autobuild-run: define download " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 19/30] autobuild-run: define output " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 20/30] autobuild-run: define results " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 21/30] autobuild-run: move check_version() to " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 22/30] autobuild-run: move get_branch() " Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 23/30] scripts/autobuild-run: make the HTTP URL really configurable Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 24/30] autobuild-run: create reason file on build failures Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 25/30] web/import.inc.php: support reading failure reason from reason file Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 26/30] scripts/autobuild-run: support changing repo Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 27/30] autobuild-run: modify do_build() to accept outputdir as argument Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 28/30] autobuild-run: define different output directory for reproducible builds Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 29/30] autobuild-run: use different output directories for reproducible builds testing Atharva Lele
2019-08-01 2:46 ` [Buildroot] [PATCH v4 30/30] autobuild-run: make prepare_build() clean the output directory used for reproducibility testing Atharva Lele
2019-08-01 8:39 ` [Buildroot] [PATCH v4 00/30] builder-class series cover letter Thomas Petazzoni
2019-08-01 10:46 ` Atharva Lele
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190801024643.11024-15-itsatharva@gmail.com \
--to=itsatharva@gmail.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.