SCIENTIFIC-LINUX-USERS Archives

May 2007

SCIENTIFIC-LINUX-USERS@LISTSERV.FNAL.GOV

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
David Gore <[log in to unmask]>
Reply To:
David Gore <[log in to unmask]>
Date:
Wed, 30 May 2007 20:11:57 -0500
Content-Type:
text/plain
Parts/Attachments:
text/plain (96 lines)
Wow.  Great detective work.

I'm sure there's a way to put dependency requirements into an RPM....  
although I am probably closer to understanding guage theory on principal 
fibre bundles than knowing how to properly mangle a spec file.  :-p

So who gets to update the rpm?  The Free Software Foundation, Sun, Red 
Hat, or Troy? :-) :-) :-)

-Dave

David Gore, Ph.D.                     <HAT> Beam-line 
Scientist           </HAT>
Research Assist. Professor of Physics <HAT> Beam-line Operations 
Manager  </HAT>
Illinois Institute of Technology      <HAT> Visiting Experimenter 
Support </HAT>
V (630) 252 0547 [02:76:00:FC:02:23]  <HAT> Computer 
Administrator        </HAT>
F (630) 252 0545 [02:76:00:FC:02:21]  <HAT> Safety 
Officer                </HAT>
http://www.bio.aps.anl.gov/~dgore       "Multi religiosi, pauci leones"
GPG PUBLIC KEY FINGERPRINT: 08D9 003D 3F57 FEEF B9F5 1D2E 657E 88C0 FE83 
191C
"If your VCR is still blinking '12:00,' Linux is probably not the right 
answer."


Jon Peatfield wrote:

> On Tue, 29 May 2007, Glenn Morris wrote:
>
>> FWIW, I had these links in / after an install as well (but only one on
>> machine out of five so far). Looks like the culprit can only be
>> java-1.4.2-gcj-compat-devel, but I can't see how.
>
>
> How about this as an explanation...
>
> $ mkdir -p /tmp/foo && cd /tmp/foo
> $ ls -al
> total 12
> drwxr-xr-x    2 jp107    other        4096 May 28 13:16 ./
> drwxrwxrwt   29 root     root         8192 May 31 01:12 ../
> $ ln -sf `gcj -print-file-name=include/jawt_md.h` 
> /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/include/linux/jawt_md.h
> -bash: gcj: command not found
> $ ls -al
> total 12
> drwxr-xr-x    2 jp107    other        4096 May 31 01:24 ./
> drwxrwxrwt   29 root     root         8192 May 31 01:12 ../
> lrwxrwxrwx    1 jp107    other          59 May 31 01:24 jawt_md.h -> 
> /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/include/linux/jawt_md.h
>
> that ln is from the postinstall scriptlett, if it gets run while gcj 
> isn't available it drops the bad link in . which is probably / during 
> install.
>
> I wonder if any scriptlet errors (during the install) get logged 
> somewhere useful like anaconda.log...
>
> $ rpm -qp java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp.112.i386.rpm 
> --scripts| grep -A2 ln
> ln -sf \
>   `gcj -print-file-name=include/jni.h` \
>   /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/include/jni.h
> -- 
> ln -sf \
>   `gcj -print-file-name=include/jni_md.h` \
>   /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/include/linux/jni_md.h
> -- 
> ln -sf \
>   `gcj -print-file-name=include/jawt.h` \
>   /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/include/jawt.h
> -- 
> ln -sf \
>   `gcj -print-file-name=include/jawt_md.h` \
>   /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/include/linux/jawt_md.h
>
> So that explains how/why it can happen, but doesn't really provide a fix.
>
>> This rpm seems to be broken in other ways; eg an install creates the 
>> directory /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/include and populates 
>> it with links, but they are not registered as belonging to the 
>> package, and are not removed by an uninstall.
>
>
> It presumably adds the links in the postinstall 'cos it doesn't know 
> what they will point at (depends on gcj).  Maybe marking them as 
> shadow would do the right thing on an uninstall -- but it could at 
> least rm them in the postuninstall since it does know the link-names...
>
> Is there a simple way to require that package to be installed after 
> whatever is providing gcj (if anything)?
>

ATOM RSS1 RSS2