Merge ~mwhudson/autopkgtest/+git/development:pin-all-arches into ~ubuntu-release/autopkgtest/+git/development:master

Proposed by Michael Hudson-Doyle
Status: Merged
Merge reported by: Brian Murray
Merged at revision: 1d85e0d53e6726007a0c90837214f79b71287e1f
Proposed branch: ~mwhudson/autopkgtest/+git/development:pin-all-arches
Merge into: ~ubuntu-release/autopkgtest/+git/development:master
Diff against target: 34 lines (+3/-7)
2 files modified
lib/adt_testbed.py (+1/-6)
ssh-setup/nova (+2/-1)
Reviewer Review Type Date Requested Status
Julian Andres Klode (community) Disapprove
Ubuntu Release Team Pending
Review via email: mp+416502@code.launchpad.net

Commit message

pin packages from any architecture

If a test is triggered by src:glibc, we want it to be able to install
libc6:i386.

Description of the change

I don't know if there is some reason this is a bad idea but it fixes the issue I was complaining about in https://lists.ubuntu.com/archives/ubuntu-release/2022-March/005333.html (and much more easily than I feared).

To post a comment you must log in.
Revision history for this message
Julian Andres Klode (juliank) wrote :

Ah, are you saying we are not cross-testing, but testing amd64 packages that pull in i386 ones, and hence the cross-arch code did not work?

I don't really see much of an issue with that. It will lead to pinning packages that might not exist, but apt won't error out in such a case, and it was the case before as well I guess.

review: Approve
Revision history for this message
Julian Andres Klode (juliank) wrote :

But this needs a rebase as it has a spurious instance serialization commit in it that was reverted in a rebase.

review: Disapprove
Revision history for this message
Julian Andres Klode (juliank) wrote :

I cherry-picked and merged the new commit, but can't set the request to merged (no button in launchpad).

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/lib/adt_testbed.py b/lib/adt_testbed.py
2index a3d6564..c0cbaad 100644
3--- a/lib/adt_testbed.py
4+++ b/lib/adt_testbed.py
5@@ -1352,14 +1352,9 @@ Description: satisfy autopkgtest test dependencies
6 # translate src:name entries into binaries of that source
7 if srcpkgs:
8 script += 'PKGS="$PKGS $(apt-cache showsrc %s | ' \
9- '''awk '/^Package-List:/ { show=1; next } (/^ / && show==1) { print $1; next } { show=0 }' |''' \
10+ '''awk '/^Package-List:/ { show=1; next } (/^ / && show==1) { print $1 ":*"; next } { show=0 }' |''' \
11 '''sort -u | tr '\\n' ' ')"; ''' % \
12 ' '.join(srcpkgs)
13- if self.cross_arch:
14- script += 'PKGS="$PKGS $(apt-cache showsrc %s | ' \
15- '''awk '/^Package-List:/ { show=1; next } (/^ / && show==1) { print $1 ":%s"; next } { show=0 }' |''' \
16- '''sort -u | tr '\\n' ' ')"; ''' % \
17- (' '.join(srcpkgs), self.cross_arch)
18
19 # prefer given packages from series, but make sure that other packages
20 # are taken from default release as much as possible
21diff --git a/ssh-setup/nova b/ssh-setup/nova
22index 4d1ac51..e606828 100755
23--- a/ssh-setup/nova
24+++ b/ssh-setup/nova
25@@ -271,7 +271,8 @@ EOF
26 while true; do
27 retry=$((retry+1))
28 set +e
29- OUT=$(nova --debug boot --flavor $FLAVOR --key-name $KEYNAME --user-data $userdata \
30+ OUT=$(flock -x -w 3600 /home/ubuntu/$OS_REGION_NAME.boot.lock
31+ nova --debug boot --flavor $FLAVOR --key-name $KEYNAME --user-data $userdata \
32 --image "$imageuuid" $EXTRA_OPTS --poll $SRVNAME 2>&1)
33 rc=$?
34 set -e

Subscribers

People subscribed via source and target branches