JDK-4680244 : RPM does not follow LSB or filesystem hierachy
  • Type: Enhancement
  • Component: install
  • Sub-Component: install
  • Affected Version: 6
  • Priority: P2
  • Status: Resolved
  • Resolution: Not an Issue
  • OS: linux
  • CPU: x86
  • Submitted: 2002-05-06
  • Updated: 2013-04-01
  • Resolved: 2013-04-01
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8Resolved
Related Reports
Duplicate :  
Relates :  
Description
Name: gm110360			Date: 05/06/2002


FULL PRODUCT VERSION :
java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)

redhat 7.1
i386

ADDITIONAL OPERATING SYSTEMS :
The error is in the RPM, not the OS


A DESCRIPTION OF THE PROBLEM :
Java is not being installed according to the Linux Standards
Base. No effort is made to designate files in the RPM as
documentation or configuration. Shareable files(docs,
examples, manpages, are not separated from unshareable
files(binaries) but instead dumped in a big directory
containing all java1.4 related files. no effort is made to
include java in the standard path. The manpages are copied
into a manpage location, a hard or softlink would suffice.
Solution would be to read the Linux Standards Base, esp the
Standard Filesystem Hierachy, and install the software
accordingly. The way it is now is considered bad practice
and uses none of the benefits the RPM system offers.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1.rpm -ql j2sdk-1.4.0-fcs
2.rpm -ql --scripts j2sdk-1.4.0-fcs
3.rpm -ql -c j2sdk-1.4.0-fcs
4.rpm -ql -d j2sdk-1.4.0-fcs

EXPECTED VERSUS ACTUAL BEHAVIOR :
read description, LSB etc.
everything is now in one directory, should be in separate
directories (shared/not-shared, variable/static). For
example look at the output of " rpm -ql kaffe-1.0.6-3" (that
is, if kaffe is installed, which would probably not be the
case at sun) J2sdk en J2jre should replace kaffe, and
earlier versions  of itself.

This bug can be reproduced always.

CUSTOMER WORKAROUND :
make links to correct locations after install. This thwarts
RPM, but it is not used effectively now anyway.
(Review ID: 146060) 
======================================================================

Comments
The Linux RPM's starting JDK6 are created using RPMBUILD which makes sure that RPMs conform to LSB standards. (https://wiki.linuxfoundation.org/en/Book/Packaging)
01-04-2013

EVALUATION This is an excellent suggestion and will be considered for one of our upcoming releases. ###@###.### 2003-01-20 Defer to future releases. ###@###.### 2004-11-23 20:53:58 GMT A substantial fraction of the developer concerns mentioned in the JDC comments will be addressed by a different J2SE 6.0 feature, #6211006 (Default Java on Linux). That will at least solve the "how do I find java" problem, i.e., after installing a JRE rpm you'll get a /usr/bin/java that points to something reasonable. The remaining issue of purity-according-to-the-LSB can be split into a couple of pieces. There's the desire to make /usr be read-only, which is a fine goal, and would merely require us to push mutable state off into /var/lib/java or some such. That doesn't seem like it needs to be a priority for Mustang, but we should think about it for the longer term. There's also the desire to nuke /usr/java because it's not officially blessed but, as others have noted, due to binary compatibility constraints we're highly unlikely ever to support that. If the LSB can bless /usr/X11R6 then they should be able to bless /usr/java. ###@###.### 2005-03-23 09:46:31 GMT
23-03-2005

CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: mustang
30-09-2004