Bug#822533: Processed: reassign 822533 to python-debian

Stuart Prescott stuart at debian.org
Fri Jun 2 07:20:20 UTC 2017


Control: reassign -1 reportbug

As promised, reassigning back to reportbug since it is failing to use 
compare_versions() correctly.

(quoting the full mail below since it didn't get to the bug last time)

On Tuesday, 30 May 2017 11:59:01 AEST Stuart Prescott wrote:
> Hi Sandro,
> 
> > the crash is in
> > /usr/lib/python2.7/dist-packages/debian/debian_support.py which is in
> > python-debian, reassigning
> 
> Raising exceptions is not buggy behaviour and is not a crash.; failing to
> catch exceptions that may be reasonably raised is the problem. Just because
> the exception is raised inside python-debian doesn't make it a bug in
> python- debian.
> 
> I can't see that debian_support.py's compare_versions() can return any
> sensible value for an illegal comparison. Is an illegal version greater
> than, equal to or less than some other value? That's an undefined
> comparison and it is not correct to return -1/0/+1. The pythonic answer is
> to raise a ValueError on illegal input, which is what is happening here.
> 
> I'd say compare_versions is correct: ValueError: Invalid version string
> '(gtIEMobile7)'.
> 
> compare_versions(a, b) is supposed to be given two valid version strings. If
> it is given something that is not a legal version string, then raising a
> ValueError seems appropriate. It's the responsibility of the calling code
> to either ensure that only valid version strings are sent to
> compare_versions() or handle the exception that is raised if illegal input
> is given.
> 
> I don't think it's appropriate to change the semantics of
> compare_versions(); I think it's doing the right thing in raising an
> exception. My current intention is to reassign this bug back to reportbug
> -- do you agree?
> 
> cheers
> Stuart


-- 
Stuart Prescott    http://www.nanonanonano.net/   stuart at nanonanonano.net
Debian Developer   http://www.debian.org/         stuart at debian.org
GPG fingerprint    90E2 D2C1 AD14 6A1B 7EBB 891D BBC1 7EBB 1396 F2F7



More information about the pkg-python-debian-maint mailing list