Re: [macports-base] 01/06: fetch: Always use ${prefix}/bin/git for gitfetch

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

Re: [macports-base] 01/06: fetch: Always use ${prefix}/bin/git for gitfetch

Ryan Schmidt-24

On Apr 14, 2018, at 22:09, Rainer Müller wrote:

> Rainer Müller (raimue) pushed a commit to branch vcs-fetch
> in repository macports-base.
>
>
> https://github.com/macports/macports-base/commit/d28ec4564f13b59afd439ee3fbf05f9c43a76bb9
>
> commit d28ec4564f13b59afd439ee3fbf05f9c43a76bb9
>
> Author: Rainer Müller
> AuthorDate: Thu Apr 12 16:12:06 2018 +0200
>
>     fetch: Always use ${prefix}/bin/git for gitfetch
>    
>     See also 784fee88.
>
> ---
>  configure                 | 41 -----------------------------------------
>  configure.ac              |  1 -
>  src/port1.0/portfetch.tcl | 14 ++------------
>  3 files changed, 2 insertions(+), 54 deletions(-)

Again: Why?

https://lists.macports.org/pipermail/macports-dev/2018-March/037750.html


Reply | Threaded
Open this post in threaded view
|

Re: [macports-base] 01/06: fetch: Always use ${prefix}/bin/git for gitfetch

Rainer Müller-4
On 2018-04-16 22:29, Ryan Schmidt wrote:

>
> On Apr 14, 2018, at 22:09, Rainer Müller wrote:
>
>> Rainer Müller (raimue) pushed a commit to branch vcs-fetch
>> in repository macports-base.
>>
>>
>> https://github.com/macports/macports-base/commit/d28ec4564f13b59afd439ee3fbf05f9c43a76bb9
>>
>> commit d28ec4564f13b59afd439ee3fbf05f9c43a76bb9
>>
>> Author: Rainer Müller
>> AuthorDate: Thu Apr 12 16:12:06 2018 +0200
>>
>>     fetch: Always use ${prefix}/bin/git for gitfetch
>>    
>>     See also 784fee88.
>>
>> ---
>>  configure                 | 41 -----------------------------------------
>>  configure.ac              |  1 -
>>  src/port1.0/portfetch.tcl | 14 ++------------
>>  3 files changed, 2 insertions(+), 54 deletions(-)
>
> Again: Why?
>
> https://lists.macports.org/pipermail/macports-dev/2018-March/037750.html

The previous code always used /usr/bin/git, even if the git port was
installed. Only old versions of macOS got to use the latest version of
git, while recent versions of macOS were stuck with /usr/bin/git.

That does not seem to be a useful default to me, therefore it made sense
to me to always use the latest version from ${prefix}/bin/git.

Is always adding the git port as a dependency too heavy?

One of the remaining points on my to-do list for this branch would be to
figure out a way to get rid of the dependency on the VCS tools if the
fetch is tarballable, as the distfile would be available from our mirrors.

Rainer
Reply | Threaded
Open this post in threaded view
|

Re: [macports-base] 01/06: fetch: Always use ${prefix}/bin/git for gitfetch

Ryan Schmidt-24

On Apr 17, 2018, at 07:33, Rainer Müller wrote:

> On 2018-04-16 22:29, Ryan Schmidt wrote:
>>
>> On Apr 14, 2018, at 22:09, Rainer Müller wrote:
>>
>>> Rainer Müller (raimue) pushed a commit to branch vcs-fetch
>>> in repository macports-base.
>>>
>>>
>>> https://github.com/macports/macports-base/commit/d28ec4564f13b59afd439ee3fbf05f9c43a76bb9
>>>
>>> commit d28ec4564f13b59afd439ee3fbf05f9c43a76bb9
>>>
>>> Author: Rainer Müller
>>> AuthorDate: Thu Apr 12 16:12:06 2018 +0200
>>>
>>>    fetch: Always use ${prefix}/bin/git for gitfetch
>>>
>>>    See also 784fee88.
>>>
>>> ---
>>> configure                 | 41 -----------------------------------------
>>> configure.ac              |  1 -
>>> src/port1.0/portfetch.tcl | 14 ++------------
>>> 3 files changed, 2 insertions(+), 54 deletions(-)
>>
>> Again: Why?
>>
>> https://lists.macports.org/pipermail/macports-dev/2018-March/037750.html
>
> The previous code always used /usr/bin/git, even if the git port was
> installed. Only old versions of macOS got to use the latest version of
> git, while recent versions of macOS were stuck with /usr/bin/git.
>
> That does not seem to be a useful default to me, therefore it made sense
> to me to always use the latest version from ${prefix}/bin/git.

But if /usr/bin/git works... why not use that and save the user the time and disk space? I know we go back and forth on this, whether we should use OS ports when available or always use ports for consistency, but this is one of the situations where thus far we've used the OS binary if it works.


> Is always adding the git port as a dependency too heavy?

It does take a long time to build from source. Building git, in order to check out the infrastructure ports, is, for example, one of the most time-consuming parts of setting up a new buildbot worker.


> One of the remaining points on my to-do list for this branch would be to
> figure out a way to get rid of the dependency on the VCS tools if the
> fetch is tarballable, as the distfile would be available from our mirrors.

Absolutely. Not sure how you'll do it!


Reply | Threaded
Open this post in threaded view
|

Re: [macports-base] 01/06: fetch: Always use ${prefix}/bin/git for gitfetch

