[Bug 1737126] Re: [sru][xenial-updates-backport] support dash "-" in a tag name for filters
Dmitrii Shcherbakov
1737126 at bugs.launchpad.net
Mon May 28 10:43:59 UTC 2018
** Summary changed:
- [xenial-updates-backport] support dash "-" in a tag name for filters
+ [sru][xenial-updates-backport] support dash "-" in a tag name for filters
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1737126
Title:
[sru][xenial-updates-backport] support dash "-" in a tag name for
filters
Status in simplestreams:
In Progress
Bug description:
[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:
To manage notifications about this bug go to:
https://bugs.launchpad.net/simplestreams/+bug/1737126/+subscriptions
More information about the Ubuntu-sponsors
mailing list