[pkg-fgfs-crew] r185 - in /simgear/trunk/debian: changelog deps.py sorules

ovek at users.alioth.debian.org ovek at users.alioth.debian.org
Sun Sep 4 16:17:35 UTC 2011


Author: ovek
Date: Sun Sep  4 16:17:35 2011
New Revision: 185

URL: http://svn.debian.org/wsvn/pkg-fgfs/?sc=1&rev=185
Log:
Use a different circular-dependency-breaking solution.
(Wonder why things seemed to work a week ago.)

Modified:
    simgear/trunk/debian/changelog
    simgear/trunk/debian/deps.py
    simgear/trunk/debian/sorules

Modified: simgear/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-fgfs/simgear/trunk/debian/changelog?rev=185&op=diff
==============================================================================
--- simgear/trunk/debian/changelog (original)
+++ simgear/trunk/debian/changelog Sun Sep  4 16:17:35 2011
@@ -2,6 +2,11 @@
 
   * New upstream release.
   * Build-Depend on OpenSceneGraph 3.0, and the Subversion library.
+  * Updated debian/deps.py and debian/sorules to also make it
+    possible to add redundant dependencies, not just drop them.
+    Because breaking circular dependencies cause some libraries
+    to be underlinked, sometimes this must be compensated by
+    overlinking others, to ensure FlightGear remains buildable.
 
  -- Ove Kaaven <ovek at arcticnet.no>  Sat, 03 Sep 2011 21:41:04 +0200
 

Modified: simgear/trunk/debian/deps.py
URL: http://svn.debian.org/wsvn/pkg-fgfs/simgear/trunk/debian/deps.py?rev=185&op=diff
==============================================================================
--- simgear/trunk/debian/deps.py (original)
+++ simgear/trunk/debian/deps.py Sun Sep  4 16:17:35 2011
@@ -94,6 +94,7 @@
   print
 
 ruledrops = {}
+ruleadds = {}
 for line in open("debian/sorules"):
   if line.startswith("# "):
     idx = line.find(": dropped ")
@@ -101,6 +102,11 @@
       sof = line[2:idx]
       deps = line[idx+10:].rstrip().split(", ")
       ruledrops[sof] = deps
+    idx = line.find(": added ")
+    if idx != -1:
+      sof = line[2:idx]
+      deps = line[idx+8:].rstrip().split(", ")
+      ruleadds[sof] = deps
 
 def shorten(sof):
   idx = sof.rfind("/lib")
@@ -136,11 +142,33 @@
       rdeps.append(dep)
   return rdeps
 
+def apply_add(deps, add):
+  if add is None:
+    return deps
+  adds = []
+  for sof in sofiles:
+    if shorten(sof) in add:
+      adds.append(sof)
+  rdeps = []
+  for dep in deps:
+    if len(adds) and dep.startswith("/"):
+      rdeps.extend(adds)
+      adds = []
+    rdeps.append(dep)
+  if len(adds):
+    rdeps.extend(adds)
+  return rdeps
+
 cycles = []
 sodrops = {}
+soadds = {}
 for sof in sofiles:
   if not sodeps.has_key(sof):
     continue
+  radds = ruleadds.get(shorten(sof))
+  if radds:
+    soadds[sof] = radds
+    sodeps[sof] = apply_add(sodeps[sof], radds)
   rcycles, rdrops = check_cycle(sof, sof, [])
   cycles.extend(rcycles)
   if rdrops:
@@ -164,6 +192,8 @@
   deps = [finalname(x) for x in sodeps[sof]]
   if sodrops.has_key(sof):
     print "# %s: dropped %s" % (shorten(sof), ", ".join(sodrops[sof]))
+  if soadds.has_key(sof):
+    print "# %s: added %s" % (shorten(sof), ", ".join(soadds[sof]))
   print "%s: %s" % (sof, sof[:-3] + ".a"),
   print " ".join(deps)
 

Modified: simgear/trunk/debian/sorules
URL: http://svn.debian.org/wsvn/pkg-fgfs/simgear/trunk/debian/sorules?rev=185&op=diff
==============================================================================
--- simgear/trunk/debian/sorules (original)
+++ simgear/trunk/debian/sorules Sun Sep  4 16:17:35 2011
@@ -52,11 +52,12 @@
 simgear/ephemeris/libsgephem.so: simgear/ephemeris/libsgephem.a simgear/debug/libsgdebug.so simgear/misc/libsgmisc.so
 simgear/io/libsgio.so: simgear/io/libsgio.a simgear/bucket/libsgbucket.so simgear/debug/libsgdebug.so simgear/misc/libsgmisc.so simgear/serial/libsgserial.so simgear/structure/libsgstructure.so $(call usrlib,libz.so)
 simgear/magvar/libsgmagvar.so: simgear/magvar/libsgmagvar.a 
