Octavio Galland has proposed merging ~octagalland/ubuntu-qa-tools:uvt_repo_prioritize_local into ubuntu-qa-tools:master.
Commit message: make uvt repo prioritize local repository Requested reviews: Ubuntu Bug Control (ubuntu-bugcontrol) For more details, see: https://code.launchpad.net/~octagalland/ubuntu-qa-tools/+git/ubuntu-qa-tools/+merge/470446 When enabling the local repository with uvt, the user may have added other PPAs with priority pinning (e.g. Ubuntu Pro ppas). In that case we'd like to assign the highest existing priority to the local repo to ensure local packages take precedence during QA testing -- Your team Ubuntu Bug Control is requested to review the proposed merge of ~octagalland/ubuntu-qa-tools:uvt_repo_prioritize_local into ubuntu-qa-tools:master.
diff --git a/vm-tools/uvt b/vm-tools/uvt index 36a3c31..b6e5636 100755 --- a/vm-tools/uvt +++ b/vm-tools/uvt @@ -20,6 +20,7 @@ import subprocess import sys import time import xml.etree.ElementTree as ET +from urllib.parse import urlparse try: import distro_info @@ -1154,16 +1155,25 @@ def vm_update_local_repo(vm_name, release, enable=True): return False sources_file = "/etc/apt/sources.list.d/uvt-repo.list" + preferences_file = "/etc/apt/preferences.d/uvt-test-repo" + repo_url = uvt_conf['vm_repo_url'] + repo_host = urlparse(repo_url).netloc if enable == True: print("Enabling %s for %s" % (uvt_conf['vm_repo_url'], vm_name)) - command = "bash -c 'echo -e \"deb %(repo_url)s %(release)s/\ndeb-src %(repo_url)s %(release)s/\" > %(sources)s'" \ - % { 'repo_url': uvt_conf['vm_repo_url'], + command = """bash -c ' + echo -e \"Package: *\" > %(preferences)s && + echo -e \"Pin: origin %(repo_host)s\" >> %(preferences)s && + (cat /etc/apt/preferences.d/* | grep -e \"^Pin-Priority: [0-9]\\+$\" || echo \"Pin-Priority: 500\") | sort -r | head -n1 >> %(preferences)s && + echo -e \"deb %(repo_url)s %(release)s/\ndeb-src %(repo_url)s %(release)s/\" > %(sources)s'""" \ + % { 'repo_url': repo_url, 'release': release, - 'sources': sources_file } + 'sources': sources_file, + 'preferences': preferences_file, + 'repo_host': repo_host } else: print("Disabling %s for %s" % (uvt_conf['vm_repo_url'], vm_name)) - command = "rm -f %s" % sources_file + command = "rm -f %s %s" % (sources_file, preferences_file) result = vm_run_command(vm_name, command, root=True, force_keys=True) if result == True:
_______________________________________________ Mailing list: https://launchpad.net/~ubuntu-bugcontrol Post to : ubuntu-bugcontrol@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-bugcontrol More help : https://help.launchpad.net/ListHelp