[arch-dev-public] libdeps (was: ffmpeg 0.8 and x264)

Florian Pritz bluewind at xinu.at
Mon Oct 31 10:52:02 EDT 2011

On 31.10.2011 15:04, Ionut Biru wrote:
> Hi,
> we didn't had a large rebuild for a long time now.
> i the same time i pushed a new x264 as well.
> happy compiling.

If you want to, you can try libdeps (previously called sodeps) with this

Since pacman 4, makepkg will automatically add the library version to
provide/depends entries ending in .so when writing .PKGINFO.

A quick example for readline:

 - In the readline PKGBUILD one would add "provides=(libreadline.so)".
When building makepkg expands that to "libreadline.so=6-64". 6 is the
library version (from the soname) and 64 is the architecture (64-bit).

 - Then one could add "depends=(libreadline.so)" in the bash PKGBUILD
and makepkg would check all binaries in the final package, extract the
version numbers of the needed libraries and create "libreadline.so=6-64".

 - When upgrading now, pacman will ensure that the libreadline.so
dependency for bash is always met and it will complain if the library
gets updated and bash hasn't yet been rebuilt.

This can also be handy to spot aur packages that will break when
upgrading. (The warnings can be ignored by using the -d option in pacman)

It will not break the PKGBUILD for older makepkg versions and it's also
completely transparent to pacman. All the magic is done in makepkg.

If you want to see which libraries a package links to or provides, you
can use my scripts [1] [2].

In case something is unclear, just ask :)

[1]: http://git.server-speed.net/bin/plain/find-libdeps.sh
[2]: http://git.server-speed.net/bin/plain/find-libprovides.sh

Florian Pritz

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://mailman.archlinux.org/pipermail/arch-dev-public/attachments/20111031/eb14c2e1/attachment.asc>

More information about the arch-dev-public mailing list