From 70760d90a3ce6322b87efb0f372b8a31658f4dc0 Mon Sep 17 00:00:00 2001 From: Emanuele Aina <emanuele.aina@collabora.com> Date: Tue, 12 Jan 2021 03:16:38 +0100 Subject: [PATCH] pkg-pull-updates: Fix package name quoting When querying madison, the package name needs to be quoted or special characters may cause issues. For instance, the `+` in the `gtk+3.0` package needs to be escaped, or madison returns no matches: $ curl 'https://qa.debian.org/madison.php?package=gtk+3.0&yaml=on&s=jessie' --- {} $ curl 'https://qa.debian.org/madison.php?package=gtk%2B3.0&yaml=on&s=jessie' --- gtk+3.0: 3.14.5-1+deb8u1: jessie: - source Signed-off-by: Emanuele Aina <emanuele.aina@collabora.com> --- .../overlay/usr/bin/apertis-pkg-pull-updates | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/package-source-builder/overlay/usr/bin/apertis-pkg-pull-updates b/package-source-builder/overlay/usr/bin/apertis-pkg-pull-updates index ab5e715..6990b75 100755 --- a/package-source-builder/overlay/usr/bin/apertis-pkg-pull-updates +++ b/package-source-builder/overlay/usr/bin/apertis-pkg-pull-updates @@ -15,6 +15,7 @@ import shlex import subprocess import sys import tempfile +import urllib.parse import urllib.request import yaml @@ -101,8 +102,12 @@ def get_remote_version(suite, package): >>> get_remote_version('jessie', 'dash') fetch https://qa.debian.org/madison.php?package=dash&yaml=on&s=jessie Version('0.5.7-4') + >>> get_remote_version('jessie', 'gtk+3.0') + fetch https://qa.debian.org/madison.php?package=gtk%2B3.0&yaml=on&s=jessie + Version('3.14.5-1+deb8u1') """ - url = f'https://qa.debian.org/madison.php?package={package}&yaml=on&s={suite}' + quoted_package = urllib.parse.quote(package) + url = f'https://qa.debian.org/madison.php?package={quoted_package}&yaml=on&s={suite}' print('fetch', url) with urllib.request.urlopen(url) as response: data = yaml.safe_load(response.read().decode('utf-8')) -- GitLab