shellescape proc

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

shellescape proc

ryandesign2
Administrator
Somehow I missed that we have a shellescape proc. This is very exciting! I've wanted this function for a long time, and I'm just realizing now that it exists and that we've had it for 6 years.

https://github.com/macports/macports-base/commit/494a1feafa2ad46c66f9714b760fb5b50ff5dd48

Thank you, Clemens!

We should be using this everywhere, such as in portextract.tcl.

It looks like it is available for use in portfiles too. Portfiles should switch to using this when specifying filenames or paths in a system call instead of manually quoting them with 'quotes' (or, more usually, not doing anything).

Looks like neither shellescape nor quotemeta are documented in the guide.

Reply | Threaded
Open this post in threaded view
|

Re: shellescape proc

Fred Wright

On Fri, 26 Jun 2020, Ryan Schmidt wrote:

> Somehow I missed that we have a shellescape proc. This is very exciting!
> I've wanted this function for a long time, and I'm just realizing now
> that it exists and that we've had it for 6 years.
>
> https://github.com/macports/macports-base/commit/494a1feafa2ad46c66f9714b760fb5b50ff5dd48
>
> Thank you, Clemens!
>
> We should be using this everywhere, such as in portextract.tcl.
>
> It looks like it is available for use in portfiles too. Portfiles should
> switch to using this when specifying filenames or paths in a system call
> instead of manually quoting them with 'quotes' (or, more usually, not
> doing anything).
>
> Looks like neither shellescape nor quotemeta are documented in the guide.

Perhaps with good reason:

MacML @21:03:49.192:: Error: Failed to extract curl-ca-bundle: invalid command name "shellescape"

This happens on 10.5, 10.8, and 10.12.  The missing binary archives are
consistent with this.

Fred Wright
Reply | Threaded
Open this post in threaded view
|

Re: shellescape proc

ryandesign2
Administrator


On Jun 27, 2020, at 23:18, Fred Wright wrote:

> On Fri, 26 Jun 2020, Ryan Schmidt wrote:
>
>> Somehow I missed that we have a shellescape proc. This is very exciting! I've wanted this function for a long time, and I'm just realizing now that it exists and that we've had it for 6 years.
>>
>> https://github.com/macports/macports-base/commit/494a1feafa2ad46c66f9714b760fb5b50ff5dd48
>>
>> Thank you, Clemens!
>>
>> We should be using this everywhere, such as in portextract.tcl.
>>
>> It looks like it is available for use in portfiles too. Portfiles should switch to using this when specifying filenames or paths in a system call instead of manually quoting them with 'quotes' (or, more usually, not doing anything).
>>
>> Looks like neither shellescape nor quotemeta are documented in the guide.
>
> Perhaps with good reason:
>
> MacML @21:03:49.192:: Error: Failed to extract curl-ca-bundle: invalid command name "shellescape"

Whoops, didn't realize that it had only just been made available in the not yet released MacPorts 2.7.0 for Portfiles to use. Fixed:

https://github.com/macports/macports-ports/commit/6c5276d315e64e99f0a7e57b6cf9940b83e9eab6


> This happens on 10.5, 10.8, and 10.12.  The missing binary archives are consistent with this.


That's unrelated.

We don't make binaries for 10.5 right now. We used to make binaries for 10.5 ppc but the Power Mac's power supply died and I haven't gotten the replacement Power Mac online yet to take over.

The 10.8 and 10.12 buildbot workers were offline for a time because the SSDs they were stored on died. They're back up and running using hard disks for now but there is a large backlog of builds.

Reply | Threaded
Open this post in threaded view
|

Re: shellescape proc

Fred Wright

On Sun, 28 Jun 2020, Ryan Schmidt wrote:
> On Jun 27, 2020, at 23:18, Fred Wright wrote:
>> On Fri, 26 Jun 2020, Ryan Schmidt wrote:
[...]

>>> Looks like neither shellescape nor quotemeta are documented in the guide.
>>
>> Perhaps with good reason:
>>
>> MacML @21:03:49.192:: Error: Failed to extract curl-ca-bundle: invalid command name "shellescape"
>
> Whoops, didn't realize that it had only just been made available in the not yet released MacPorts 2.7.0 for Portfiles to use. Fixed:
>
> https://github.com/macports/macports-ports/commit/6c5276d315e64e99f0a7e57b6cf9940b83e9eab6
>
>
>> This happens on 10.5, 10.8, and 10.12.  The missing binary archives are consistent with this.
>
>
> That's unrelated.

