diff options
author | Nicolas Vigier <boklm@mageia.org> | 2011-08-17 12:23:48 +0000 |
---|---|---|
committer | Nicolas Vigier <boklm@mageia.org> | 2011-08-17 12:23:48 +0000 |
commit | d8a6cc7ef7ec79d9eaa26e18dcc7dea74ad7b985 (patch) | |
tree | d6f85b7d4862df4b37f1423959e6672026a1122b | |
parent | c59618c129333beac82c7b227bd928073cf799c5 (diff) | |
download | mgarepo-d8a6cc7ef7ec79d9eaa26e18dcc7dea74ad7b985.tar mgarepo-d8a6cc7ef7ec79d9eaa26e18dcc7dea74ad7b985.tar.gz mgarepo-d8a6cc7ef7ec79d9eaa26e18dcc7dea74ad7b985.tar.bz2 mgarepo-d8a6cc7ef7ec79d9eaa26e18dcc7dea74ad7b985.tar.xz mgarepo-d8a6cc7ef7ec79d9eaa26e18dcc7dea74ad7b985.zip |
add functions to download from new binrepo
-rw-r--r-- | MgaRepo/binrepo.py | 28 | ||||
-rw-r--r-- | mgarepo.conf | 1 |
2 files changed, 29 insertions, 0 deletions
diff --git a/MgaRepo/binrepo.py b/MgaRepo/binrepo.py index 2a6f437..8480fd3 100644 --- a/MgaRepo/binrepo.py +++ b/MgaRepo/binrepo.py @@ -127,6 +127,34 @@ def find_binaries(paths): new.append(path) return new +def download_binary(topdir, sha1, filename): + fmt = config.get("global", "download-command", + "wget -c -O '$dest' $url") + url = config.get("global", "binrepo", + "http://binrepo.mageia.org/") + url = mirror.normalize_path(url + "/" + sha1) + dest = os.path.join(topdir, 'SOURCES', filename) + if os.path.exists(dest): + return 1 + context = {"dest": dest, "url": url} + try: + cmd = string.Template(fmt).substitute(context) + except KeyError, e: + raise Error, "invalid variable %r in download-command "\ + "configuration option" % e + try: + status, output = execcmd(cmd, show=True) + except Error, e: + raise Error, "Could not download file %s\n" % url + +def download_binaries(topdir): + spath = sources_path(topdir) + if not os.path.exists(spath): + raise Error, "'%s' was not found" % spath + entries = parse_sources(spath) + for name, sha1 in entries.iteritems(): + download_binary(topdir, sha1, name) + def make_symlinks(source, dest): todo = [] tomove = [] diff --git a/mgarepo.conf b/mgarepo.conf index 3bedca0..3b2f41b 100644 --- a/mgarepo.conf +++ b/mgarepo.conf @@ -2,6 +2,7 @@ [global] repository = svn+ssh://svn.mageia.org/svn/packages/ trunk-dir = cauldron/ +binrepo = http://binrepo.mageia.org/ ## uncomment it in case you don't have a account in the Mageia build system: #mirror = http://svn.mageia.org/svn/packages/cauldron/ |