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
diff --git a/lib/adt_testbed.py b/lib/adt_testbed.py
index a3d6564..c0cbaad 100644
--- a/lib/adt_testbed.py
+++ b/lib/adt_testbed.py
@@ -1352,14 +1352,9 @@ Description: satisfy autopkgtest test dependencies
1352 # translate src:name entries into binaries of that source1352 # translate src:name entries into binaries of that source
1353 if srcpkgs:1353 if srcpkgs:
1354 script += 'PKGS="$PKGS $(apt-cache showsrc %s | ' \1354 script += 'PKGS="$PKGS $(apt-cache showsrc %s | ' \
1355 '''awk '/^Package-List:/ { show=1; next } (/^ / && show==1) { print $1; next } { show=0 }' |''' \1355 '''awk '/^Package-List:/ { show=1; next } (/^ / && show==1) { print $1 ":*"; next } { show=0 }' |''' \
1356 '''sort -u | tr '\\n' ' ')"; ''' % \1356 '''sort -u | tr '\\n' ' ')"; ''' % \
1357 ' '.join(srcpkgs)1357 ' '.join(srcpkgs)
1358 if self.cross_arch:
1359 script += 'PKGS="$PKGS $(apt-cache showsrc %s | ' \
1360 '''awk '/^Package-List:/ { show=1; next } (/^ / && show==1) { print $1 ":%s"; next } { show=0 }' |''' \
1361 '''sort -u | tr '\\n' ' ')"; ''' % \
1362 (' '.join(srcpkgs), self.cross_arch)
13631358
1364 # prefer given packages from series, but make sure that other packages1359 # prefer given packages from series, but make sure that other packages
1365 # are taken from default release as much as possible1360 # are taken from default release as much as possible
diff --git a/ssh-setup/nova b/ssh-setup/nova
index 4d1ac51..e606828 100755
--- a/ssh-setup/nova
+++ b/ssh-setup/nova
@@ -271,7 +271,8 @@ EOF
271 while true; do271 while true; do
272 retry=$((retry+1))272 retry=$((retry+1))
273 set +e273 set +e
274 OUT=$(nova --debug boot --flavor $FLAVOR --key-name $KEYNAME --user-data $userdata \274 OUT=$(flock -x -w 3600 /home/ubuntu/$OS_REGION_NAME.boot.lock
275 nova --debug boot --flavor $FLAVOR --key-name $KEYNAME --user-data $userdata \
275 --image "$imageuuid" $EXTRA_OPTS --poll $SRVNAME 2>&1)276 --image "$imageuuid" $EXTRA_OPTS --poll $SRVNAME 2>&1)
276 rc=$?277 rc=$?
277 set -e278 set -e

Subscribers

People subscribed via source and target branches