[pacman-dev] implement .so dependencies?

Thomas Bächler thomas at archlinux.org
Thu Feb 4 10:38:55 EST 2010


Am 04.02.2010 15:32, schrieb Allan McRae:
> It is not entirely rejected.  I just have very limited time at the
> moment so end up just pointing out what I do not like about ideas.  I
> actually do like some of the idea, but there are parts I obviously
> dislike.  In future I'll put some effort into being clearer about that...

Great to hear that, so we can actually discuss possible
implementation(s) now.

> Anyway, here are some of my opinions on this idea:
> 
> 1) I'd prefer just using a single depends array rather than an
> additional sodepends array.  A version of pacman's "-d" ignoring
> dependency versioning would not require a separate array and would be
> far more useful than one that ignored sodepends.  I think that should be
> implemented in pacman no matter what.
> 
> 2) I do not like "magically" adding libraries to the depends/provides
> array.  I really want them to be manually specified (versions can be
> automatic - see #3).  For example, the readline package would want to
> provide libreadline.so as that is important but libhistory.so is really
> not...  What is important or not would be up to the distro packagers.

I can live with both of those changes.

> 3) I would like the sodeps to be listed like (e.g) "libreadline.so".
> This makes the dependency named closer to what is actually is.  Makepkg
> could recognize the ".so" at the end and use readelf on the binaries and
> automatically add the relevant version.  The "soname-arch" type prefix
> is ugly.  "soname" is covered by the ".so" and multi-lib stuff is not
> really as critical so "arch" is not really needed either.

I disagree in the "arch" part. It might not be as important now, but in
the future it could cause problems if we end up havnig multiple
architecture libraries in one system (and ultimately I want to make that
possible, if I ever get to it). If we could agree on this scheme:

soprovides=(libreadline.so)
would generate
provides=("${provides[@]}" libreadline.so-x86_64=6)

Then the "weak -d" flag could ignore the =6 version above and we still
have everything we would need for matching so-names.

> From my suggestions it should be clear that I really do not want every
> package to have all possible so-provides and -depends added
> automatically.  That seems too much like an even poorer implementation
> of rpm to me and would be very, very difficult to get around all the
> edge cases.

Similar to what Pierre said, only stronger, but I can still live with that.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://mailman.archlinux.org/pipermail/pacman-dev/attachments/20100204/717ac200/attachment-0001.bin>


More information about the pacman-dev mailing list