portmaster -w -r (pcre & icu): how to avoid redundant rebuilding?

Kevin Oberman kob6558 at gmail.com
Thu Jan 24 02:04:18 UTC 2013

On Wed, Jan 23, 2013 at 3:58 AM, Thomas Mueller
<mueller6724 at bellsouth.net> wrote:
>> On 01/22/13 06:26, Thomas Mueller wrote:
>> >I see in the UPDATING file that I need to rebuild all ports that depend on
>> >pcre and icu:
>> >portmaster -w -r pcre
>> >and
>> >portmaster -w -r icu
>> >(I don't need -f ?)
>> >How do I do this without rebuilding the same ports twice?
>> >I am on pkgng, so I can use
>> >pkg info -r icu
>> >and same for pcre to list ports depending on icu and pcre (long lists).
>> >I just updated, from source, to:
>> >FreeBSD amelia2 9.1-STABLE FreeBSD 9.1-STABLE #14 r245542: Tue Jan 22
>> >03:00:31 UTC 2013     root at amelia2:/usr/obj/usr/src/sys/SANDY  amd64
>> >Tom
>> I've not had any luck with avoiding redundant rebuilding as pcre and icu
>> updates aren't sent out at the same time. Perhaps someone can say if I'm
>> off my rocker, has anyone tried issuing 'portmaster -w -r icu pcre'?
>> Perhaps that would avoid the redundant rebuilds?
>> Of course that would only work if one waits for both updates to come out.
>> --
>> Yours in Christ,
>> Joseph A Nagy Jr
> I could possibly make lists of ports that depend on pcre and icu using
> pkg info -r icu (and also pcre, redirecting to files)
> Then I could try
> portmaster -w -r icu -r pcre
> or do I need to use -w twice?
> Then I could see what ports it would build, say n when asked if I wanted to rebuild those ports, assuming there would be config dialogs along the line.
> Then I would run the portmaster command again with |& tee portm.log at the right end, see if I like what would be built before answering y.
> I would be able to login to another virtual terminal to examine portm.log file at the early stage when asked whether to rebuild the ports

My standard answer (and huge time-saver) is to install
sysutils/bsdasminscripts and do the following. This example is for
pcre and icu

% pkg_libchk -o | grep -E "libpcre|libicu" | cut -d: -f1 | sort | uniq
> pcre-updates.txt
% portmaster `cat pcre-updates.txt`

This will only update any port once and will only update ports that
really need it.
R. Kevin Oberman, Network Engineer
E-mail: kob6558 at gmail.com

More information about the freebsd-ports mailing list