Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Nov 2002 10:54:35 -0800
From:      Kent Stewart <kstewart@owt.com>
To:        Anand Buddhdev <arb@anand.org>
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: package/port dependency failures
Message-ID:  <3DD6946B.1030701@owt.com>
References:  <20021116145444.GS5846@anand.org>

next in thread | previous in thread | raw e-mail | index | archive | help


Anand Buddhdev wrote:
> I have recently begun to experiment with FreeBSD packages and ports,
> and I noticed a problem with dependencies:
> 
> The system is FreeBSD 4.7.
> 
> I installed a package called "courier" using ports. It had a number of
> dependencies, which it also installed, including one called "sysconftool".
> 
> When I then looked at the package database, under sysconftool, I saw that
> it was a requirement for courier. Attempting to remove sysconftool with
> pkg_delete failed with the warning that it was required by courier. That
> was good, and is the kind of behaviour I see with RPM on linux.
> 
> However, I was able to remove sysconftool by using "make deinstall" in
> the ports tree. It did warn that it was needed by courier, but removed
> it anyway.
> 
> So I then typed "make install" to add it back in, because courier needs
> it. However, this time round, it was not a requirement for courier (the
> package database did not show it as a requirement). And I was able to
> remove it using pkg_delete.
> 
> To me, this seems wrong: package dependencies are easily lost, and after
> a while, the packages on a FreeBSD system could become unstable due to
> missing dependencies.
> 
> Is this a fault within the ports system, or is it just this one package
> that's bad?
> 
> I think the ports system is nice, but if it makes a sysadmin's life
> difficult with bad dependency management, then I'd have an issue with it.
> 
> Any comments?

You can break anything when you go out of the way to do it. If you had 
updated the links in the database "pkgdb -F", I think it would have 
still found that sysconftool was a R-deps, at least, it was when I did 
a make search right now.

That is part of what portupgrade does for you. You can do things like 
"portupgrade -ruf sysconftool" and it would have updated sysconftool 
and everything that used it. Since courier changed 2 months ago, you 
could have run "portupgrade -Ruf courier" and it would have rebuild 
courier and everything it uses. The "-uf" option would have rebuilt 
courier and updated the links.

Portupgrade appears to check the database by running "pkgdb -F" before 
and after and keeps things hooked together. It is everybodies friend :).

Kent

-- 
Kent Stewart
Richland, WA

http://users.owt.com/kstewart/index.html


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DD6946B.1030701>