xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Ian.Jackson@eu.citrix.com, Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH v4 07/16] osstest: introduce build helpers for FreeBSD
Date: Thu, 6 Jul 2017 15:42:18 +0100	[thread overview]
Message-ID: <20170706144227.36580-8-roger.pau@citrix.com> (raw)
In-Reply-To: <20170706144227.36580-1-roger.pau@citrix.com>

Some steps of the FreeBSD build process need to be done as root, so
introduce some helpers to perform those steps:
buildcmd_stamped_logged_root and target_cmd_build_root. They behave
exactly the same as the non-root counterparts.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - New in this version.
---
 Osstest/BuildSupport.pm | 26 ++++++++++++++++++++++----
 Osstest/TestSupport.pm  | 27 +++++++++++++++++++++++----
 2 files changed, 45 insertions(+), 8 deletions(-)

diff --git a/Osstest/BuildSupport.pm b/Osstest/BuildSupport.pm
index 4c2b658b..b96ce766 100644
--- a/Osstest/BuildSupport.pm
+++ b/Osstest/BuildSupport.pm
@@ -36,7 +36,7 @@ BEGIN {
                       $whhost $ho
 
                       builddirsprops
-                      buildcmd_stamped_logged
+                      buildcmd_stamped_logged buildcmd_stamped_logged_root
                       $builddir $makeflags
 		      $buildcmd_global_prefix
 
@@ -60,9 +60,9 @@ our ($xendist);
 
 our $buildcmd_global_prefix //= '';
 
-sub buildcmd_stamped_logged ($$$$$$) {
-    my ($timeout, $component, $stampname, $prefix, $cmd, $suffix) = @_;
-    target_cmd_build($ho, $timeout, $builddir, <<END);
+sub buildcmd_stamped_logged_script ($$$$$) {
+    my ($component, $stampname, $prefix, $cmd, $suffix) = @_;
+    my $script = <<END;
         cd $component
         $buildcmd_global_prefix
         $prefix
@@ -73,6 +73,24 @@ sub buildcmd_stamped_logged ($$$$$$) {
         echo ok.
 END
 #/;
+
+    return $script;
+}
+
+sub buildcmd_stamped_logged_root ($$$$$$) {
+    my ($timeout, $component, $stampname, $prefix, $cmd, $suffix) = @_;
+    my $script = buildcmd_stamped_logged_script($component, $stampname,
+                                                $prefix, $cmd, $suffix);
+
+    target_cmd_build_root($ho, $timeout, $builddir, $script);
+}
+
+sub buildcmd_stamped_logged ($$$$$$) {
+    my ($timeout, $component, $stampname, $prefix, $cmd, $suffix) = @_;
+    my $script = buildcmd_stamped_logged_script($component, $stampname,
+                                                $prefix, $cmd, $suffix);
+
+    target_cmd_build($ho, $timeout, $builddir, $script);
 }
 
 sub selectbuildhost {
diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index 66790575..5a9a6f8b 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -56,6 +56,7 @@ BEGIN {
 
                       target_cmd_root_status target_cmd_output_root_status
                       target_cmd_root target_cmd target_cmd_build
+                      target_cmd_build_root
                       target_cmd_output_root target_cmd_output
                       target_cmd_inputfh_root sshuho
                       target_getfile target_getfile_root
@@ -669,8 +670,8 @@ sub target_editfile      ($$$;$$) { teditfileex('osstest',@_); }
     # my ($ho,$rfile, $lleaf,$rdest) = @_;
     #                 ^^^^^^^^^^^^^ optional
 
-sub target_cmd_build ($$$$) {
-    my ($ho,$timeout,$builddir,$script) = @_;
+sub target_cmd_build_script ($$$) {
+    my ($ho, $builddir, $script) = @_;
 
     my $distcc_hosts = get_host_property($ho,'DistccHosts',undef);
     my $distcc = defined($distcc_hosts) ? <<END : "";
@@ -682,8 +683,8 @@ END
 
     my $httpproxy = http_proxy_envsettings($ho);
 
-    target_cmd($ho, <<END.$distcc.<<END.$script, $timeout);
-	set -xe
+    my $cmd = <<END.$distcc.<<END.$script;
+        set -xe
         LC_ALL=C; export LC_ALL
         PATH=/usr/lib/ccache:\$PATH:/usr/lib/git-core
         $httpproxy
@@ -692,6 +693,24 @@ END
         cd $builddir
         rm -f build-ok-stamp
 END
+
+    return $cmd;
+}
+
+sub target_cmd_build ($$$$) {
+    my ($ho,$timeout,$builddir,$script) = @_;
+
+    my $cmd = target_cmd_build_script($ho, $builddir, $script);
+
+    target_cmd($ho, $cmd, $timeout);
+}
+
+sub target_cmd_build_root ($$$$) {
+    my ($ho,$timeout,$builddir,$script) = @_;
+
+    my $cmd = target_cmd_build_script($ho, $builddir, $script);
+
+    target_cmd_root($ho, $cmd, $timeout);
 }
 
 sub target_ping_check_core {
-- 
2.11.0 (Apple Git-81)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  parent reply	other threads:[~2017-07-06 14:42 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-06 14:42 [PATCH v4 00/16] osstest: initial FreeBSD support Roger Pau Monne
2017-07-06 14:42 ` [PATCH v4 01/16] osstest: make built_stash_file store a path_ runvar for each file Roger Pau Monne
2017-07-06 14:42 ` [PATCH v4 02/16] osstest: move known_hosts generation to TestSupport Roger Pau Monne
2017-07-06 14:42 ` [PATCH v4 03/16] osstest: introduce helper to get per-host tftp prefix Roger Pau Monne
2017-07-06 14:42 ` [PATCH v4 04/16] osstest: introduce a helper to calculate the sha256 of a given file Roger Pau Monne
2017-07-06 14:43   ` Ian Jackson
2017-07-06 14:42 ` [PATCH v4 05/16] osstest: introduce a helper to setup a host to boot using memdisk Roger Pau Monne
2017-07-06 16:07   ` Ian Jackson
2017-07-06 14:42 ` [PATCH v4 06/16] osstest: add a FreeBSD host install recipe Roger Pau Monne
2017-07-06 14:53   ` Ian Jackson
2017-07-06 15:13   ` Ian Jackson
2017-07-06 14:42 ` Roger Pau Monne [this message]
2017-07-06 14:56   ` [PATCH v4 07/16] osstest: introduce build helpers for FreeBSD Ian Jackson
2017-07-06 14:42 ` [PATCH v4 08/16] osstest: add support for the FreeBSD package manager Roger Pau Monne
2017-07-06 15:12   ` Ian Jackson
2017-07-07  9:55     ` Roger Pau Monne
2017-07-06 14:42 ` [PATCH v4 09/16] osstest: introduce a FreeBSD build script Roger Pau Monne
2017-07-06 15:25   ` Ian Jackson
2017-07-06 17:11     ` Roger Pau Monne
2017-07-06 17:31       ` Ian Jackson
2017-07-06 17:39         ` Roger Pau Monne
2017-07-06 17:42           ` Ian Jackson
2017-07-06 14:42 ` [PATCH v4 10/16] osstest: add support for runtime_IDENT_hostflags Roger Pau Monne
2017-07-06 15:28   ` Ian Jackson
2017-07-06 17:34     ` Roger Pau Monne
2017-07-06 17:42       ` Ian Jackson
2017-07-07 13:07     ` Roger Pau Monne
2017-07-07 13:08       ` Ian Jackson
2017-07-06 14:42 ` [PATCH v4 11/16] osstest: introduce a script to set the runtime hostflags runvar for FreeBSD jobs Roger Pau Monne
2017-07-06 15:30   ` Ian Jackson
2017-07-06 16:03   ` Ian Jackson
2017-07-06 14:42 ` [PATCH v4 12/16] osstest: allow catching-otherwise to pass arguments to the called script Roger Pau Monne
2017-07-06 15:33   ` Ian Jackson
2017-07-06 14:42 ` [PATCH v4 13/16] osstest: change the meaning of need_build_host Roger Pau Monne
2017-07-06 15:37   ` Ian Jackson
2017-07-07 11:36     ` Roger Pau Monne
2017-07-07 13:00       ` Ian Jackson
2017-07-06 14:42 ` [PATCH v4 14/16] osstest: add support for FreeBSD buildjobs to sg-run-job Roger Pau Monne
2017-07-06 15:38   ` Ian Jackson
2017-07-06 14:42 ` [PATCH v4 15/16] osstest: introduce a script to create a FreeBSD flight Roger Pau Monne
2017-07-06 16:04   ` Ian Jackson
2017-07-07 14:39     ` Roger Pau Monne
2017-07-06 14:42 ` [PATCH v4 16/16] osstest: hook FreeBSD flight into cr-daily-branch Roger Pau Monne
2017-07-06 16:10   ` Ian Jackson

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=20170706144227.36580-8-roger.pau@citrix.com \
    --to=roger.pau@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).