-# sgmath: dropped sgmisc, sgstructure
-simgear/math/libsgmath.so: simgear/math/libsgmath.a simgear/debug/libsgdebug.so simgear/props/libsgprops.so $(call usrlib,libosg.so)
-simgear/misc/libsgmisc.so: simgear/misc/libsgmisc.a simgear/debug/libsgdebug.so simgear/props/libsgprops.so simgear/structure/libsgstructure.so $(call usrlib,libosg.so) $(call usrlib,libosgDB.so) $(call usrlib,libz.so)
-# sgprops: dropped sgmisc, sgstructure
-simgear/props/libsgprops.so: simgear/props/libsgprops.a simgear/debug/libsgdebug.so simgear/xml/libsgxml.so
+# sgmath: dropped sgstructure
+simgear/math/libsgmath.so: simgear/math/libsgmath.a simgear/debug/libsgdebug.so simgear/misc/libsgmisc.so simgear/props/libsgprops.so $(call usrlib,libosg.so)
+# sgmisc: dropped sgprops, sgstructure
+simgear/misc/libsgmisc.so: simgear/misc/libsgmisc.a simgear/debug/libsgdebug.so $(call usrlib,libosg.so) $(call usrlib,libosgDB.so) $(call usrlib,libz.so)
+# sgprops: dropped sgstructure
+simgear/props/libsgprops.so: simgear/props/libsgprops.a simgear/debug/libsgdebug.so simgear/misc/libsgmisc.so simgear/xml/libsgxml.so
 simgear/route/libsgroute.so: simgear/route/libsgroute.a simgear/math/libsgmath.so
 simgear/scene/bvh/libsgbvh.so: simgear/scene/bvh/libsgbvh.a 
 simgear/scene/material/libsgmaterial.so: simgear/scene/material/libsgmaterial.a simgear/debug/libsgdebug.so simgear/math/libsgmath.so simgear/misc/libsgmisc.so simgear/props/libsgprops.so simgear/scene/model/libsgmodel.so simgear/scene/tgdb/libsgtgdb.so simgear/scene/util/libsgutil.so simgear/structure/libsgstructure.so $(call usrlib,libosg.so) $(call usrlib,libosgDB.so) $(call usrlib,libosgUtil.so)
@@ -68,12 +69,13 @@
 simgear/scene/tsync/libsgtsync.so: simgear/scene/tsync/libsgtsync.a simgear/bucket/libsgbucket.so simgear/debug/libsgdebug.so simgear/misc/libsgmisc.so simgear/props/libsgprops.so simgear/scene/tgdb/libsgtgdb.so simgear/structure/libsgstructure.so
 # sgutil: dropped sgmaterial
 simgear/scene/util/libsgutil.so: simgear/scene/util/libsgutil.a $(call usrlib,libosg.so) $(call usrlib,libosgDB.so)
-simgear/screen/libsgscreen.so: simgear/screen/libsgscreen.a simgear/math/libsgmath.so $(call usrlib,libosg.so) $(call usrlib,libosgDB.so) $(call usrlib,libGL.so) $(call usrlib,libjpeg.so)
+# sgscreen: added sgstructure
+simgear/screen/libsgscreen.so: simgear/screen/libsgscreen.a simgear/math/libsgmath.so simgear/structure/libsgstructure.so $(call usrlib,libosg.so) $(call usrlib,libosgDB.so) $(call usrlib,libGL.so) $(call usrlib,libjpeg.so)
 simgear/serial/libsgserial.so: simgear/serial/libsgserial.a simgear/debug/libsgdebug.so
 simgear/sound/libsgsound.so: simgear/sound/libsgsound.a simgear/debug/libsgdebug.so simgear/math/libsgmath.so simgear/misc/libsgmisc.so simgear/props/libsgprops.so simgear/structure/libsgstructure.so $(call usrlib,libalut.so) $(call usrlib,libopenal.so)
 simgear/structure/libsgstructure.so: simgear/structure/libsgstructure.a simgear/debug/libsgdebug.so simgear/math/libsgmath.so simgear/props/libsgprops.so simgear/timing/libsgtiming.so
 simgear/threads/libsgthreads.so: simgear/threads/libsgthreads.a 
-# sgtiming: dropped sgmisc, sgstructure
-simgear/timing/libsgtiming.so: simgear/timing/libsgtiming.a simgear/debug/libsgdebug.so simgear/math/libsgmath.so
+# sgtiming: dropped sgstructure
+simgear/timing/libsgtiming.so: simgear/timing/libsgtiming.a simgear/debug/libsgdebug.so simgear/math/libsgmath.so simgear/misc/libsgmisc.so
 # sgxml: dropped sgstructure
 simgear/xml/libsgxml.so: simgear/xml/libsgxml.a 




More information about the pkg-fgfs-crew mailing list