Bug#693030: unblock: debdelta/0.50+2
Package: release.debian.org
Severity: normal
User: release.debian.org@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 <mennucc1@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'
Reply to: