** Description changed:

  [Impact]
- Debian started migrating from libgeronimo-validation-1.0-spec-java to 
libgeronimo-validation-1.1-spec-java quite a while ago. Unfortunately both 
packages implement different Bean Validation Specs and are not compatible, thus 
all reverse (build-)dependencies and reverse (build-)dependencies of these spec 
packages must rely solely on the 1.0 or 1.1 version to avoid FTBFS or runtime 
issues. This transition has not yet been completed on Debian and both Focal and 
Groovy ended up with mixed dependencies.
+ pdfsam fails to work due missing and conflicting dependencies.
  
- So far 2 packages seem to be affected by this and have regressed since Focal:
- 1) pdfsam  will start but can't split/merge/etc pdfs
- 2) libspring-java FTBFS
+ On Focal and Groovy libhibernate-validator-java has a runtime dependency
+ on libel-api-java and an implementation of el-api. Both are usually
+ provided when running under Java EE. On Java SE the application must
+ take care of providing them - and pdfsam is missing these dependencies.
  
- Both depend indirectly on  libgeronimo-validation-1.1-spec-java through
- libhibernate-validator-java.
+ The usual implementation of el-api on Maven projects is from Glassfish,
+ but that has not yet been packaged. libtomcat9-java also provides one
+ such implementation in tomcat9-jasper-el.jar which can be used instead.
  
- pdfsam depends on libgeronimo-validation-1.0-spec-java through libsejda-
- java, while libspring-java depends on 1.0 through through libspring-
- java.
+ Also during build time pdfsam must create links of the jar files it
+ needs for runtime: libel-api-java, libtomcat9-java, and classmate (new
+ dependency from libhibernate-validator-java).
  
- The easiest fix is to downgrade libhibernate-validator-java from 5.3.6-1
- to 4.3.4-1~18.04.1. Trying to update all dependencies to use
- libgeronimo-validation-1.1-spec-java is problematic, requires new
- packages, and even some dependencies that have not yet been packaged or
- tested well.
+ Only on Focal:
+ * libsejda-java 3.2.84-1 depends on libgeronimo-validation-1.0-spec-java
+ * libhibernate-validator-java depends on libgeronimo-validation-1.1-spec-java
+ 
+ A Java application must has either 1.0 or 1.1 spec on its classpath,
+ never both as they are incompatible. To fix this libsejda-java in Focal
+ should be updated to 3.2.84-2 so everything depends on the 1.1 spec (ie.
+ libgeronimo-validation-1.1-spec-java).
  
  [Test Case]
  1) On Focal and Groovy, install pdfsam and run it
  $ sudo apt get install -y pdfsam
  $ pdfsam
  2) Split a PDF
  
  Expected result:
  For the action to execute correctly.
  
  Actual result:
  The console shows a java stacktrace such as
  ERROR 15:56:04.873 org.pdfsam.UncaughtExceptionLogger[JavaFX Application 
Thread] Unexpected error
  org.sejda.eventstudio.exception.EventStudioException: Reflective method 
invocation exception
  ...
  
  [Regression Potential]
- I haven't found packages that depend on libhibernate-validator-java and on 
validation-1.1-spec-java directly or indirectly, but I haven't looked at a 
depth bigger than 3. If there are packages with (indirect) dependencies on both 
libhibernate-validator-java and libgeronimo-validation-1.1-spec-java they will 
regress after this change.
+ * libseja-java:
+ Moving from 1.0 to 1.1 spec might cause regressions on packages that depend 
on libsejda-java as now el-api (and its implementation) must be available on 
the classpath (default on Java EE). At this time the only package that depends 
on libsejda-java is pdfsam.
+ 
+ * New dependency on libtomcat9-java (as an el-api provider):
+ The usual implementation of el-api is from Glassfish, so using tomcat9 to 
provide this might introduce problems if it deviates from the spec (unlikely, 
as tomcat is also a Java EE provider).
+ 
  
  [Other Info]
-  * On Debian unstable a new package called libhibernate-validator4-java has 
been created to deal with this problem, but it is not enough and it is even 
blocking from moving to testing.
- * For pdfsam I tried to move libsejda-java to 1.1 spec, but as described in 
debian bug 942507 comment 10 it introduces new dependencies and one dependency 
on el-impl that is not packaged yet.
  
  [Original Report]
  pdfsam does not produce an output file because of various java-exceptions.
  
  ProblemType: Bug
  DistroRelease: Ubuntu 20.04
  Package: pdfsam 4.0.4-1
  ProcVersionSignature: Ubuntu 5.4.0-40.44-generic 5.4.44
  Uname: Linux 5.4.0-40-generic x86_64
  ApportVersion: 2.20.11-0ubuntu27.3
  Architecture: amd64
  CasperMD5CheckResult: skip
  CurrentDesktop: XFCE
  Date: Fri Jul 10 11:46:14 2020
  InstallationDate: Installed on 2019-09-09 (304 days ago)
  InstallationMedia: Xubuntu 19.04 "Disco Dingo" - Release amd64 (20190416)
  PackageArchitecture: all
  SourcePackage: pdfsam
  UpgradeStatus: No upgrade log present (probably fresh install)

** Summary changed:

- libhibernate-validator-java should be backported to 4.3.4-1~18.04.1
+ pdfsam won't run, has missing and conflicting dependencies

** No longer affects: libspring-java (Ubuntu)

** No longer affects: libspring-java (Debian)

** Also affects: libsejda-java (Ubuntu)
   Importance: Undecided
       Status: New

** Also affects: libhibernate-validator-java (Ubuntu Focal)
   Importance: Undecided
       Status: New

** Also affects: pdfsam (Ubuntu Focal)
   Importance: Undecided
       Status: New

** Also affects: libsejda-java (Ubuntu Focal)
   Importance: Undecided
       Status: New

** Changed in: libhibernate-validator-java (Ubuntu)
       Status: Confirmed => Fix Released

** Changed in: libsejda-java (Ubuntu)
       Status: New => Fix Released

** Changed in: pdfsam (Ubuntu Focal)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1887142

Title:
  pdfsam won't run, has missing and conflicting dependencies

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libhibernate-validator-java/+bug/1887142/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to