Debuginfo packages for Java

Gary Benson gbenson at redhat.com
Tue Nov 27 10:54:47 UTC 2007


Andrew Haley wrote:
> Jason L Tibbitts III writes:
> > I'm having problems reviewing a package for some software written
> > in Java.  The problem is that the debuginfo package is generated
> > without any source.
> 
> The fix is to change /usr/lib/python2.5/site-packages/aotcompile.py,
> which doesn't put the right pathnames into the object files.
> 
> I've attached a patch.  gbenson, please look this over.  This is
> my first ever Python hack, so You Have Been Warned.  Input about
> my (doubtless execrable) Python style welcome.

I'd prefer to see this in aot-compile-rpm rather than aotcompile.py,
my reason being that it relies on the fact that the sources are in the
current directory which is true for rpm builds but not necessarily so
otherwise.  Something like the attached?

Cheers,
Gary

PS I don't read fedora-devel-list so please Cc me.
-------------- next part --------------
--- aot-compile-rpm.orig	2007-10-12 09:05:38.000000000 +0100
+++ aot-compile-rpm	2007-11-27 10:41:44.000000000 +0000
@@ -28,6 +28,17 @@
         raise aotcompile.Error, "%s: unexpected output" % cmd
     return dir
 
+def writeSourceList(srcdir, dstpath):
+    def visit(fp, dir, items):
+        for item in items:
+            path = os.path.join(dir, item)
+            if os.path.isfile(path):
+                print >>fp, path
+    dstdir = os.path.dirname(dstpath)
+    if not os.path.isdir(dstdir):
+        os.makedirs(dstdir)
+    os.path.walk(srcdir, visit, open(dstpath, "w"))
+
 def copy(srcdir, dstdir, suffix):
     srcdir = os.path.join(srcdir, suffix.lstrip(os.sep))
     dstdir = os.path.join(dstdir, suffix.lstrip(os.sep))
@@ -72,6 +83,10 @@
             os.path.basename(sys.argv[0]))
         sys.exit(1)
 
+    sourcelist = os.path.join(tmpdir, "sources.list")
+    writeSourceList(os.getcwd(), sourcelist)
+    compiler.gcjflags.append("-fsource-filename=" + sourcelist)
+
     compiler.compile()
     copy(tmpdir, srcdir, dstdir)
 


More information about the fedora-devel-list mailing list