United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-4680244 : RPM does not follow LSB or filesystem hierachy

Details
Type:
Enhancement
Submit Date:
2002-05-06
Status:
Resolved
Updated Date:
2013-04-01
Project Name:
JDK
Resolved Date:
2013-04-01
Component:
install
OS:
linux
Sub-Component:
install
CPU:
x86
Priority:
P2
Resolution:
Not an Issue
Affected Versions:
6
Fixed Versions:
8

Related Reports
Duplicate:
Relates:

Sub Tasks

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)
                                     
2013-04-01
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
                                     
2005-03-23
CONVERTED DATA

BugTraq+ Release Management Values

COMMIT TO FIX:
mustang


                                     
2004-09-30



Hardware and Software, Engineered to Work Together