[pacman-dev] implement .so dependencies?

Nagy Gabor ngaba at bibl.u-szeged.hu
Tue Feb 2 18:19:56 EST 2010

> On 02/02/2010 09:13 PM, Nagy Gabor wrote:
> > This is not the competent ML to decide if ArchLinux's repos should use
> > these flags, personally I have some concerns about db.tar.gz size. (That
> > needs testing, which requires patched makepkg, too.)
> I've repacked core and the results are quite good:
> core.db.tar.gz from 35KB to 40KB
> unpacked db from 2.1MB to 2.2MB

Here is a little explanation for this nice result:

Florian's patch puts a library into sodepends iff the .so file is owned
by one of its _direct_ dependencies (optdepends are omitted). That is
why the "sodepends" array is shorter than expected (by me).

You may say this method is not as safe as it should be, but imho it
is safe enough (if the user doesn't use the -d switch, of course):
For example, yesterday I broke all my gtk2 packages due to my custom
cairo build (I should have rebuild it with recent libpng). With
soprovides/sodepends enabled, pacman would catch the broken
cairo-cleartype->libpng dependency in the firefox->gtk2->cairo->libpng
dependency chain. So in sum, sodepends/soprovides trick is just ensures
that all "normal" dependencies are not broken in .so level neither.

Moreover, due to this feature, distros can introduce
sodepends/soprovides step-by-step (without rebuilding all packages in
the repo), or they can limit this feature to some "critical" packages.


More information about the pacman-dev mailing list