Re: pkgdb -F questions
From: Lars Eighner (eighner_at_io.com)
Date: 11/25/04
- Next message: Christian Caron: "packages... question for installing the latest and greatest"
- Previous message: Michael Green: "Re: install port offline"
- In reply to: Mike Scott: "Re: pkgdb -F questions"
- Next in thread: Conrad J. Sabatier: "Re: pkgdb -F questions"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Thu, 25 Nov 2004 13:53:43 -0600
In our last episode, <lhjpd.265$ld6.47@newsfe6-gui.ntli.net>, the lovely and
talented Mike Scott broadcast on comp.unix.bsd.freebsd.misc:
> Kris Kennaway wrote:
>> On 2004-11-25, Lars Eighner <eighner@io.com> wrote:
>>
>>>When pkgdb -F says:
>>>
>>>Stale dependency: foo -> bar
>>>
>>>What does that mean? Which is the dependent, foo or bar?
>>>(i.e. did foo used to need bar or did bar used to need foo?)
>>
>>
>> port foo depends on port bar, which you do not have installed. This
>> is commonly because you either forced the installation or
>> deinstallation of a port or package when it warned you that it
>> couldn't find all of its dependencies. It may also be because you
>> haven't upgraded ports correctly in the past, and dependency
>> information has been lost.
> It's not that simple. I've just run it on my m/c, and amonst other
> things I get:
> Stale dependency: samba-3.0.7,1 -> heimdal-0.6.1 (security/heimdal):
> New dependency? (? to help): ?
> [Enter] to skip, [Ctrl]+[D] to delete, [.][Enter] to abort, [Tab] to
> complete
> New dependency? (? to help):
> Skip this? ([y]es/[n]o/[a]ll) [yes]
> Skipped.
> The questions and options are cryptic to say the least. [Tab] has never
> offered anything useful AFAIR.
Well, the whole thing sounds cryptic to me. "Stale" dependency would seem
to me to mean something like "outdated," "obsolete," or "superseded"
dependency, but apparently what it means is "missing" dependency.
> Well, I've not a clue what heimdal might be -- I assume it's something
> to do with the samba3 port. I know I've installed samba3 recently to
> replace samba2. Checking now (pkg_info) I see heimdal's not present.
> Which is odd - I install new ports in one of three ways: pkg_add -r,
> portupgrade -N, or cd /usr/ports/....; make install. And I don't delete
> ports unless I'm *very* sure about them (and haven't for ages). So how
> come heimdal wasn't installed if it's needed by samba3? All those
> methods install the dependencies, don't they?
I have a theory that you get "stale dependency" if the dependency is
on something that is usually included in a full binary install or
world, but can be installed on a bare-bones system (or updated)
with a port. If you did a full binary install or built and installed
the whole world, you didn't install the port, so the port shows up
as a "stale" (i.e. missing) dependency. That's my theory anyway.
I think you get heimdal if you install the crypto part of a binary
install. But if you do a barebones install, you can also add this
stuff via ports. I guess the samba2 build looks for the heimdal
it needs and doesn't try to install the port unless the heimdal stuff
is missing. If the heimdal is there, because you installed it with
world, samba2 builds happily and doesn't install the port. This
leaves the dependency hanging fire. That's my theory anyway.
> Same problem for ImageMagick:
> Stale dependency: ImageMagick-6.0.2.7 -> gsfonts-8.11_1 (print/gsfonts):
> New dependency? (? to help): ?
> [Enter] to skip, [Ctrl]+[D] to delete, [.][Enter] to abort, [Tab] to
> complete
> New dependency? (? to help):
> Skip this? ([y]es/[n]o/[a]ll) [yes]
> Skipped.
> gsfonts is not on the system. But I've not touched either of these
> since ImageMagick was installed months ago. And to add confusion, INDEX
> (I've done a cvsup and make fetchindex) lists gsfonts-8.11_2 as the
> requirement instead (I think). So what gives?
> For good measure, I get a stack of 'duplicated origin' messages. DO I
> want to unregister any of them? Frankly, I've no idea!!
>>
>>
>>>What am I supposed to do about it?
> Good question.
Look at the man page for pkgdb. Still don't have a clue? Neither
do I. If this stuff is documented it is hidden exceptionally well.
>>
>>
>> Correct it to whatever port it is supposed to depend on (see below),
>> or halt the pkgdb program and install the missing port.
> But why should the user have to fix what the system's screwed up?
>>
>>
>>>If it is stale, why didn't pkgdb -F just delete it?
>>
>>
>> Because automatically deleting data without confirmation is usually
>> considered bad.
> OK.
>>
>>
>>>Am I supposed to research something?
>>>Where?
>>
>>
>> If you're unsure, check the port makefile to see what it's supposed to
>> depend on. If you're really unsure, you can always just remove the
> Gah! No way should anyone have to ferret around like that. If the ports
> system is so unrobust the user has to do that sort of thing, then it's
> broken. The whole structure seems worryingly arcane. IMVHO, of course :-)
>> port and reinstall it, and let the ports system take care of its own
>> dependencies.
> But it obviously doesn't - not always.
>>
>> Kris
>>
-- Lars Eighner -finger for geek code- eighner@io.com http://www.io.com/~eighner/ My opinions might have changed, but not the fact that I am right.
- Next message: Christian Caron: "packages... question for installing the latest and greatest"
- Previous message: Michael Green: "Re: install port offline"
- In reply to: Mike Scott: "Re: pkgdb -F questions"
- Next in thread: Conrad J. Sabatier: "Re: pkgdb -F questions"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|