Pass a path with resolved symlinks to `dpkg -S` command. If it fails, try the 
original path if they differ.

Testing on Ubuntu 24.04 passed. Successfully created a .deb package from 
SwingSet2.jar with the not-empty list of dependencies. Before the fix the list 
of required packages was empty. In jpackage log:


[19:30:48.784] Running dpkg
[19:30:49.118] Command [PID: 244104]:
    dpkg -S /usr/lib/x86_64-linux-gnu/libm.so.6
[19:30:49.118] Output:
    libc6:amd64: /usr/lib/x86_64-linux-gnu/libm.so.6
[19:30:49.118] Returned: 0

[19:30:49.118] /lib/x86_64-linux-gnu/libm.so.6 is provided by [libc6]


It was looking for a package providing "/lib/x86_64-linux-gnu/libm.so.6" 
library, but the actual argument to "dpgk -S" command was 
"/usr/lib/x86_64-linux-gnu/libm.so.6".

-------------

Commit messages:
 - 8295111: dpkg appears to have problems resolving symbolically linked native 
libraries

Changes: https://git.openjdk.org/jdk/pull/18844/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18844&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8295111
  Stats: 44 lines in 1 file changed: 19 ins; 3 del; 22 mod
  Patch: https://git.openjdk.org/jdk/pull/18844.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18844/head:pull/18844

PR: https://git.openjdk.org/jdk/pull/18844

Reply via email to