Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Oct 2008 22:41:24 -0400 (EDT)
From:      "Josh Rickmar" <joshua_rickmar@eumx.net>
To:        "Robert Noland" <rnoland@FreeBSD.org>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: Concern about using pkg_delete -r
Message-ID:  <55557.67.177.142.45.1224816084.squirrel@ssl.eumx.net>
In-Reply-To: <1224815453.1624.0.camel@wombat.2hip.net>
References:  <53980.67.177.142.45.1224810884.squirrel@ssl.eumx.net>  <49012D63.8020201@math.missouri.edu>  <61973.67.177.142.45.1224815151.squirrel@ssl.eumx.net> <1224815453.1624.0.camel@wombat.2hip.net>

next in thread | previous in thread | raw e-mail | index | archive | help

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?

-- 
To send me a personal email, please place [personal] in the Subject line.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55557.67.177.142.45.1224816084.squirrel>