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>