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 [EMAIL PROTECTED]
with "unsubscribe freebsd-questions" in the body of the message

Reply via email to