[2581] in SIPB_Linux_Development

home help back first fref pref prev next nref lref last post

Re: athena-libc5 and genhdlist

daemon@ATHENA.MIT.EDU (Derek Atkins)
Thu Feb 11 12:04:16 1999

To: Salvatore Valente <svalente@MIT.EDU>
Cc: linux-dev@MIT.EDU
From: Derek Atkins <warlord@MIT.EDU>
Date: 11 Feb 1999 12:03:47 -0500
In-Reply-To: Salvatore Valente's message of Wed, 10 Feb 1999 19:54:56 -0500

Ok, I've updated 'package-list' for athena-libc5 to fix this
problem.  If you add 'Autoreqprov: 0' to the header it will
not automatically determine requires and provides lines.  Yeah.

-derek

Salvatore Valente <svalente@MIT.EDU> writes:

> 
> 
> Derek wrote:
> 
> 	What bug in genhdlist is tickled from the original athena-libc5
> 	package?
> 
> This is a good one.  (It's not really a bug in genhdlist, but I didn't
> want to document the whole thing in an RCS log entry.)
> 
> When you create an rpm package, rpm does these two things:
> 
> 1. It does "ldd" (or equivalent) on each executable in the package,
>    and lists the sonames of each required shared library in "Prereqs".
> 
> 2. It gets the soname of each shared library in the package, and puts
>    those sonames in "Provides".
> 
> So, for example, the "info" package has a Prereq of "libz.so.1", and
> the "zlib" package Provides "libz.so.1".
> 
> Of course, rpm decided that the athena-libc5 package also Provides
> libz.so.1.
> 
> The athena-libc5 package has a Prereq of fileutils (for the
> postinstall script).  fileutils has a Prereq of info.  (I don't know
> why.)  info has a Prereq of libz.so.1.
> 
> Circular prerequisite chain.  Oops.
> 
> The ideal solution would be for rpm to store more info than just the
> soname in the Prereqs and Provides field.  For example, it would be
> nice if the athena-fileutils package could be made to Provide
> "libz.so.1(5)" and other libc5 packages could be made to Prereq
> "libz.so.1(5)".  However, that would be a lot of work.
> 
> An acceptable solution would be to find a way to tell rpm, as it
> builds the athena-libc5 package, "This package doesn't Provide
> anything!  These may look like shared libraries, but they're not
> really shared libraries."  For example, one could modify rpm to accept
> lines in the .spec file of the form:
> 
> %attr(noprovide) /usr/i486-linux-libc5/lib/libz.so.1.0.4
> 
> I'll probably make that modification to rpm eventually.
> 
> Sal.

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/      PP-ASEL      N1NWH
       warlord@MIT.EDU                        PGP key available

home help back first fref pref prev next nref lref last post