[Pkg-haskell-commits] darcs: tools: ghc6 → ghc in ./haskell-pkg-graph.py
Joachim Breitner
mail at joachim-breitner.de
Wed Apr 13 08:57:03 UTC 2011
Wed Apr 13 08:56:46 UTC 2011 Joachim Breitner <mail at joachim-breitner.de>
* ghc6 [_\e2_][_\86_][_\92_] ghc in ./haskell-pkg-graph.py
Ignore-this: bef5c029c585968bc4e848c39ee58f18
M ./haskell-pkg-graph.py -47 +14
Wed Apr 13 08:56:46 UTC 2011 Joachim Breitner <mail at joachim-breitner.de>
* ghc6 → ghc in ./haskell-pkg-graph.py
Ignore-this: bef5c029c585968bc4e848c39ee58f18
diff -rN -u old-tools/haskell-pkg-graph.py new-tools/haskell-pkg-graph.py
--- old-tools/haskell-pkg-graph.py 2011-04-13 08:57:02.337532571 +0000
+++ new-tools/haskell-pkg-graph.py 2011-04-13 08:57:02.345532991 +0000
@@ -47,7 +47,7 @@
return f
def debcheck(binary_src_map):
- arch = "i386"
+ arch = "amd64"
f = smart_open("data/unstable-main-binary-%s-Packages.gz" % arch)
p = Popen(['edos-debcheck','-quiet','-xml','-failures','-checkonly', ','.join(binary_src_map.keys())], stdin=PIPE,stdout=PIPE)
(out, err) = p.communicate(f.read())
@@ -60,19 +60,20 @@
package_name = package.attributes['package'].nodeValue
src = binary_src_map[package_name]
- if src['package'] not in uninstallable_srcs:
- uninstallable_srcs.add(src['package'])
+ uninstallable_srcs.add(src['package'])
return uninstallable_srcs
class HaskellInfo:
def is_interesting_source(self, src):
- return (src['package'] == 'ghc6' or self.is_haskell_lib_src(src))
+ return (src['package'] == 'ghc' or self.is_haskell_lib_src(src))
def is_haskell_lib_src(self,src):
if 'build-depends' in src:
for rel in PkgRelation.parse_relations(src['build-depends']):
for opt in rel:
+ if opt['name'] == 'ghc':
+ return True
if opt['name'] == 'ghc6':
return True
return False
@@ -81,7 +82,7 @@
if 'build-depends' in src:
for rel in PkgRelation.parse_relations(src['build-depends']):
for opt in rel:
- if opt['name'] == 'ghc6':
+ if opt['name'] == 'ghc':
return True
return False
@@ -90,11 +91,11 @@
for rel in rels:
ok = False
for opt in rel:
- if opt['name'] == 'ghc6':
+ if opt['name'] == 'ghc':
if opt['version']:
(relop,v) = opt['version']
- #print "Comparing %s %s %s" % (self.ghc6version, relop, v)
- cmp = version_compare(self.ghc6version, v)
+ #print "Comparing %s %s %s" % (self.ghcversion, relop, v)
+ cmp = version_compare(self.ghcversion, v)
if relop == ">=":
ok = cmp >= 0
elif relop == "<<":
@@ -104,55 +105,21 @@
else:
print "Do not handle %s yet" % relop
else:
- #print "%s has an unversioned build-dependency on ghc6." % src['package']
+ #print "%s has an unversioned build-dependency on ghc." % src['package']
ok = True
else:
- # we only consider ghc6 depenencies here
+ # we only consider ghc depenencies here
ok = True
if not ok: return False
return True
- def is_installable(self,pkg):
- """
- Returns a list of triples: (packate to re-build, package waiting for, reason)
- """
- problems = []
- if 'depends' not in pkg:
- #print "# %s has no dependencies." % pkg['package']
- return problems
- rels = PkgRelation.parse_relations(pkg['depends'])
- for rel in rels:
- if len(rel) != 1:
- continue # the dependencies we care about are not optional
- opt = rel[0]
- if opt['name'] in self.haskell_lib_to_source:
- if opt['version']:
- (relop,v) = opt['version']
- available = self.packages[opt['name']]['version']
- cmp = version_compare(available, v)
- #print "Comparing %s %s %s, result %d" % (available, relop, v, cmp)
- ok = False
- if relop == ">=":
- ok = cmp >= 0
- elif relop == "<<":
- ok = cmp < 0
- elif relop == "=":
- ok = cmp == 0
- else:
- print "Can not handle %s yet" % relop
- if not ok:
- problems.append( (pkg['package'], opt['name'],
- "version %s, but dependency %s %s" % (available, relop, v)
- ))
- return problems
-
def add_incoming_info(status):
# TODO
return status
def main(self):
- # sources will contian haskell libraries + ghc6
+ # sources will contian haskell libraries + ghc
self.sources = {}
f = smart_open("data/unstable-main-Sources.gz")
srcfile = debian_support.PackageFile('', file_obj=f)
@@ -188,7 +155,7 @@
if binary_name not in self.packages: continue
binary = self.packages[binary_name]
# Ignore arch-independent packages
- if binary['architecture'] == 'all': continue
+ #if binary['architecture'] == 'all': continue
self.haskell_lib_to_source[binary_name] = src
#print "Source %s has binary %s" % (src['package'],binary_name)
@@ -225,7 +192,7 @@
continue
# avoid cpphs, haddock etc.
- #if opt['name'] in ('ghc6','ghc6-doc','ghc6-prof'):
+ #if opt['name'] in ('ghc','ghc-doc','ghc-prof'):
# continue
edge = (hash(self.haskell_lib_to_source[opt['name']]['package']), hash(src['package']))
More information about the Pkg-haskell-commits
mailing list