Bug#966443: plantuml depends on ditaa but uses embedded version of ditaa instead

2023-01-20 Thread Andrej Shadura

On Tue, 28 Jul 2020 17:17:32 +0200 Tomas Janousek  wrote:

I was a bit confused how could ditaa work in plantuml as the usage in there
doesn't match the API in ditaa:

https://sources.debian.org/src/plantuml/1:1.2020.2+ds-1/src/net/sourceforge/plantuml/ditaa/PSystemDitaa.java/#L121
vs
https://sources.debian.org/src/ditaa/0.10+ds1-1.2/src/org/stathissideris/ascii2image/graphics/Diagram.java/#L113

Turns out it only works because plantuml includes its own (patched) version of
ditaa:
https://sources.debian.org/src/plantuml/1:1.2020.2+ds-1/src/org/stathissideris/ascii2image/graphics/Diagram.java/#L109

Therefore I find it confusing and unnecessary to depend on ditaa and patch the
full path to ditaa.jar into classpath in
https://sources.debian.org/src/plantuml/1:1.2020.2+ds-1/debian/patches/pdf.patch/
(Depending on ditaa pulled in the jarwrapper dependency, which seems to
duplicate functionality already provided by
/usr/lib/jvm/java-11-openjdk-amd64/lib/jar.binfmt)

It's also worth noting that the included (patched) version of ditaa is, if I
remember correctly, a bit older than the 0.10 we have in Debian. So you may
want to drop the included ditaa and use the one shipped in Debian instead
(but that one also seems unmaintained and behind upstream, unfortunately). In
that case it'll be helpful to know that the patching done in plantuml is
unnecessary and PSystemDitaa.java can be made to work with vanilla ditaa:
https://salsa.debian.org/liskin/plantuml/-/commit/5ee7fe82b098fa1402eb43acfff0fcc1bd19dbc4#96bdf10a122277d146e589cf010af72842d73ddd

Alternatively you may just drop the dependency and let plantuml use its own
copy of ditaa as it does upstream. Or you can also update the embedded ditaa
in plantuml, which is what I do in https://salsa.debian.org/liskin/plantuml/
(I'm now in the process of rebasing onto current Debian version).

Thanks a lot, I have finally found time to pull your patches in.

--
Cheers,
  Andrej



Bug#966443: plantuml depends on ditaa but uses embedded version of ditaa instead

2020-07-28 Thread Tomas Janousek
Package: plantuml
Version: 1:1.2020.2+ds-1
Severity: normal
X-Debbugs-Cc: 

I was a bit confused how could ditaa work in plantuml as the usage in there
doesn't match the API in ditaa:

https://sources.debian.org/src/plantuml/1:1.2020.2+ds-1/src/net/sourceforge/plantuml/ditaa/PSystemDitaa.java/#L121
vs
https://sources.debian.org/src/ditaa/0.10+ds1-1.2/src/org/stathissideris/ascii2image/graphics/Diagram.java/#L113

Turns out it only works because plantuml includes its own (patched) version of
ditaa:
https://sources.debian.org/src/plantuml/1:1.2020.2+ds-1/src/org/stathissideris/ascii2image/graphics/Diagram.java/#L109

Therefore I find it confusing and unnecessary to depend on ditaa and patch the
full path to ditaa.jar into classpath in
https://sources.debian.org/src/plantuml/1:1.2020.2+ds-1/debian/patches/pdf.patch/
(Depending on ditaa pulled in the jarwrapper dependency, which seems to
duplicate functionality already provided by
/usr/lib/jvm/java-11-openjdk-amd64/lib/jar.binfmt)

It's also worth noting that the included (patched) version of ditaa is, if I
remember correctly, a bit older than the 0.10 we have in Debian. So you may
want to drop the included ditaa and use the one shipped in Debian instead
(but that one also seems unmaintained and behind upstream, unfortunately). In
that case it'll be helpful to know that the patching done in plantuml is
unnecessary and PSystemDitaa.java can be made to work with vanilla ditaa:
https://salsa.debian.org/liskin/plantuml/-/commit/5ee7fe82b098fa1402eb43acfff0fcc1bd19dbc4#96bdf10a122277d146e589cf010af72842d73ddd

Alternatively you may just drop the dependency and let plantuml use its own
copy of ditaa as it does upstream. Or you can also update the embedded ditaa
in plantuml, which is what I do in https://salsa.debian.org/liskin/plantuml/
(I'm now in the process of rebasing onto current Debian version).

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (990, 'testing'), (990, 'stable'), (500, 'unstable-debug'), (500, 
'testing-debug'), (500, 'stable-debug'), (500, 'unstable'), (500, 'stable'), 
(1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.7.0-1-amd64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_USER, TAINT_WARN, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=cs_CZ.UTF-8, LC_CTYPE=cs_CZ.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages plantuml depends on:
ii  default-jre-headless  2:1.11-72
pn  ditaa 
ii  libavalon-framework-java  4.2.0-10
ii  libbatik-java 1.12-1.1
ii  libcommons-io-java2.6-2
ii  libcommons-logging-java   1.2-2
ii  libfop-java   1:2.5-1
ii  libjlatexmath-java1.0.7-3
ii  libxml-commons-external-java  1.4.01-5
ii  libxmlgraphics-commons-java   2.4-1

Versions of packages plantuml recommends:
ii  graphviz  2.42.2-4

plantuml suggests no packages.

-- no debconf information

-- 
Tomáš Janoušek, a.k.a. Pivník, a.k.a. Liskni_si, https://work.lisk.in/