# Additional selection filter (similar to 'select taskfiles'), only listing
# package names
-select names = fsl-doc fslview-doc fsl-atlases fsl-possum-data fsl-first-data
- fsl-feeds libnifti1 odin mitools afni-atlases python-pyssdh python-networkx
- r-cran-glmnet python-rpy2 python-mvpa-snapshot python-nibabel-snapshot
+select names = libnifti1 odin mitools afni-atlases python-pyssdh python-networkx
+ r-cran-glmnet python-rpy2 python-nibabel-snapshot
python-scikits-learn python-mdp
# Information about prospective packages to be imported from taskfiles
svn://svn.debian.org/blends/projects/med/trunk/debian-med/tasks/imaging
svn://svn.debian.org/blends/projects/med/trunk/debian-med/tasks/imaging-dev
+[blend package aliases]
+# alias a package name from a blend taskfile to an arbitray number of additional
+# package names -- if the original name should appear in the package list it has
+# to be added as an alias as well
+mni-icbm152-nlin-2009 = mni-icbm152-nlin-2009a mni-icbm152-nlin-2009b mni-icbm152-nlin-2009c
+fsl = fsl fsl-doc fsl-atlases fsl-possum-data fsl-first-data fsl-feeds
+fslview = fslview fslview-doc
+python-mvpa = python-mvpa python-mvpa-snapshot
+
[mirrors]
us = http://neuro.debian.net/debian
de = http://apsy.gse.uni-magdeburg.de/debian
from optparse import OptionParser, Option, OptionGroup, OptionConflictError
import sys
import os
+import copy
import shutil
import urllib2
import urllib
def get_emptydbentry():
return {'main': {}}
-def import_blendstask(db, url):
+def import_blendstask(cfg, db, url):
cache = AptListsCache()
fh = cache.get(url)
task_name = None
# just add this tasks name and id
db[p]['blends']['tasks'].append(task)
+ # handle pkg name aliases
+ if p in cfg.options('blend package aliases'):
+ src_entry = db[p].copy()
+ # remove original entry
+ del db[p]
+ # copy the entry into all aliases
+ for alias in cfg.get('blend package aliases', p).split():
+ print "Aliasing %s to %s" % (p, alias)
+ db[alias] = copy.deepcopy(src_entry)
+
return db
# get info from task files
if cfg.has_option('packages', 'prospective'):
for url in cfg.get('packages', 'prospective').split():
- db = import_blendstask(db, url)
+ db = import_blendstask(cfg, db, url)
# parse NeuroDebian repository
if cfg.has_option('neurodebian', 'releases'):