[Bug 1737126] [NEW] [xenial-updates-backport] support dash "-" in a tag name for filters

Launchpad Bug Tracker 1737126 at bugs.launchpad.net
Mon May 28 10:37:01 UTC 2018


You have been subscribed to a public bug by Dmitrii Shcherbakov (dmitriis):

[Impact]

Matching by fields that have a dash in their name fails ("bootloader-
type" in this case).

sstream-mirror --progress --max=1 --keyring=/usr/share/keyrings/ubuntu-cloudimage-keyring.gpg http://images.maas.io/ephemeral-v3/daily/ ~/mirror/images.maas.io/ephemeral-v3/daily/ 'bootloader-type=~(pxe|(^$))' 'arch=amd64' 'subarch~((ga-16.04)|(^$))' 'kflavor~((generic)|(^$))' 'content_id~((com.ubuntu.maas:daily:1:bootloader-download)|com.ubuntu.maas.daily:v3)'
Traceback (most recent call last):
  File "/usr/bin/sstream-mirror", line 157, in <module>
    main()
  File "/usr/bin/sstream-mirror", line 112, in main
    filter_list = filters.get_filters(args.filters)
  File "/usr/lib/python3/dist-packages/simplestreams/filters.py", line 62, in get_filters
    flist.append(ItemFilter(f, noneval=noneval))
  File "/usr/lib/python3/dist-packages/simplestreams/filters.py", line 29, in __init__
    raise ValueError("Unable to parse expression %s" % content)
ValueError: Unable to parse expression bootloader-type=~(pxe|(^$))

[Test Case]

This is both a test case and a reproducer on a Xenial machine:

sstream-mirror --progress --max=1 --keyring=/usr/share/keyrings/ubuntu-
cloudimage-keyring.gpg http://images.maas.io/ephemeral-v3/daily/
~/mirror/images.maas.io/ephemeral-v3/daily/ 'bootloader-
type=~(pxe|(^$))' 'arch=amd64' 'subarch~((ga-16.04)|(^$))'
'kflavor~((generic)|(^$))' 'content_id~((com.ubuntu.maas:daily:1
:bootloader-download)|com.ubuntu.maas.daily:v3)'


[Regression Potential] 

None

[Other Info]

Need to backport this to be able to match tag names that contain dashes:

http://bazaar.launchpad.net/~simplestreams-
dev/simplestreams/trunk/revision/445

commit 2df782018dda0b58f2296b981e6eef2cc08b9ab0
Author: Lee Trager <lee.trager at canonical.com>
Date:   Mon Oct 17 13:26:06 2016 -0700

    Allow filtered fields to contain a '-'

diff --git a/simplestreams/filters.py b/simplestreams/filters.py
index 5e93ce4..3818949 100644
--- a/simplestreams/filters.py
+++ b/simplestreams/filters.py
@@ -22,7 +22,7 @@ import re

 class ItemFilter(object):
     def __init__(self, content, noneval=""):
-        rparsefmt = r"(\w+)[ ]*([!]{0,1}[=~])[ ]*(.*)[ ]*$"
+        rparsefmt = r"([\w|\-]+)[ ]*([!]{0,1}[=~])[ ]*(.*)[ ]*$"
         parsed = re.match(rparsefmt, content)

         if not parsed:

** Affects: simplestreams
     Importance: Undecided
     Assignee: Dmitrii Shcherbakov (dmitriis)
         Status: In Progress


** Tags: cpe-onsite
-- 
[xenial-updates-backport] support dash "-" in a tag name for filters
https://bugs.launchpad.net/bugs/1737126
You received this bug notification because you are a member of Ubuntu Sponsors Team, which is subscribed to the bug report.



More information about the Ubuntu-sponsors mailing list