Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package debdelta. Sorry to bother again. Carlos Mandela found two annoying bugs; * not stripping the ':arch' part of package names in multiarch hosts * not quoting the ':' in epochs when using a proxy (both situations admittetly I did not test a lot - BTW I do not have a proxy here) See diffs in attachment. unblock debdelta/0.50+2 -- System Information: Debian Release: wheezy/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.2.0-3-amd64 (SMP w/2 CPU cores) Locale: LANG=it_IT.utf8, LC_CTYPE=it_IT.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash -- Andrea Mennucc "E' un mondo difficile. Che vita intensa!" (Tonino Carotone)
File lists identical (after any substitutions) Control files of package debdelta: lines which differ (wdiff format) -------------------------------------------------------------------- Version: [-0.50+1-] {+0.50+2+} Control files of package debdelta-doc: lines which differ (wdiff format) ------------------------------------------------------------------------ Installed-Size: [-251-] {+252+} Version: [-0.50+1-] {+0.50+2+}
diff -Nru debdelta-0.50+1/debdelta debdelta-0.50+2/debdelta --- debdelta-0.50+1/debdelta 2012-09-24 12:04:08.000000000 +0200 +++ debdelta-0.50+2/debdelta 2012-11-07 11:09:14.000000000 +0100 @@ -4197,7 +4197,7 @@ ######################################### import socket, httplib - from urlparse import urlparse + from urlparse import urlparse, urlunparse #################### manage connections #keeps a cache of all connections, by URL @@ -4226,7 +4226,7 @@ def _connect(uri, headers): "connects for a GET ; returns (filetype, statuscode, servermessage, getheaders)" uri_p=urlparse(uri) - if uri[:7] == 'http://' and not proxies: + if uri_p.scheme == 'http' and not proxies: #use persistent http connections conn=conn_by_url(uri) if conn == None : @@ -4253,7 +4253,11 @@ return e, None, None, None else: #use urllib2 try: - req = urllib2.Request(uri, headers=headers) + if uri_p.scheme == 'http': + a=[copy(z) for z in uri_p] + a[2]=urllib2.quote(uri_p[2]) + url=urlunparse(a) + req = urllib2.Request(url, headers=headers) r = urllib2.urlopen(req) #print r.info(),dir(r),r.code return r, getattr(r,'code',None), getattr(r,'msg','(no message)'), r.info() @@ -4528,7 +4532,7 @@ assert(a[0] == 'http') #delta name - delta_name=p.name+'_'+version_mangle(installed_version)+\ + delta_name=p.name.split(':')[0]+'_'+version_mangle(installed_version)+\ '_'+ version_mangle(candidate_version)+'_'+\ arch+'.debdelta' diff -Nru debdelta-0.50+1/debdeltas debdelta-0.50+2/debdeltas --- debdelta-0.50+1/debdeltas 2012-09-24 12:04:08.000000000 +0200 +++ debdelta-0.50+2/debdeltas 2012-11-07 11:09:14.000000000 +0100 @@ -4197,7 +4197,7 @@ ######################################### import socket, httplib - from urlparse import urlparse + from urlparse import urlparse, urlunparse #################### manage connections #keeps a cache of all connections, by URL @@ -4226,7 +4226,7 @@ def _connect(uri, headers): "connects for a GET ; returns (filetype, statuscode, servermessage, getheaders)" uri_p=urlparse(uri) - if uri[:7] == 'http://' and not proxies: + if uri_p.scheme == 'http' and not proxies: #use persistent http connections conn=conn_by_url(uri) if conn == None : @@ -4253,7 +4253,11 @@ return e, None, None, None else: #use urllib2 try: - req = urllib2.Request(uri, headers=headers) + if uri_p.scheme == 'http': + a=[copy(z) for z in uri_p] + a[2]=urllib2.quote(uri_p[2]) + url=urlunparse(a) + req = urllib2.Request(url, headers=headers) r = urllib2.urlopen(req) #print r.info(),dir(r),r.code return r, getattr(r,'code',None), getattr(r,'msg','(no message)'), r.info() @@ -4528,7 +4532,7 @@ assert(a[0] == 'http') #delta name - delta_name=p.name+'_'+version_mangle(installed_version)+\ + delta_name=p.name.split(':')[0]+'_'+version_mangle(installed_version)+\ '_'+ version_mangle(candidate_version)+'_'+\ arch+'.debdelta' diff -Nru debdelta-0.50+1/debdelta-upgrade debdelta-0.50+2/debdelta-upgrade --- debdelta-0.50+1/debdelta-upgrade 2012-09-24 12:04:08.000000000 +0200 +++ debdelta-0.50+2/debdelta-upgrade 2012-11-07 11:09:14.000000000 +0100 @@ -4197,7 +4197,7 @@ ######################################### import socket, httplib - from urlparse import urlparse + from urlparse import urlparse, urlunparse #################### manage connections #keeps a cache of all connections, by URL @@ -4226,7 +4226,7 @@ def _connect(uri, headers): "connects for a GET ; returns (filetype, statuscode, servermessage, getheaders)" uri_p=urlparse(uri) - if uri[:7] == 'http://' and not proxies: + if uri_p.scheme == 'http' and not proxies: #use persistent http connections conn=conn_by_url(uri) if conn == None : @@ -4253,7 +4253,11 @@ return e, None, None, None else: #use urllib2 try: - req = urllib2.Request(uri, headers=headers) + if uri_p.scheme == 'http': + a=[copy(z) for z in uri_p] + a[2]=urllib2.quote(uri_p[2]) + url=urlunparse(a) + req = urllib2.Request(url, headers=headers) r = urllib2.urlopen(req) #print r.info(),dir(r),r.code return r, getattr(r,'code',None), getattr(r,'msg','(no message)'), r.info() @@ -4528,7 +4532,7 @@ assert(a[0] == 'http') #delta name - delta_name=p.name+'_'+version_mangle(installed_version)+\ + delta_name=p.name.split(':')[0]+'_'+version_mangle(installed_version)+\ '_'+ version_mangle(candidate_version)+'_'+\ arch+'.debdelta' diff -Nru debdelta-0.50+1/debian/changelog debdelta-0.50+2/debian/changelog --- debdelta-0.50+1/debian/changelog 2012-10-31 11:06:11.000000000 +0100 +++ debdelta-0.50+2/debian/changelog 2012-11-07 13:33:08.000000000 +0100 @@ -1,3 +1,13 @@ +debdelta (0.50+2) unstable; urgency=high + + * debdelta-upgrade: uses incorrect URL when requesting + i386 debdeltas to upgrade amd64 (multiarch) host, + thanks to Carlos Maddela (Closes: #692194). + * debdelta-upgrade: packages whose version number contains a colon not + upgraded when using a proxy, thanks to Carlos Maddela (Closes: #691641). + + -- A Mennucc1 <mennu...@debian.org> Wed, 07 Nov 2012 13:31:31 +0100 + debdelta (0.50+1) unstable; urgency=high * debpatch, debdelta-upgrade : do not get confused by broken symlinks diff -Nru debdelta-0.50+1/debpatch debdelta-0.50+2/debpatch --- debdelta-0.50+1/debpatch 2012-09-24 12:04:08.000000000 +0200 +++ debdelta-0.50+2/debpatch 2012-11-07 11:09:14.000000000 +0100 @@ -4197,7 +4197,7 @@ ######################################### import socket, httplib - from urlparse import urlparse + from urlparse import urlparse, urlunparse #################### manage connections #keeps a cache of all connections, by URL @@ -4226,7 +4226,7 @@ def _connect(uri, headers): "connects for a GET ; returns (filetype, statuscode, servermessage, getheaders)" uri_p=urlparse(uri) - if uri[:7] == 'http://' and not proxies: + if uri_p.scheme == 'http' and not proxies: #use persistent http connections conn=conn_by_url(uri) if conn == None : @@ -4253,7 +4253,11 @@ return e, None, None, None else: #use urllib2 try: - req = urllib2.Request(uri, headers=headers) + if uri_p.scheme == 'http': + a=[copy(z) for z in uri_p] + a[2]=urllib2.quote(uri_p[2]) + url=urlunparse(a) + req = urllib2.Request(url, headers=headers) r = urllib2.urlopen(req) #print r.info(),dir(r),r.code return r, getattr(r,'code',None), getattr(r,'msg','(no message)'), r.info() @@ -4528,7 +4532,7 @@ assert(a[0] == 'http') #delta name - delta_name=p.name+'_'+version_mangle(installed_version)+\ + delta_name=p.name.split(':')[0]+'_'+version_mangle(installed_version)+\ '_'+ version_mangle(candidate_version)+'_'+\ arch+'.debdelta' diff -Nru debdelta-0.50+1/debpatch-url debdelta-0.50+2/debpatch-url --- debdelta-0.50+1/debpatch-url 2012-09-24 12:04:08.000000000 +0200 +++ debdelta-0.50+2/debpatch-url 2012-11-07 11:09:14.000000000 +0100 @@ -4197,7 +4197,7 @@ ######################################### import socket, httplib - from urlparse import urlparse + from urlparse import urlparse, urlunparse #################### manage connections #keeps a cache of all connections, by URL @@ -4226,7 +4226,7 @@ def _connect(uri, headers): "connects for a GET ; returns (filetype, statuscode, servermessage, getheaders)" uri_p=urlparse(uri) - if uri[:7] == 'http://' and not proxies: + if uri_p.scheme == 'http' and not proxies: #use persistent http connections conn=conn_by_url(uri) if conn == None : @@ -4253,7 +4253,11 @@ return e, None, None, None else: #use urllib2 try: - req = urllib2.Request(uri, headers=headers) + if uri_p.scheme == 'http': + a=[copy(z) for z in uri_p] + a[2]=urllib2.quote(uri_p[2]) + url=urlunparse(a) + req = urllib2.Request(url, headers=headers) r = urllib2.urlopen(req) #print r.info(),dir(r),r.code return r, getattr(r,'code',None), getattr(r,'msg','(no message)'), r.info() @@ -4528,7 +4532,7 @@ assert(a[0] == 'http') #delta name - delta_name=p.name+'_'+version_mangle(installed_version)+\ + delta_name=p.name.split(':')[0]+'_'+version_mangle(installed_version)+\ '_'+ version_mangle(candidate_version)+'_'+\ arch+'.debdelta'