[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