> On Sep 12, 2022, at 3:18 PM, [email protected] wrote:
> 
> Mostly got it. But what if there are two bad ports?
> 

That’s the

port upgrade outdated and not \( badport1 or badport2 \)

example. One could have three or more in there too, as far as that goes. The 
backslashes are not properly part of the syntax, but they are there to keep the 
shell from interpreting the parentheses.

In other words, you can have full blown Boolean expressions with and, or, not, 
and parentheses as complicated as you care to type, more or less. Terms like 
“outdated” can be regarded as roughly equivalent to a parenthesized list of 
whatever they expand to, if that makes any sense.


>> On Sep 12, 2022, at 15:16, Richard L. Hamilton <[email protected]> wrote:
>> 
>> You can say
>> 
>> port upgrade outdated and not badport1
>> 
>> or even
>> 
>> port upgrade outdated and not \( badport1 or badport2 \)
>> 
>> 
>> although if badport1 (badport2, etc) is depended on by something else being 
>> upgraded, it will probably get upgraded too (and fail, I suppose).
>> 
>> You can upgrade a port without upgrading what it depends on with
>> 
>> port -n upgrade outdated and not badport1
>> 
>> but AFAIK, that’s usually NOT recommended except more rarely and 
>> specifically than something as broad as port upgrade outdated, to work 
>> around a specific problem (for which I gather you should have checked for a 
>> ticket and if it didn’t exist already, filed one). Although if dependencies 
>> other than badport1 are also included in “outdated", I guess they’ll get 
>> updated too, if not necessarily in the ideal order.
>> 
>> although when I say that, I’m kind of saying do what I say and not what I 
>> do, because I wing it a bit just to get through the daily update ritual. My 
>> usual looks a bit like the line above with the parenthesized list of what 
>> not to update, except rather longer.
>> 
>> 
>>> On Sep 12, 2022, at 3:02 PM, [email protected] wrote:
>>> 
>>> 
>>> Yes, you got it. How do I command MacPorts to upgrade all outdated ports 
>>> "and not" this whatever troublesome port?  Is there a way? If you just told 
>>> me, you'll have to be less subtle.
>>> 
>>>>> On Sep 12, 2022, at 14:00, Bill Cole 
>>>>> <[email protected]> wrote:
>>>> On 2022-09-12 at 12:04:41 UTC-0400 (Mon, 12 Sep 2022 12:04:41 -0400)
>>>> <[email protected]>
>>>> is rumored to have said:
>>>> 
>>>>> Thanks for catching that.
>>>>> 
>>>>> From my macports.conf file:
>>>>> # CPU architecture to target. Supported values are "ppc", "ppc64",
>>>>> # "i386", "x86_64", and "arm64". Defaults to:
>>>>> # - Mac OS X 10.5 and earlier: "ppc" on PowerPC, otherwise "i386".
>>>>> # - Mac OS X 10.6 - 10.15: "x86_64" on 64-bit Intel, otherwise "i386".
>>>>> # - macOS 11 and later: "arm64" on Apple Silicon, otherwise "x86_64".
>>>>> build_arch              x86_64
>>>>> 
>>>>> 
>>>>> thus, I was not trying to build for i386, I've specified x86_64
>>>> 
>>>> If for some reason you had built it with the 'universal' variant you could 
>>>> also end up rebuilding it for both. But as I said, I don't think this is 
>>>> the point of attack.
>>>> 
>>>>> I find it difficult to believe MacPorts has no control over what it is 
>>>>> updating.
>>>>> MacPorts upgrade command obviously has some way to know what ports have 
>>>>> updates available:
>>>>> 
>>>>> port upgrade outdated
>>>>> 
>>>>> The outdated argument tells upgrade what to update. I was hoping it would 
>>>>> be something simple like
>>>>> 
>>>>> port upgrade outdated -libgcc9
>>>> 
>>>> Like I said...
>>>> 
>>>> 
>>>>>>> On Sep 12, 2022, at 09:29, Bill Cole 
>>>>>>> <[email protected]> wrote:
>>>> [...]
>>>> 
>>>>>> 3. "sudo port upgrade outdated and not libgcc9" should work, but it will 
>>>>>> leave everything dependent on libgcc9 at older versions.
>>>> 
>>>> The only difference from your hypothetical command is 'and not' instead of 
>>>> '-'
>>>> 
>>>> 
>>>> -- 
>>>> Bill Cole
>>>> [email protected] or [email protected]
>>>> (AKA @grumpybozo and many *@billmail.scconsult.com addresses)
>>>> Not Currently Available For Hire
>>> 
>> 
> 

Reply via email to