I have just successfully built the package under python 2.7.3 by using the HTMLParser from python rather than Django's version.
-- David Watson dwat...@debian.org On 2 August 2012 13:16, David Watson <da...@planetwatson.co.uk> wrote: > On 2 August 2012 13:08, Raphael Hertzog <hert...@debian.org> wrote: > >> On Thu, 02 Aug 2012, Raphael Hertzog wrote: >> > On Thu, 02 Aug 2012, Raphael Hertzog wrote: >> > > If the problem is indeed not in Django, then we can temporarily >> disable >> > > the test suite and upload the package. >> > >> > I just tried to build the current python-django 1.4-1 in Debian Sid and >> it >> > also failed. So this tends to confirm that something else broke Django's >> > test suite (since the test suite worked when I uploaded 1.4-1 to sid). >> > >> > Now we need to find the culprit (and fix it or work-around it). >> >> Apparently the build works fine in wheezy so I have built it in wheezy and >> uploaded it in sid. >> >> sid and wheezy differ in their python2.7 version: 2.7.3-2 vs 2.7.3~rc2-2.1 >> >> So the regression might be between those two versions. >> >> Doko, python-django test suite fails in sid but not in wheezy. The failure >> looks like a HTMLParser regression. Do you know of any possible regression >> in python 2.7.3 about this? >> >> I see in the upstream changelog a “- Issue #14538: HTMLParser can now >> parse correctly start tags that contain a bare '/'.” maybe this could be >> related? >> >> I also found https://code.djangoproject.com/ticket/18239 which might >> imply >> that Django is relying on some internals of HTMLParser so it would >> actually be a bug in Django in that case... >> >> I was just looking into this and these are the changes in HTMLParser.py > > diff ../HTMLParser.py-old ../HTMLParser.py > 25c25 > < tagfind = re.compile('[a-zA-Z][-.a-zA-Z0-9:_]*') > --- > > tagfind = re.compile('([a-zA-Z][-.a-zA-Z0-9:_]*)(?:\s|/(?!>))*') > 31c31 > < r'[\s/]*((?<=[\'"\s/])[^\s/>][^\s/=>]*)(\s*=+\s*' > --- > > r'((?<=[\'"\s/])[^\s/>][^\s/=>]*)(\s*=+\s*' > 292c292 > < self.lasttag = tag = rawdata[i+1:k].lower() > --- > > self.lasttag = tag = match.group(1).lower() > > -- > David Watson > dwat...@debian.org >