Bug#663541: error: alternative path /usr/share/java/swt-gtk-3.7.jar doesn't exist
Witold Baryluk
baryluk at smp.if.uj.edu.pl
Mon Apr 2 01:26:53 UTC 2012
On 04-02 02:45, root wrote:
> Package: libswt-gtk-3-java
> Version: 3.7.2-1
> Followup-For: Bug #663541
>
>
> Hi, I have same problem.
>
> Similary to reporter I have /usr/share symlinked to another filesystem.
>
> It is unusual, but why postinst script assumes anything about filesystem?
>
> I think bug is still valid, and not yet resolved.
>
>
> Thanks.
>
Hi.
I read FHS 2.3, and it clearly says that /usr/share can be directory or symlink.
http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#REQUIREMENTS9
Also it make sense, to use symlink sometimes as it is sharable data by
various architectures.
I currently workaround this problem by using 'mount /some/path/share /usr/share -o bind',
and modified /etc/fstab accordingly. Symlink would be much simple way.
There is multiple packages in my systems with such problem:
root at tytus:~# ls -l /usr/share/java/ | grep '\.\.'
lrwxrwxrwx 1 root root 28 wrz 22 2011 ant-bootstrap.jar -> ../ant/etc/ant-bootstrap.jar
lrwxrwxrwx 1 root root 83 wrz 22 2011 commons-beanutils-1.8.3.jar -> ../maven-repo/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.jar
lrwxrwxrwx 1 root root 83 wrz 22 2011 commons-beanutils.jar -> ../maven-repo/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.jar
lrwxrwxrwx 1 root root 42 sty 11 14:58 ic-4.2.29.jar -> ../../lib/erlang/lib/ic-4.2.29/priv/ic.jar
lrwxrwxrwx 1 root root 42 sty 11 14:58 ic.jar -> ../../lib/erlang/lib/ic-4.2.29/priv/ic.jar
lrwxrwxrwx 1 root root 53 lis 19 17:05 jaxp-1.3.jar -> ../maven-repo/javax/xml/jaxp-api/1.3/jaxp-api-1.3.jar
lrwxrwxrwx 1 root root 57 mar 11 20:22 org.eclipse.osgi_3.7.2.dist.jar -> ../../lib/eclipse/plugins/org.eclipse.osgi_3.7.2.dist.jar
lrwxrwxrwx 1 root root 57 mar 11 20:22 org.eclipse.osgi.jar -> ../../lib/eclipse/plugins/org.eclipse.osgi_3.7.2.dist.jar
lrwxrwxrwx 1 root root 66 mar 11 20:22 org.eclipse.osgi.services_3.3.0.dist.jar -> ../../lib/eclipse/plugins/org.eclipse.osgi.services_3.3.0.dist.jar
lrwxrwxrwx 1 root root 66 mar 11 20:22 org.eclipse.osgi.services.jar -> ../../lib/eclipse/plugins/org.eclipse.osgi.services_3.3.0.dist.jar
lrwxrwxrwx 1 root root 64 mar 11 20:22 org.eclipse.osgi.util_3.2.200.dist.jar -> ../../lib/eclipse/plugins/org.eclipse.osgi.util_3.2.200.dist.jar
lrwxrwxrwx 1 root root 64 mar 11 20:22 org.eclipse.osgi.util.jar -> ../../lib/eclipse/plugins/org.eclipse.osgi.util_3.2.200.dist.jar
lrwxrwxrwx 1 root root 56 sty 11 14:58 OtpErlang-1.5.5.jar -> ../../lib/erlang/lib/jinterface-1.5.5/priv/OtpErlang.jar
lrwxrwxrwx 1 root root 56 sty 11 14:58 OtpErlang.jar -> ../../lib/erlang/lib/jinterface-1.5.5/priv/OtpErlang.jar
lrwxrwxrwx 1 root root 32 lut 28 12:39 swt-gtk-3.7.jar -> ../../lib/java/swt-gtk-3.7.2.jar
first 3 in this lists, and one more later, works because, they or only using ../, other was broken because they was using ../../,
and landed not in /usr/, but in /some/path/, which doesn't contain lib/ subdirectory.
SO I could workaround it by hack, and create symlink /some/path/lib to /usr/lib. :)
In fact I tested it, and this also works.
Is there any Debian policy, preventing me having /usr/share as symlink?
Cannot swt-gtk-3.7.jar be not a symlink, but actual file? Most jar's are
arch-independent (as they are bytecode), and can safely reside in
/usr/share/java/. I guess, there are few exceptions (like jars which
have also some native code), and need to reside in /usr/lib/java/, and
symlinking make it quite simple to achive. Is this the case in
swt-gtk-3.7.jar?
I checked it and it only contains .class files. This package is
arch-specific, and each Debian arch have its own verion, but package
size is almost identical everywhere, makeing me wonder what is actually
this difference. Clearly a real interfacing to C GTK+ code, is done in
.so files from libswt-gtk-3-jni package, so why we have arch-specific
-java one?
Regards,
Witek
--
Witold Baryluk
More information about the pkg-java-maintainers
mailing list