Actually, it probably is related, though for a different reason than I was
suggesting. :-) Presumably the only reason that the upgrade didn't fail
for the other OS versions was because of the availability of the binary
archives.  The fact that those existed suggests that the buildbots are
running with a prerelease version of base, which is why they worked
(except when the buildbots weren't working for other reasons).

I'm not convinced that using a prerelease version of base on the buildbots
is a good idea, though.  What would make more sense is to have CI jobs
covering both the prerelease and release versions, but to stick to the
release version on the buildbots for maximum consistency with what end
users would see.

Fred Wright
Reply | Threaded
Open this post in threaded view
|

Re: shellescape proc

Joshua Root-8
On 2020-6-28 17:08 , Fred Wright wrote:

>
> On Sun, 28 Jun 2020, Ryan Schmidt wrote:
>> On Jun 27, 2020, at 23:18, Fred Wright wrote:
>>> On Fri, 26 Jun 2020, Ryan Schmidt wrote:
> [...]
>>>> Looks like neither shellescape nor quotemeta are documented in the
>>>> guide.
>>>
>>> Perhaps with good reason:
>>>
>>> MacML @21:03:49.192:: Error: Failed to extract curl-ca-bundle:
>>> invalid command name "shellescape"
>>
>> Whoops, didn't realize that it had only just been made available in
>> the not yet released MacPorts 2.7.0 for Portfiles to use. Fixed:
>>
>> https://github.com/macports/macports-ports/commit/6c5276d315e64e99f0a7e57b6cf9940b83e9eab6
>>
>>
>>
>>> This happens on 10.5, 10.8, and 10.12.  The missing binary archives
>>> are consistent with this.
>>
>>
>> That's unrelated.
>
> Actually, it probably is related, though for a different reason than I
> was suggesting. :-) Presumably the only reason that the upgrade didn't
> fail for the other OS versions was because of the availability of the
> binary archives.  The fact that those existed suggests that the
> buildbots are running with a prerelease version of base, which is why
> they worked (except when the buildbots weren't working for other reasons).
>
> I'm not convinced that using a prerelease version of base on the
> buildbots is a good idea, though.  What would make more sense is to have
> CI jobs covering both the prerelease and release versions, but to stick
> to the release version on the buildbots for maximum consistency with
> what end users would see.

The buildbot workers are running the current release.

- Josh
Reply | Threaded
Open this post in threaded view
|

Re: shellescape proc

ryandesign2
Administrator
In reply to this post by Fred Wright


On Jun 28, 2020, at 02:08, Fred Wright wrote:

> On Sun, 28 Jun 2020, Ryan Schmidt wrote:
>> On Jun 27, 2020, at 23:18, Fred Wright wrote:
>>> On Fri, 26 Jun 2020, Ryan Schmidt wrote:
> [...]
>>>> Looks like neither shellescape nor quotemeta are documented in the guide.
>>>
>>> Perhaps with good reason:
>>>
>>> MacML @21:03:49.192:: Error: Failed to extract curl-ca-bundle: invalid command name "shellescape"
>>
>> Whoops, didn't realize that it had only just been made available in the not yet released MacPorts 2.7.0 for Portfiles to use. Fixed:
>>
>> https://github.com/macports/macports-ports/commit/6c5276d315e64e99f0a7e57b6cf9940b83e9eab6
>>
>>
>>> This happens on 10.5, 10.8, and 10.12.  The missing binary archives are consistent with this.
>>
>>
>> That's unrelated.
>
> Actually, it probably is related, though for a different reason than I was suggesting. :-) Presumably the only reason that the upgrade didn't fail for the other OS versions was because of the availability of the binary archives.  The fact that those existed suggests that the buildbots are running with a prerelease version of base, which is why they worked (except when the buildbots weren't working for other reasons).
>
> I'm not convinced that using a prerelease version of base on the buildbots is a good idea, though.

They not.

The buildbot workers that were idle at the time curl and curl-ca-bundle were updated to 7.71.0 built them right away and succeeded. I later made the mistake of adding the use of shellescape to curl-ca-bundle. Any future attempts by users or buildbot workers to build it would fail because of that but most users could get the previously built binaries so they wouldn't have noticed. Only users on 10.8 or 10.12 would have noticed because those workers had not yet gotten around to building 7.71.0 by the time I made the shellescape change.

I've now fixed the shellescape mistake so the buildbot workers that are still catching up on builds will be able to build curl-ca-bundle when they get around to it. (10.12 already did; 10.8 will in a few days.)