Concern about using pkg_delete -r

Robert Noland rnoland at FreeBSD.org
Fri Oct 24 03:15:13 UTC 2008


On Thu, 2008-10-23 at 22:41 -0400, Josh Rickmar wrote:
> On Thu, October 23, 2008 10:30 pm, Robert Noland wrote:
> > On Thu, 2008-10-23 at 22:25 -0400, Josh Rickmar wrote:
> >
> >> On Thu, October 23, 2008 10:05 pm, Stephen Montgomery-Smith wrote:
> >>
> >>> Josh Rickmar wrote:
> >>>
> >>>
> >>>> I'm hoping that this list covers port tools as well as the usual
> >>>> discussions about the actual ports.  If not, please CC this to the
> >>>> proper list.
> >>>>
> >>>> I want to use pkg_delete to remove an installed port, but also want
> >>>> to remove its orphaned dependencies along with it.  After looking at
> >>>> the pkg_delete(1) man page, the -r flag seems to be the option to
> >>>> use for this job.  My concern, though, is about the wording:
> >>>>
> >>>>> In addition to specified packages, delete all
> >>>>> packages that depend on those packages as well.
> >>>>
> >>>> Does this mean that if I pkg_delete -r pkgA, than pkgB (a
> >>>> dependency) will be removed with it, even though it is dependency of
> >>>> pkgC?  Or is pkg_delete (or pkg_deinstall) smart enough to
> >>>> understand this dependency and keep pkgB installed?
> >>>>
> >>>> If in this scenario pkgB would be deleted, should an extra warning
> >>>> be added to the man page so that users know that using this flag
> >>>> could potentially break their other ports?
> >>>
> >>> I think you have the dependency relationship the wrong way around.
> >>>
> >>>
> >>>
> >>> If you do "pkg_delete -r pkgA", and pkgA is a dependency of pkgB (not
> >>>  the other way around as you have it), then pkgB will be deleted.
> >>>
> >>
> >> Ah, my bad.  Yeah, after re-reading the wording it seems that is the
> >> case.
> >>
> >> What about for pkg_deinstall (part of portupgrade)?  According to its
> >> man page, it has two options, --recursive (-r) and --upward-recursive
> >> (-R).
> >> Maybe it's just a little bit late, but what /exactly/ is the difference?
> >>  It sounds like the --upward-recursive option would be better called
> >> --downward-recursive, since it will remove the ports/packages "below"
> >> it.
> >
> > Semantically, it is an inverted tree... i.e. the root is at the top.
> >
> >
> > robert.
> 
> OK, I guess that makes sense.
> 
> >
> >> So, if that is the case, would pkg_deinstall -R pkgA remove pkgB or
> >> not?
> >>
> >
> 
> Well, I tested using pkg_deinstall -rRn, and if I were to remove the -n
> flag, it would be uninstalling ports all the way down to gettext.  Not
> good.  So, it would be removing 'pkgB' with this option.  Any way to
> prevent this?

The removal of ports which are required by some other port will fail.

robert.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20081024/37e024e3/attachment.pgp


More information about the freebsd-ports mailing list