Portupgrade not handling dependencies

Ivailo Tanusheff i.tanusheff at procreditbank.bg
Wed Jul 8 06:27:27 UTC 2009


There are few steps I may suggest to you:

1. Update CVS, i.e. use cvsup -L 2 -g 
2. cd /usr/ports && make fetchindex
3. portsdb -fr && pkgdb -Ffv
4. portupdate -v -i -a -y

If the same problem still exists there is a not so clean step to make:

1. cd multimedia/ffmpeg 
2. FORCE_PKG_REGISTER=yes make install clean
3. portsdb -fr && pkgdb -Ffv
4. portupdate -v -i -a -y

Repeat the above for every mismatched port. I know, it is not clean, but 
once you fix all necessary ports - there will be no problems in the future 


Ivailo Tanusheff
Deputy Head of IT Department
ProCredit Bank (Bulgaria) AD

Eric Sheesley <esheesle at shadowlair.com> 
Sent by: owner-freebsd-questions at freebsd.org
08.07.2009 04:09

"b. f." <bf1783 at googlemail.com>, freebsd-questions at FreeBSD.org

Re: Portupgrade not handling dependencies

Actually, the bsdpan package is not the issue here.  I was aware it
wouldn't update that(no port for this perl module yet anyway).

If you notice, it doesn't proceed to install ffmpeg, i force it
to(highlighted by ************):

** 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)

It should upgrade ffmpeg automatically, but doesn't and that is the issue.

b. f. wrote:
> On 7/8/09, Eric Sheesley <esheesle at shadowlair.com> wrote:
>> Well, it has been happening with just about every port(no specific 
>> that have a dependency which is also being built.  An example from 
>> ===>   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 
>> 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.
freebsd-questions at freebsd.org mailing list
To unsubscribe, send any mail to 
"freebsd-questions-unsubscribe at freebsd.org"

More information about the freebsd-questions mailing list