please add revision number along with the date in ports/UPDATING

Kevin Oberman rkoberman at gmail.com
Fri Jun 20 21:12:11 UTC 2014


On Wed, Jun 18, 2014 at 5:03 AM, Anton Shterenlikht <mexas at bris.ac.uk>
wrote:

> 20140611:
>   AFFECTS: users of devel/icu
>   AUTHOR: bapt at FreeBSD.org
>
>   icu has been updated to 53.1. Please rebuild all ports that depend on it
>
> When using svn to update ports, it would
> be helpful to know which revision each
> change affects.
>
> Thanks
>
> Anton
>

Anton,

It's not clear to me exactly what you are asking for. Which revision of
what change?

In cases like this one and most other like it, the cause is that the ABI of
the updated port changed and the sharable version has been changed. In this
case it bumps the revision of a number of sharables from 52 to 53. As a
result, all ports that link to the old version (52) will no longer run as
rtld, the run-time loader, will refuse to run an executable that has
unresolvable links. This only requires that the executables in question be
re-linked with the updated sharables.

The sources of the dependent port don't need a changes and there is no new
version number. The old code simply needs to be re-linked. That said, in
many cases an attempt is made to bump the PORT_REVISION of such ports so
they will be caught and rebuilt. I have mixed feelings on this as it is
often almost impossible to catch everything. Sometimes a port is only
dependent on a sharable when a specific option is selected. Some (e.g icu
and pcre) can involve hundreds or even over a thousand ports, making
tagging all of them difficult. almost always some are missed.

I always fall back on pkg_libchk to tell me which ports need updating,
whether the port revision has changed or not.You need to install
sysutils/bsdadminscripts. Then I use:
pkg_libchk -o | grep LIB | cut -d: -f1 | sort | uniq > FILE
where LIB is a sharable installed by the port in question. (E.g. libicu)
Then you can do "portmaster -D `cat FILE`" to update all ports that need it
whether the version has been bumped or not. This will always catch every
port that requires re-linking and not do any extras. portmaster -r (or
portupgrade -r) will often list dependencies that do not actually link to
the sharable in question. In some cases, the number of unneeded rebuilds my
exceed the number that actually require it and may reach over 100.
-- 
R. Kevin Oberman, Network Engineer, Retired
E-mail: rkoberman at gmail.com


More information about the freebsd-ports mailing list