Bug 1175214

Summary: daps is unable to create pdf docu in 15.2
Product: [openSUSE] openSUSE Distribution Reporter: Adrian Schröter <adrian.schroeter>
Component: DocumentationAssignee: Frank Sundermeyer <fs>
Status: RESOLVED FIXED QA Contact: Frank Sundermeyer <fs>
Severity: Normal    
Priority: P5 - None CC: sknorr, thomas.schraitle
Version: Leap 15.2   
Target Milestone: ---   
Hardware: Other   
OS: Other   
See Also: https://bugzilla.suse.com/show_bug.cgi?id=1175229
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: DAPS log from daps -vv -d DC-obs-admin-guide pdf

Description Adrian Schröter 2020-08-13 07:25:56 UTC
First thing I stumbled was the error of loading excalibur. It seems avalon-framework package has it's jars not anymore below excalibur/ .

As workaround I did

 # ln -s .. /usr/share/java/excalibur

the next error I am unable to solve yet is this one:

 (cd /home/adrian/git/open-build-service-documentation/build/.tmp/ && /usr/share/daps/libexec/daps-fop /home/adrian/git/open-build-service-documentation/build/.tmp/book.obs-admin-fop_color_en.fo /home/adrian/git/open-build-service-documentation/build/obs-admin-guide/book.obs-admin_color_en.pdf  )
log4j:WARN No appenders could be found for logger (org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" java.lang.NoSuchMethodError: java.nio.IntBuffer.flip()Ljava/nio/IntBuffer;
        at org.apache.fop.fonts.MultiByteFont.mapCharsToGlyphs(MultiByteFont.java:685)
        at org.apache.fop.fonts.MultiByteFont.charSequenceToGlyphSequence(MultiByteFont.java:571)
        at org.apache.fop.fonts.MultiByteFont.performSubstitution(MultiByteFont.java:552)
        at org.apache.fop.fonts.LazyFont.performSubstitution(LazyFont.java:424)
        at org.apache.fop.fonts.Font.performSubstitution(Font.java:471)
        at org.apache.fop.fonts.GlyphMapping.processWordMapping(GlyphMapping.java:141)
        at org.apache.fop.fonts.GlyphMapping.doGlyphMapping(GlyphMapping.java:92)
Comment 1 Thomas Schraitle 2020-08-13 13:22:42 UTC
Created attachment 840612 [details]
DAPS log from daps -vv -d DC-obs-admin-guide pdf

I've try to confirm that and created a new virtual machine with openSUSE Leap 15.2. Installed daps and git and try to build the OBS documentation.

Here is the details:

-----------
[...]
Successfully created fo file /home/tux/obs-docu/build/.tmp/book.obs-admin-fop_color_en.fo
   Creating PDF from fo-file...
/usr/bin/build-classpath: Could not find excalibur Java extension for this JVM
/usr/bin/build-classpath: error: Some specified jars were not found
PDF book built with REMARKS=0, DRAFT=no and META=0:
/home/tux/obs-docu/build/obs-admin-guide/book.obs-admin_color_en.pdf
-----------

I don't get the Java errors, but I get a PDF. However I do get the error message about excalibur.

After further investigations, the "avalon-framework" package is NOT installed by default. Seems, some dependencies had been changed from Leap 15.1 -> 15.2.

Comparing the avalon-framework between Leap 15.1 and 15.2. 

------- Leap 15.2
/usr/share/java/avalon-framework-api.jar
/usr/share/java/avalon-framework-impl.jar
/usr/share/java/avalon-framework.jar
/usr/share/licenses/avalon-framework
/usr/share/licenses/avalon-framework/LICENSE.txt
/usr/share/licenses/avalon-framework/NOTICE.txt
/usr/share/maven-metadata/avalon-framework.xml
/usr/share/maven-poms/avalon-framework-api.pom
/usr/share/maven-poms/avalon-framework-impl.pom


------- Leap 15.1
/usr/share/doc/packages/avalon-framework
/usr/share/doc/packages/avalon-framework/KEYS
/usr/share/doc/packages/avalon-framework/LICENSE.txt
/usr/share/doc/packages/avalon-framework/README.txt
/usr/share/java/avalon-framework.jar
/usr/share/java/excalibur
/usr/share/java/excalibur/avalon-framework-api.jar
/usr/share/java/excalibur/avalon-framework-impl.jar
Comment 2 Thomas Schraitle 2020-08-13 13:32:52 UTC
Just a note:

Inside /usr/share/daps/libexec/daps-fop you need to change this line:

  FOP_DEFAULT_JAVA_JARS="batik-all excalibur/avalon-framework-impl"

to this line:

  FOP_DEFAULT_JAVA_JARS="batik-all avalon-framework-impl"

This avoids the warning message.

Apart from this, maybe the avalon-framework should add a compatibility link...
Comment 3 Stefan Knorr 2020-08-13 15:42:00 UTC
Resolved in develop:

https://github.com/openSUSE/daps/commit/621ae0e1

Should be available as a package from obs://home:fs in a short bit.
Comment 4 Stefan Knorr 2020-08-13 15:47:53 UTC
Actually, https://download.opensuse.org/repositories/home:/fsundermeyer/

Proper release to follow.
Comment 7 Swamp Workflow Management 2022-05-03 13:18:56 UTC
SUSE-RU-2022:1498-1: An update that has one recommended fix can now be installed.

Category: recommended (moderate)
Bug References: 1175214
CVE References: 
JIRA References: 
Sources used:
openSUSE Leap 15.4 (src):    daps-3.3.1-150300.14.3.2
openSUSE Leap 15.3 (src):    daps-3.3.1-150300.14.3.2

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.