Quoting RW <[EMAIL PROTECTED]> (from Sun, 12 Aug 2007
18:18:10 +0100):
On Sun, 12 Aug 2007 14:20:59 +0200
Alexander Leidinger <[EMAIL PROTECTED]> wrote:
Quoting RW <[EMAIL PROTECTED]> (Sat, 11 Aug 2007 22:58:58
+0100):
> On Sat, 11 Aug 2007 13:33:22 -0700
> Jeremy Chadwick <[EMAIL PROTECTED]> wrote:
>
> > On Sat, Aug 11, 2007 at 03:02:53PM +0400, Rakhesh Sasidharan
> > wrote:
> > >> 5. pkg_delete port
> > >
> > > I see. In step 5, "pkg_delete port" wont work if port is
> > > required by others right? So you delete those apps too? Could
> > > be a lot of stuff to uninstall, right?
> >
> > Absolutely correct. That might seem like a nightmare to most
> > people, but to me it's not.
>
> It's not correct, "pkg_delete -f" can force the deletion. I would
> manually upgrade a port like this:
>
> cd /usr/ports/misc/foo
> make ; do the build
> pkg_info -qO misc/foo ; get old package name
> pkg_create -b <old-package-name> ; backup existing package
> /usr/local/etc/rc.d/foo stop ; stop the daemon if needed
> pkg_delete -f <old-package-name> ; force removal
> make install
At this point your /var/db/pkg/ directory does not reflect reality
anymore,
I know, I was just pointing out that it is possible to upgrade a port
manually without removing every single package that depends on it.
Actually having dependencies package version mismatches needn't cause
any significant problems. And massaging them into self-consistency is
It does cause problems. You have no +REQUIRED_BY file anymore, so
pkg_delete allows you to remove it without a warning even if it is
still needed. If you make sure to keep the file, you still need to
change the dependencies (in +CONTENTS and in +REQUIRED_BY), else the
entries in +REQUIRED_BY are not removed on deinstall of a port.
itself a form of corruption, since you lose information about what was
built against what.
No, it's not a corruption as long as the changes are ABI compatible
(if it isn't compatible, you need to update some more ports, but this
is not the subject of the discussion). The dependency tracking in
/var/db is meant to reflect the current dependencies of the installed
software, not the dependencies when a port was first build. It doesn't
matter for e.g. a viruschecker if rar is at version 1.1 or 1.2, as
long as the command line options used still have the same syntax and
semantic.
Bye,
Alexander.
--
I'll burn my books.
-- Christopher Marlowe
http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[EMAIL PROTECTED]"