aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBastian Blank <waldi@debian.org>2006-11-08 10:49:56 +0000
committerBastian Blank <waldi@debian.org>2006-11-08 10:49:56 +0000
commitf50a81b0180714c0404a1add1bdefb77e8cf31e0 (patch)
treede7750667a7080f6db75eedb42c7329340edd670
parent465606d35055ccb2d73ef075a840f6ab7cac5fbf (diff)
downloadkernel_replicant_linux-f50a81b0180714c0404a1add1bdefb77e8cf31e0.tar.gz
kernel_replicant_linux-f50a81b0180714c0404a1add1bdefb77e8cf31e0.tar.bz2
kernel_replicant_linux-f50a81b0180714c0404a1add1bdefb77e8cf31e0.zip
debian/bin/abiupdate.py: Make it possible to retreive packages from incoming.
svn path=/dists/trunk/linux-2.6/; revision=7717
-rwxr-xr-xdebian/bin/abiupdate.py75
1 files changed, 57 insertions, 18 deletions
diff --git a/debian/bin/abiupdate.py b/debian/bin/abiupdate.py
index 342cb8485242..74e09f5957ba 100755
--- a/debian/bin/abiupdate.py
+++ b/debian/bin/abiupdate.py
@@ -3,28 +3,40 @@
import sys
sys.path.append(sys.path[0] + "/../lib/python")
-import os, os.path
+import optparse, os, os.path
from debian_linux.abi import *
from debian_linux.config import *
from debian_linux.debian import *
-url_base = "http://ftp.de.debian.org/debian/"
+default_url_base = "http://ftp.de.debian.org/debian/"
+default_url_base_incoming = "http://incoming.debian.org/"
+
+class url_debian_flat(object):
+ def __init__(self, base):
+ self.base = base
+
+ def __call__(self, source, filename):
+ return self.base + filename
+
+class url_debian_pool(object):
+ def __init__(self, base):
+ self.base = base
+
+ def __call__(self, source, filename):
+ return self.base + "pool/main/" + source[0] + "/" + source + "/" + filename
class main(object):
dir = None
- override_arch = None
- override_subarch = None
- override_flavour = None
- def __init__(self):
+ def __init__(self, url, url_config = None, arch = None, subarch = None, flavour = None):
self.log = sys.stdout.write
- if len(sys.argv) > 1:
- self.override_arch = sys.argv[1]
- if len(sys.argv) > 2:
- self.override_subarch = sys.argv[2]
- if len(sys.argv) > 3:
- self.override_flavour = sys.argv[3]
+ self.url = self.url_config = url
+ if url_config is not None:
+ self.url_config = url_config
+ self.override_arch = arch
+ self.override_subarch = subarch
+ self.override_flavour = flavour
changelog = read_changelog()
while changelog[0]['Distribution'] == 'UNRELEASED':
@@ -81,7 +93,7 @@ class main(object):
else:
prefix = subarch + '-' + flavour
filename = "linux-headers-%s-%s_%s_%s.deb" % (self.version_abi, prefix, self.version_source, arch)
- f = self.retrieve_package(filename)
+ f = self.retrieve_package(self.url, filename)
d = self.extract_package(f)
f1 = d + "/usr/src/linux-headers-%s-%s/Module.symvers" % (self.version_abi, prefix)
s = symbols(f1)
@@ -90,18 +102,18 @@ class main(object):
def get_config(self):
filename = "linux-support-%s_%s_all.deb" % (self.version_abi, self.version_source)
- f = self.retrieve_package(filename)
+ f = self.retrieve_package(self.url_config, filename)
d = self.extract_package(f)
dir = d + "/usr/src/linux-support-" + self.version_abi + "/arch"
config = config_reader_arch([dir])
self._rmtree(d)
return config
- def retrieve_package(self, filename):
+ def retrieve_package(self, url, filename):
import urllib2
- url = url_base + "pool/main/" + self.source[0] + "/" + self.source + "/" + filename
+ u = url(self.source, filename)
filename_out = self.dir + "/" + filename
- f_in = urllib2.urlopen(url)
+ f_in = urllib2.urlopen(u)
f_out = file(filename_out, 'w')
while 1:
r = f_in.read()
@@ -152,4 +164,31 @@ class main(object):
self.log("FAILED! (%s)\n" % str(e))
if __name__ == '__main__':
- main()()
+ options = optparse.OptionParser()
+ options.add_option("-i", "--incoming", action = "store_true", dest = "incoming")
+ options.add_option("--incoming-config", action = "store_true", dest = "incoming_config")
+ options.add_option("-u", "--url-base", dest = "url_base", default = default_url_base)
+ options.add_option("--url-base-incoming", dest = "url_base_incoming", default = default_url_base_incoming)
+
+ opts, args = options.parse_args()
+
+ kw = {}
+ if len(args) >= 1:
+ kw['arch'] =args[0]
+ if len(args) >= 2:
+ kw['subarch'] =args[1]
+ if len(args) >= 3:
+ kw['flavour'] =args[2]
+
+ url_base = url_debian_pool(opts.url_base)
+ url_base_incoming = url_debian_flat(opts.url_base_incoming)
+ if opts.incoming_config:
+ url = url_config = url_base_incoming
+ else:
+ url_config = url_base
+ if opts.incoming:
+ url = url_base_incoming
+ else:
+ url = url_base
+
+ main(url, url_config, **kw)()