From patchwork Fri May 29 11:19:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Jackson X-Patchwork-Id: 11578383 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 64754912 for ; Fri, 29 May 2020 11:33:37 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4A6C12074D for ; Fri, 29 May 2020 11:33:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4A6C12074D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=eu.citrix.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jedFt-0000qd-Cd; Fri, 29 May 2020 11:32:53 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jedFr-0000pw-Og for xen-devel@lists.xenproject.org; Fri, 29 May 2020 11:32:51 +0000 X-Inumbo-ID: 1b6d7fc4-a1a0-11ea-8993-bc764e2007e4 Received: from chiark.greenend.org.uk (unknown [2001:ba8:1e3::]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 1b6d7fc4-a1a0-11ea-8993-bc764e2007e4; Fri, 29 May 2020 11:32:41 +0000 (UTC) Received: from [172.18.45.5] (helo=zealot.relativity.greenend.org.uk) by chiark.greenend.org.uk (Debian Exim 4.84_2 #1) with esmtp (return-path ijackson@chiark.greenend.org.uk) id 1jed3Z-0003xZ-3J; Fri, 29 May 2020 12:20:09 +0100 From: Ian Jackson To: xen-devel@lists.xenproject.org Subject: [OSSTEST PATCH 39/49] ts-xen-install: Move some_extradebs to Debian.pm Date: Fri, 29 May 2020 12:19:35 +0100 Message-Id: <20200529111945.21394-40-ian.jackson@eu.citrix.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200529111945.21394-1-ian.jackson@eu.citrix.com> References: <20200529111945.21394-1-ian.jackson@eu.citrix.com> MIME-Version: 1.0 X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Ian Jackson Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Signed-off-by: Ian Jackson --- Osstest/Debian.pm | 38 ++++++++++++++++++++++++++++++++++++++ ts-xen-install | 36 ------------------------------------ 2 files changed, 38 insertions(+), 36 deletions(-) diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm index 49d94b9b..d51ac493 100644 --- a/Osstest/Debian.pm +++ b/Osstest/Debian.pm @@ -24,6 +24,7 @@ use POSIX; use IO::File; use File::Copy; +use File::Basename; use Osstest; use Osstest::TestSupport; @@ -50,6 +51,7 @@ BEGIN { di_vg_name debian_dhcp_rofs_fix debian_write_random_seed_command + some_extradebs ); %EXPORT_TAGS = ( ); @@ -1646,4 +1648,40 @@ sub debian_write_random_seed_command ($) { END } +sub some_extradebs ($$) { + my ($ho, $items) = @_; + my $cfgvar = join('_', @$items); + my $specs = $c{$cfgvar}; + if (!length $specs) { + logm("$cfgvar: no extra debs"); + return; + } + my $counter = 0; + my $rsync_installed; + foreach my $spec (split /\s+/, $specs) { + my $path = $spec; + $path = "$c{Images}/$path" unless $path =~ m{^/|^\./}; + my ($ontarget, $dpkgopts); + if ($path =~ m{/$}) { + $ontarget = "extrapackages-$cfgvar-$counter"; $counter++; + $dpkgopts = '-iGROEB'; + logm("$cfgvar: updating packages from directory $path"); + target_install_packages($ho, qw(rsync)) unless $rsync_installed++; + target_putfile_root($ho,300, "$path/.", $ontarget, '-r'); + } elsif ($path =~ m{\.deb$}) { + $path =~ s{_\.deb}{ "_$ho->{Arch}.deb" }e; + logm("$cfgvar: installing $path"); + $ontarget = basename($path); + $dpkgopts = '-iB'; + target_putfile_root($ho,300, $path, $ontarget); + } else { + die "no / or . deb in $spec ?"; + } + target_cmd_root($ho, + "dpkg --force-confold $dpkgopts $ontarget {ExtraPackages}; } -sub some_extradebs ($$) { - my ($ho, $items) = @_; - my $cfgvar = join('_', @$items); - my $specs = $c{$cfgvar}; - if (!length $specs) { - logm("$cfgvar: no extra debs"); - return; - } - my $counter = 0; - my $rsync_installed; - foreach my $spec (split /\s+/, $specs) { - my $path = $spec; - $path = "$c{Images}/$path" unless $path =~ m{^/|^\./}; - my ($ontarget, $dpkgopts); - if ($path =~ m{/$}) { - $ontarget = "extrapackages-$cfgvar-$counter"; $counter++; - $dpkgopts = '-iGROEB'; - logm("$cfgvar: updating packages from directory $path"); - target_install_packages($ho, qw(rsync)) unless $rsync_installed++; - target_putfile_root($ho,300, "$path/.", $ontarget, '-r'); - } elsif ($path =~ m{\.deb$}) { - $path =~ s{_\.deb}{ "_$ho->{Arch}.deb" }e; - logm("$cfgvar: installing $path"); - $ontarget = basename($path); - $dpkgopts = '-iB'; - target_putfile_root($ho,300, $path, $ontarget); - } else { - die "no / or . deb in $spec ?"; - } - target_cmd_root($ho, - "dpkg --force-confold $dpkgopts $ontarget {Suite};