Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jul 2011 00:56:15 +0200
From:      Anton Berezin <tobez@tobez.org>
To:        freebsd-ports@FreeBSD.org
Subject:   find-packages-using-libs: request for feedback
Message-ID:  <20110712225615.GA91283@heechee.tobez.org>

next in thread | raw e-mail | index | archive | help
Hi,

After the recent icu and libgcrypt updates I decided to try and find a
way to avoid rebuilding everything which depends on a particular
port when its shared library version is bumped.

Previously I was profitably using sysutils/libchk, producing in the end
the list of packages which *have* to be rebuilt.  Its use, however,
requires some substantial massaging of the output it produces.

So I wrote a little tool which automates such tasks.  As a side effect,
it can also be used to simply list all packages using a shared library
(or libraries).

Fetch it at https://github.com/tobez/find-packages-using-libs .

Usage examples:

Finding every installed package using libgcrypt:

    ./find-packages-using-libs libgcrypt.so\*

Finding every installed package using libgcrypt OR libicu*:

    ./find-packages-using-libs libgcrypt.so\* libicu*

Finding every installed package which uses libraries that do
not exist (or exist in non-standard paths without any RPATH):

    ./find-packages-using-libs -b

Finding every installed package which uses a non-existing libgcrypt:

    ./find-packages-using-libs -b libgcrypt.so\*

There are a couple of minor options as well,
but for now, this about covers it.

I am interested in you feedback:

- would you use it?  does it solve a problem for you, or do you foresee
  it will solve a problem for you in the future?
- does it work for you?  any bugs?
- any wishes with regard to missing features?

Most of the package-walking code shamelessly (for a good reason) stolen
from the perl-after-upgrade script.

The code is in public domain.

Cheers,
\Anton.
-- 
Our society can survive even a large amount of irrational regulation.
  -- John McCarthy



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110712225615.GA91283>