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