Gary Benson writes: > 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? That works just as well as my patch for the RPM case, but is still broken for non-RPM builds. However, I will go along with this if it's the only way to get the fix in. We must stop generating bad debuginfo for gcj-compiled packages. Andrew. > > Cheers, > Gary > > PS I don't read fedora-devel-list so please Cc me. > --- 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) > -- Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, UK Registered in England and Wales No. 3798903 -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list