[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Requesting squeeze-backport of python-debian



Hey,

On Wed, Dec 28, 2011 at 02:40:16PM -0800, John Wright wrote:
> On Sat, Dec 24, 2011 at 06:34:32PM +0000, Iain Lane wrote:
> > On Sat, Dec 24, 2011 at 07:00:19PM +0100, Julien Cristau wrote:
> > > On Sat, Dec 24, 2011 at 17:44:57 +0000, Iain Lane wrote:
> > > 
> > > > Hiya,
> > > > 
> > > > I'd quite like to fix #637524 in UDD, and for this we need the newer
> > > > python-debian on the UDD host with the fix for #597249.
> > > > 
> > > Or you could just fix that bug in stable.
> > 
> > Someone could. Thank you for your friendly reply.
> 
> I didn't see any takers for the stable update.  I'll start that now.

Thanks very much. I did start to do it — attached is the braindead
backport of the patch I did, if it's of any use to you. Passes the
tests, but I haven't done any more than that.

---

Regarding the unsuitability of backports, I am well aware that stable
updates should be tried if possible. However, I consulted devref[0],
which says (in part):

  […] Basically, a package should only be uploaded to stable if one of the
  following happens:
  
  * a truly critical functionality problem
  
  * the package becomes uninstallable
  
  * a released architecture lacks the package 

and I fail to be able to interpret this issue as "truly critical". So
asking to go via backports.

SRMs, what is the barrier for bug fixes to be considered for stable
updates? If devref is misleading, can it be clarified?

Backports team, I get now that you expect stable updates to be tried if
the motivation of the backport is to get a specific bug fix out. But
would you accept such a backport if it is rejected for stable? i.e. is
there a gap here where there is no route to get a fix out 'officially'?

---

I realise that I was overly snippy in responsed to perceived discourtesy
in this thread. Please accept my apologies.

Ho ho ho,

-- 
Iain Lane                                  [ iain@orangesquash.org.uk ]
Debian Developer                                   [ laney@debian.org ]
Ubuntu Developer                                   [ laney@ubuntu.com ]
PhD student                                       [ ial@cs.nott.ac.uk ]

[0]
http://www.debian.org/doc/manuals/developers-reference/pkgs.html#upload-stable
diff --git a/debian_bundle/deb822.py b/debian_bundle/deb822.py
index 76ef928..ed23f19 100644
--- a/debian_bundle/deb822.py
+++ b/debian_bundle/deb822.py
@@ -195,9 +195,11 @@ class Deb822(Deb822Dict):
     ###
 
     def _internal_parser(self, sequence, fields=None):
-        single = re.compile("^(?P<key>\S+)\s*:\s*(?P<data>\S.*?)\s*$")
-        multi = re.compile("^(?P<key>\S+)\s*:\s*$")
-        multidata = re.compile("^\s(?P<data>.+?)\s*$")
+        # The key is non-whitespace, non-colon characters before any colon.
+        key_part = r"^(?P<key>[^: \t\n\r\f\v]+)\s*:\s*"
+        single = re.compile(key_part + r"(?P<data>\S.*?)\s*$")
+        multi = re.compile(key_part + r"$")
+        multidata = re.compile(r"^\s(?P<data>.+?)\s*$")
 
         wanted_field = lambda f: fields is None or f in fields
 
diff --git a/tests/test_deb822.py b/tests/test_deb822.py
index bd8d529..13e4eb7 100755
--- a/tests/test_deb822.py
+++ b/tests/test_deb822.py
@@ -464,5 +464,13 @@ Description: python modules to work with Debian-related data formats
         changesobj = deb822.Changes(CHANGES_FILE.splitlines())
         self.assertEqual(CHANGES_FILE, changesobj.dump())
 
+    def test_bug597249_colon_as_first_value_character(self):
+        """Colon should be allowed as the first value character. See #597249.
+        """
+
+        data = 'Foo: : bar'
+        parsed = {'Foo': ': bar'}
+        self.assertWellParsed(deb822.Deb822(data), parsed)
+
 if __name__ == '__main__':
     unittest.main()

Attachment: signature.asc
Description: Digital signature


Reply to: