From f9d084aba63544837a2ef7e33327a6ae4e97a331 Mon Sep 17 00:00:00 2001 From: Anthony PERARD Date: Mon, 1 Aug 2022 17:36:41 +0100 Subject: [PATCH] TestSupport: Add support for installing from backport repo We are going to need to install package from the debian backport repository in order to do a build. Signed-off-by: Anthony PERARD Acked-by: Ian Jackson --- Osstest/TestSupport.pm | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm index 156cac7..360cfde 100644 --- a/Osstest/TestSupport.pm +++ b/Osstest/TestSupport.pm @@ -73,6 +73,7 @@ BEGIN { target_run_pkgmanager_install target_install_packages target_install_packages_norec target_install_packages_nonfree_nonconcurrent + target_install_packages_backport target_jobdir target_extract_jobdistpath_subdir target_extract_jobdistpath target_extract_distpart target_tftp_prefix @@ -650,8 +651,8 @@ sub target_putfile_root ($$$$;$) { tputfileex('root', @_); } -sub target_run_pkgmanager_install ($$;$$) { - my ($ho, $packagelist, $norec, $force) = @_; +sub target_run_pkgmanager_install ($$;$$$) { + my ($ho, $packagelist, $norec, $force, $backport) = @_; my @cmd; if ($ho->{OS} eq "freebsd") { push @cmd, qw(lockf /var/run/osstest-pkg-lock pkg-static install); @@ -660,6 +661,7 @@ sub target_run_pkgmanager_install ($$;$$) { with-lock-ex -w /var/lock/osstest-apt apt-get); push @cmd, qw(-f) if $force; push @cmd, qw(--no-install-recommends) if $norec; + push @cmd, "-t", "$ho->{Suite}-backports" if $backport; push @cmd, qw(-y install); } push @cmd, @$packagelist; @@ -688,6 +690,27 @@ END apt-get update END } +sub target_install_packages_backport ($@) { + my ($ho, @packages) = @_; + my $had_backport_repo = 0; + target_editfile_root($ho, '/etc/apt/sources.list', sub { + my $suite = $ho->{Suite}; + my $bp_url = Osstest::Debian::debian_mirror_url($ho); + while (<::EI>) { + if (m/^# $suite backports/) { + $had_backport_repo = 1; + } + print ::EO; + } + print ::EO <