Jan Stary
In reply to this post by Rainer Müller-4
On Apr 17 14:33:12, [hidden email] wrote:
> > https://lists.macports.org/pipermail/macports-dev/2018-March/037750.html
>
> The previous code always used /usr/bin/git, even if the git port was
> installed. Only old versions of macOS got to use the latest version of
> git, while recent versions of macOS were stuck with /usr/bin/git.

What versions of MacOS are "stuck" with what version of git?
What specific problems does it lead to?

> That does not seem to be a useful default to me,

Why?

> therefore it made sense
> to me to always use the latest version from ${prefix}/bin/git.

This requiring of the latest version of everything for anything
is a desease. I have a /usr/bin/git that works just fine.
(I also have a /usr/bin/python that works just fine, etc.)
Don't make me install a newer version because it is newer.

Reply | Threaded
Open this post in threaded view
|

Re: [macports-base] 01/06: fetch: Always use ${prefix}/bin/git for gitfetch

Rainer Müller-4
In reply to this post by Ryan Schmidt-24
On 2018-04-18 05:37, Ryan Schmidt wrote:

>
> On Apr 17, 2018, at 07:33, Rainer Müller wrote:
>
>> On 2018-04-16 22:29, Ryan Schmidt wrote:
>>>
>>> On Apr 14, 2018, at 22:09, Rainer Müller wrote:
>>>
>>>> Rainer Müller (raimue) pushed a commit to branch vcs-fetch
>>>> in repository macports-base.
>>>>
>>>>
>>>> https://github.com/macports/macports-base/commit/d28ec4564f13b59afd439ee3fbf05f9c43a76bb9
>>>>
>>>> commit d28ec4564f13b59afd439ee3fbf05f9c43a76bb9
>>>>
>>>> Author: Rainer Müller
>>>> AuthorDate: Thu Apr 12 16:12:06 2018 +0200
>>>>
>>>>    fetch: Always use ${prefix}/bin/git for gitfetch
>>>>
>>>>    See also 784fee88.
>>>>
>>>> ---
>>>> configure                 | 41 -----------------------------------------
>>>> configure.ac              |  1 -
>>>> src/port1.0/portfetch.tcl | 14 ++------------
>>>> 3 files changed, 2 insertions(+), 54 deletions(-)
>>>
>>> Again: Why?
>>>
>>> https://lists.macports.org/pipermail/macports-dev/2018-March/037750.html
>>
>> The previous code always used /usr/bin/git, even if the git port was
>> installed. Only old versions of macOS got to use the latest version of
>> git, while recent versions of macOS were stuck with /usr/bin/git.
>>
>> That does not seem to be a useful default to me, therefore it made sense
>> to me to always use the latest version from ${prefix}/bin/git.
>
> But if /usr/bin/git works... why not use that and save the user the time and disk space? I know we go back and forth on this, whether we should use OS ports when available or always use ports for consistency, but this is one of the situations where thus far we've used the OS binary if it works.
>
>
>> Is always adding the git port as a dependency too heavy?
>
> It does take a long time to build from source. Building git, in order to check out the infrastructure ports, is, for example, one of the most time-consuming parts of setting up a new buildbot worker.

Okay, from the feedback I get we want to keep the old behavior.
I reverted the changes to only use /usr/bin/git.

https://github.com/macports/macports-base/commit/eef07c3ce77b31c55af69107d1e591571ae7b088

>> One of the remaining points on my to-do list for this branch would be to
>> figure out a way to get rid of the dependency on the VCS tools if the
>> fetch is tarballable, as the distfile would be available from our mirrors.
>
> Absolutely. Not sure how you'll do it!

I think of adding another port target for VCS fetch, so we can assign a
different list of dependencies to it. That would only be used internally.

Rainer
Reply | Threaded
Open this post in threaded view
|

Re: [macports-base] 01/06: fetch: Always use ${prefix}/bin/git for gitfetch

Ryan Schmidt-24
In reply to this post by Jan Stary

On Apr 18, 2018, at 03:15, Jan Stary wrote:

> On Apr 17 14:33:12, Rainer Mueller wrote:
>>> https://lists.macports.org/pipermail/macports-dev/2018-March/037750.html
>>
>> The previous code always used /usr/bin/git, even if the git port was
>> installed. Only old versions of macOS got to use the latest version of
>> git, while recent versions of macOS were stuck with /usr/bin/git.
>
> What versions of MacOS are "stuck" with what version of git?

You can boot up different versions of macOS and find out what's installed; I did that before but I don't want to do it again right now.

> What specific problems does it lead to?
>
>> That does not seem to be a useful default to me,
>
> Why?
>
>> therefore it made sense
>> to me to always use the latest version from ${prefix}/bin/git.
>
> This requiring of the latest version of everything for anything
> is a desease. I have a /usr/bin/git that works just fine.
> (I also have a /usr/bin/python that works just fine, etc.)
> Don't make me install a newer version because it is newer.

GitHub recently changed their server configuration, and they now require support for newer TLS protocols. For this reason, versions of git provided in OS X 10.10 Yosemite and earlier can no longer connect to GitHub. Being able to connect to GitHub is fairly important for MacPorts, so MacPorts 2.4.4 will require MacPorts git on those older OS versions, when installing a port that fetches using git.

Rainer wanted to always depend on MacPorts git for a different reason: his changes in the vcs-fetch branch parse some git output, and the format of that output changed in some git version. He knew what version of git he needed, but he didn't want to figure out which versions of macOS came with which versions of git, so he just always used the version from MacPorts. From my earlier research into the GitHub TLS situation, I had already determined that the version of git Apple provides in OS X 10.11 El Capitan and newer is greater than the minimum version Rainer requires for vcs-fetch, so there is no need change which git MacPorts uses further than what we're already changing for 2.4.4.