Date: Sun, 13 Feb 2005 18:15:18 -0800 From: "Michael C. Shultz" <reso3w83@verizon.net> To: freebsd-questions@freebsd.org Cc: Ean Kingston <ean@hedron.org> Subject: Re: Updated perl - broke stuff Message-ID: <200502131815.21142.reso3w83@verizon.net> In-Reply-To: <04e901c51217$c3d5e590$7702a8c0@officeeagle> References: <200501271852.j0RIqQ9t010411@mp.cs.niu.edu> <200502131642.59595.ean@hedron.org> <04e901c51217$c3d5e590$7702a8c0@officeeagle>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday 13 February 2005 02:02 pm, Paul Schmehl wrote: > ----- Original Message ----- > From: "Ean Kingston" <ean@hedron.org> > To: <freebsd-questions@freebsd.org> > Cc: "Paul Schmehl" <pauls@utdallas.edu> > Sent: Sunday, February 13, 2005 3:42 PM > Subject: Re: Updated perl - broke stuff > > > I stopped using portupgrade because it only upgrades ports that are > > out-of date. It then modifies the installed software database to > > change any dependencies that relied on the old port to show them as > > relying on the new > > port. > > > > For most ports, this works. For Perl, particularly mod_perl, this > > doesn't work. If you install a new perl you have to rebuild > > everything that depends > > on perl even if it hasn't been updated. > > > > So I stopped using portupgrade. > > Wouldn't it make more sense to fix mod_perl? (Or portupgrade - > whichever one is the culprit?) All the ports that depended upon perl > appear to have had their dependencies updated properly except for > libwww and mod_perl. ISTM, fixing those two ports makes more sense. > > If you don't use portupgrade, then what *do* you do? Wouldn't you > have to deinstall and reinstall every port that depended upon perl? > Or will pkgdb -F do the trick? Pkgdb -F is what screws up the installed ports registry. Here is an example of what happens: 1. port-A needs dependency port-B installed 2. port-B is installed 3. port-A is installed and marks its registry as being dependent on port-B and here is where things go wrong using sysutils/portupgrade: 4. port-B gets upgraded to port-B.1 and portupgrade reports port-A has a stale dependency. Then you run pkgdb -F and port-A's registry is changed to say it was built with port-B.1, portupgrade claims this "fixes" the registry when it really breaks it. Remember, port-A was built with port-B, not port-B.1 and the correct way to "fix" the stale dependency is to upgrade port-A so it is built with the newer dependency. sysutils/portmanager also updates ports, put it doesn't cheat. When port-B became port-B.1 portmanager will rebuild port-A using port-B.1 as the dependency. port-A's registry stays reliable, reflecting how the port was really build instead of how we wished it were built. -Mike see http://portmanager.sunsite.dk/ for more info > > Paul Schmehl (pauls@utdallas.edu) > Adjunct Information Security Officer > The University of Texas at Dallas > AVIEN Founding Member > http://www.utdallas.edu/~pauls/ > > _______________________________________________ > freebsd-questions@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to > "freebsd-questions-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200502131815.21142.reso3w83>