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