[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