Portupgrade not handling dependencies

b. f. bf1783 at googlemail.com
Wed Jul 8 01:07:20 UTC 2009


On 7/8/09, Eric Sheesley <esheesle at shadowlair.com> wrote:
> Well, it has been happening with just about every port(no specific ones)
> that have a dependency which is also being built.  An example from today:
>
> ===>   Registering installation for libtheora-1.0_1
> ===>  Cleaning for libtheora-1.0_1
> --->  Cleaning out obsolete shared libraries
> [Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 456 packages
> found (-0 +1) . done]
> --->  Skipping 'multimedia/ffmpeg' (ffmpeg-2008.07.27_10) because a
> requisite package 'libtheora-1.0' () failed (specify -k to force)
> ** Listing the failed packages (-:ignored / *:skipped / !:failed)
>         -  (bsdpan-Acme-Damn-0.04)
>         * multimedia/ffmpeg (ffmpeg-2008.07.27_10)
> %portupgrade -a
> --->  Skipping 'bsdpan-Acme-Damn-0.04' because it is held by user
> (specify -f to force)
> --->  Upgrading 'ffmpeg-2008.07.27_10' to 'ffmpeg-2008.07.27_11'
> (multimedia/ffmpeg)
> --->  Building '/usr/ports/multimedia/ffmpeg'
>

I see.  In the default /usr/local/etc/pkgtools.conf, there is a sample
line (not commented out) that places any port that matches the glob
bsdpan-* in HOLD_PKGS, meaning that portupgrade will refuse to handle
it.  Presumably this is so users can manage their own local tree of
Perl ports that aren't in the regular ports tree.  I don't do this, so
I'm not familiar with how the two interact.  But portupgrade seems to
have done the right thing here: in the snippet you gave us, it ignored
bsdpan-Acme-Damn and proceeded to begin building ffmpeg after updating
libtheora -- the only problem seems to be that in the intermediate
summary it lists ffmpeg, erroneously, as having been skipped -- but
that seems to just be a cosmetic problem, because it then proceeds to
start updating it.  If later on it refuses to update it, then you've
got a problem.  In that case, you should try running

pkgdb -L
pkgdb -F

to make sure that your pkgdb is in good shape, and then try your
updates again.  You might also try instead something like:

portupgrade -ax bsdpan-*

If that doesn't work, then you may either have to rip out your
bsdpan-* ports, or just use a another tool for updating -- portmaster,
for example.  Or you can roll your own.


b.


More information about the freebsd-questions mailing list