I see I accidentally failed to send this to the bug report -------- Original Message -------- Subject: Re: Bug#575447: lintian: Please add a warning in a .jar is not in /usr/share/java/ Date: Thu, 25 Mar 2010 22:49:05 +0100 From: Niels Thykier <ni...@thykier.net> To: Sylvestre Ledru <sylves...@debian.org> References: <4babcb51.9080...@thykier.net> <1269550852.5310.262.ca...@zlarin>
Sylvestre Ledru wrote: > Le jeudi 25 mars 2010 à 21:45 +0100, Niels Thykier a écrit : >> Hi >> >> I am not sure I can support this. There has been an interest in allowing >> a package to install "private" jar files in /usr/share/<pkg>/. >> >> Though jar files beneath /usr/lib/ is *usually* a problem (the swt jars >> are known exceptions). Though I think these are so rare that an override >> is in order for these. Adding a warning for jars beneath /usr/lib/ will >> cause a warning explosion in eclipse, but I am okay with that! I suspect >> quite a few of them can be moved to /usr/share/ and a lintian warning >> will serve as a good reminder of that. > I am not sure to follow you. In the first paragraph, you say you do not > agree and in the second, reading between the lines, I have the feeling > you think it might be relevant. Am I wrong ? > Hi I agree with the need for a warning for jars being in weird places, but I disagree that a jar file beneath "/usr/share/<pkg>/" should trigger a warning (e.g I am okay with a warning for anywhere but /usr/share/java and /usr/share/<pkg>/). Consider (e.g.) ant uses symlinks from /usr/share/ant/lib/ into /usr/share/java/, so /usr/share/<pkg> (and beneath) should definitely be allowed. Though there are more valid exceptions: maven has a public "repository" that packages are encouraged to install their jars in (or symlinks to them) beneath /usr/share/maven-repo. The second paragraph was more informational to say that we have rare cases where /usr/lib/java or /usr/lib/<pkg> is the correct location for a jar-file (e.g. when storing native pointers in java code). Though I believe these to be so rare that it would be acceptable to force packages legally shipping jars beneath /usr/lib/ to add an override. That being said. Java Virtual Machines are allowed to ship jar files beneath /usr/lib/jvm/${dir}/ (${dir} does not equal package name). Also, I think we should allow a symlink in /usr/lib/ to point to a jar file in a valid location beneath /usr/share. Java projects usually do not care about "correct file system layouts" - patching all ~1638 jars to respect FHS is not just not feasible [1]! > BTW, I am just asking for a warning, not an error ;) > > Sylvestre > Actually, I think jars beneath /usr/lib/ might be good candidate for an error (that can be overridden). Java is supposed to be arch:all and thus so should jar files. Personally I only know one valid exception (swt.jar)[2]. ~Niels [1] Generated via: apt-file search .jar | grep -v /usr/share/java | grep -v /usr/lib/jvm | grep -E .jar\$ | grep -v /usr/share | wc -l The number may be inflated since I get data from testing and unstable and some of these may just be symlinks. [2] Though due to symlinks, this may trigger more than one warning/error.
signature.asc
Description: OpenPGP digital signature