From owner-freebsd-questions Sat Nov 16 10:54:48 2002 Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C480C37B401 for ; Sat, 16 Nov 2002 10:54:46 -0800 (PST) Received: from rutger.owt.com (rutger.owt.com [204.118.6.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3260643E75 for ; Sat, 16 Nov 2002 10:54:46 -0800 (PST) (envelope-from kstewart@owt.com) Received: from owt.com (owt-207-41-94-232.owt.com [207.41.94.232]) by rutger.owt.com (8.9.3/8.9.3) with ESMTP id KAA07742; Sat, 16 Nov 2002 10:54:36 -0800 Message-ID: <3DD6946B.1030701@owt.com> Date: Sat, 16 Nov 2002 10:54:35 -0800 From: Kent Stewart User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 X-Accept-Language: en-us, es-mx MIME-Version: 1.0 To: Anand Buddhdev Cc: freebsd-questions@FreeBSD.ORG Subject: Re: package/port dependency failures References: <20021116145444.GS5846@anand.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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