Bug#736426: freehep-graphicsio-svg: Recompilation of the package breaks other packages

Moritz Muehlenhoff jmm at debian.org
Fri Jan 24 09:49:06 UTC 2014


On Thu, Jan 23, 2014 at 04:13:19PM +0100, Moritz Muehlenhoff wrote:
> Package: freehep-graphicsio-svg
> Version: 2.1.1-3
> Severity: serious
> 
> I ran into the following bug with stable, but the version is the same as in unstable:
> 
> If I compile geogebra with the binary deb package as shipped in stable it compiles fine.
> 
> However, if I rebuild freehep-graphicsio-svg in stable, the geogebra builds breaks with
> the following error:
> 
> ---------
> src/geogebra/export/SVGExtensions.java:16: package org.freehep.graphicsio.svg does not exist
> public class SVGExtensions extends org.freehep.graphicsio.svg.SVGGraphics2D {
>                                                              ^
> src/geogebra/export/GraphicExportDialog.java:59: package org.freehep.graphicsio.svg does not exist
> import org.freehep.graphicsio.svg.SVGGraphics2D;
>                                  ^
> src/geogebra/export/SVGExtensions.java:23: cannot find symbol
> symbol  : variable os
> location: class geogebra.export.SVGExtensions
>         os.println("<g id=\"" + s + "\">");
>         ^
> src/geogebra/export/SVGExtensions.java:27: cannot find symbol
> symbol  : variable os
> location: class geogebra.export.SVGExtensions
>         os.println("</g><!-- " + s + " -->");
>         ^
> src/geogebra/export/GraphicExportDialog.java:708: cannot find symbol
> symbol  : variable SVGGraphics2D
> location: class geogebra.export.GraphicExportDialog
>                         final UserProperties props = (UserProperties) SVGGraphics2D
>                                                                       ^
> src/geogebra/export/GraphicExportDialog.java:710: cannot find symbol
> symbol  : variable SVGGraphics2D
> location: class geogebra.export.GraphicExportDialog
>                         props.setProperty(SVGGraphics2D.EMBED_FONTS, !textAsShapes);
>                                           ^
> src/geogebra/export/GraphicExportDialog.java:711: cannot find symbol
> symbol  : variable SVGGraphics2D
> location: class geogebra.export.GraphicExportDialog
>                         props.setProperty(SVGGraphics2D.TEXT_AS_SHAPES, textAsShapes);
>                                           ^
> src/geogebra/export/GraphicExportDialog.java:712: cannot find symbol
> symbol  : variable SVGGraphics2D
> location: class geogebra.export.GraphicExportDialog
>                         SVGGraphics2D.setDefaultProperties(props);
>                         ^
> src/geogebra/export/GraphicExportDialog.java:724: cannot find symbol
> symbol  : method startExport()
> location: class geogebra.export.SVGExtensions
>                         g.startExport();
>                          ^
> src/geogebra/export/GraphicExportDialog.java:725: cannot find symbol
> symbol  : method exportPaintPre(geogebra.export.SVGExtensions,double)
> location: class geogebra.euclidian.EuclidianView
>                         ev.exportPaintPre(g, exportScale);
>                           ^
> src/geogebra/export/GraphicExportDialog.java:728: drawObjectsPre(java.awt.Graphics2D) in geogebra.euclidian.EuclidianView cannot be applied to (geogebra.export.SVGExtensions)
>                         ev.drawObjectsPre(g);
>                           ^
> src/geogebra/export/GraphicExportDialog.java:738: drawAll(java.awt.Graphics2D) in geogebra.euclidian.DrawableList cannot be applied to (geogebra.export.SVGExtensions)
>                                 ev.drawLayers[layer].drawAll(g);
>                                                     ^
> src/geogebra/export/GraphicExportDialog.java:742: cannot find symbol
> symbol  : method endExport()
> location: class geogebra.export.SVGExtensions
>                         g.endExport();
>                          ^
> src/geogebra/gui/util/BrowserLauncher.java:36: warning: non-varargs call of varargs method with inexact argument type for last parameter;
> cast to java.lang.Class for a varargs call
> cast to java.lang.Class[] for a non-varargs call and to suppress this warning
>               Method getDesktop = desktopClass.getDeclaredMethod("getDesktop", null);   
>                                                                                ^
> src/geogebra/gui/util/BrowserLauncher.java:38: warning: non-varargs call of varargs method with inexact argument type for last parameter;
> cast to java.lang.Object for a varargs call
> cast to java.lang.Object[] for a non-varargs call and to suppress this warning
>               Object desktopObj = getDesktop.invoke(null, null);     
>                                                           ^
> Note: Some input files use or override a deprecated API.
> Note: Recompile with -Xlint:deprecation for details.
> Note: Some input fi
> ---------
> 
> The rebuilt package misses a symlink. The binary package currently shipped with stable contains this:
> 
> /.
> /usr
> /usr/share
> /usr/share/doc
> /usr/share/doc/libfreehep-graphicsio-svg-java
> /usr/share/doc/libfreehep-graphicsio-svg-java/changelog.Debian.gz
> /usr/share/doc/libfreehep-graphicsio-svg-java/copyright
> /usr/share/maven-repo
> /usr/share/maven-repo/org
> /usr/share/maven-repo/org/freehep
> /usr/share/maven-repo/org/freehep/freehep-graphicsio-svg
> /usr/share/maven-repo/org/freehep/freehep-graphicsio-svg/debian
> /usr/share/maven-repo/org/freehep/freehep-graphicsio-svg/debian/freehep-graphicsio-svg-debian.pom
> /usr/share/maven-repo/org/freehep/freehep-graphicsio-svg/2.1.1
> /usr/share/maven-repo/org/freehep/freehep-graphicsio-svg/2.1.1/freehep-graphicsio-svg-2.1.1.pom
> /usr/share/maven-repo/org/freehep/freehep-graphicsio-svg/2.1.1/freehep-graphicsio-svg-2.1.1.jar
> /usr/share/java
> /usr/share/maven-repo/org/freehep/freehep-graphicsio-svg/debian/freehep-graphicsio-svg-debian.jar
> /usr/share/java/freehep-graphicsio-svg.jar
> /usr/share/java/freehep-graphicsio-svg-2.1.1.jar
> root at vurm:/home/jmm/scratch/wheezy# ls -lha /usr/share/java/freehep-graphicsio-svg.jar
> lrwxrwxrwx 1 root root 87 Mär 13  2010 /usr/share/java/freehep-graphicsio-svg.jar -> ../maven-repo/org/freehep/freehep-graphicsio-svg/2.1.1/freehep-graphicsio-svg-2.1.1.jar
> 
> 
> A rebuilt package in stable contains this, i.e. the /usr/share/java/ symlinks are missing:
> 
> /usr
> /usr/share
> /usr/share/maven-repo
> /usr/share/maven-repo/org
> /usr/share/maven-repo/org/freehep
> /usr/share/maven-repo/org/freehep/freehep-graphicsio-svg
> /usr/share/maven-repo/org/freehep/freehep-graphicsio-svg/2.1.1
> /usr/share/maven-repo/org/freehep/freehep-graphicsio-svg/2.1.1/freehep-graphicsio-svg-2.1.1.jar
> /usr/share/maven-repo/org/freehep/freehep-graphicsio-svg/2.1.1/freehep-graphicsio-svg-2.1.1.pom
> /usr/share/maven-repo/org/freehep/freehep-graphicsio-svg/debian
> /usr/share/maven-repo/org/freehep/freehep-graphicsio-svg/debian/freehep-graphicsio-svg-debian.pom
> /usr/share/doc
> /usr/share/doc/libfreehep-graphicsio-svg-java
> /usr/share/doc/libfreehep-graphicsio-svg-java/copyright
> /usr/share/doc/libfreehep-graphicsio-svg-java/changelog.Debian.gz
> /usr/share/maven-repo/org/freehep/freehep-graphicsio-svg/debian/freehep-graphicsio-svg-debian.jar

The same applies to the following source packages:

freehep-graphicsio-pdf
freehep-graphicsio-ps
freehep-graphicsio-swf
freehep-graphicsio-tests
freehep-io
freehep-swing
freehep-graphicsio-java
freehep-export
freehep-graphics2d
freehep-util
freehep-xml

In didn't some digging in the reverse deps and found the following bug:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=688043

In fact, adding that patch to the version of maven-debian-helper in Wheezy and rebuilding
the source packages mentioned above fixes the geogebra build.

I'm adding the Debian Java maintainers to CC, what's the proper fix forward here, should
the patch from #688043 be shipped in a point release or are the freehep packages buggy
and require other fixes?

Cheers,
       Moritz



More information about the pkg-java-maintainers mailing list