From: Johannes Schindelin
This change also allows us to stop overriding argv[0] with the absolute
path of the executable, allowing us to preserve e.g. the case of the
executable's file name.
This fixes https://github.com/git-for-windows/git/issues/1496 partially.
Signed-off-by: Johannes Schinde
processing a template file and
move the header content into the "perl/" subdirectory. The generated
header content will now be stored in the "GIT-PERL-HEADER" file. This
allows the content of the Perl header to be controlled by changing the path
of the template in the Makefile.
n.
Small incidental formatting cleanup of "exec_cmd.c".
Signed-off-by: Dan Jacques
Thanks-to: Robbie Iannucci
Thanks-to: Junio C Hamano
---
Makefile | 28 +-
cache.h| 1 +
common-main.c | 4 +-
config.mak.uname | 7 ++
From: Johannes Schindelin
The RUNTIME_PREFIX feature comes from Git for Windows, but it was
enhanced to allow support for other platforms. While changing the
original idea, the concept was also improved by not forcing argv[0] to
be adjusted.
Let's allow the same for Windows by implementing a hel
their Git installation
is relocated or moved to another system, even when they are not in a
virtual filesystem environment.
Signed-off-by: Dan Jacques
Thanks-to: Ævar Arnfjörð Bjarmason
Thanks-to: Johannes Schindelin
---
Makefile | 65 +
erl script resolution strategy: rather than having Git export
the relative executable path to the Perl scripts, they now resolve
it independently when RUNTIME_PREFIX_PERL is enabled.
- Updated resolution strategy for "gettext()": use system_path() instead
of special environment vari
n.
Small incidental formatting cleanup of "exec_cmd.c".
Signed-off-by: Dan Jacques
Thanks-to: Robbie Iannucci
Thanks-to: Junio C Hamano
---
Makefile | 30 ++-
cache.h| 1 +
common-main.c | 4 +-
config.mak.uname | 7 ++
processing a template file and
move the header content into the "perl/" subdirectory. The generated
header content will now be stored in the "GIT-PERL-HEADER" file. This
allows the content of the Perl header to be controlled by changing the path
of the template in the Makefile.
their Git installation
is relocated or moved to another system, even when they are not in a
virtual filesystem environment.
Signed-off-by: Dan Jacques
Thanks-to: Ævar Arnfjörð Bjarmason
Thanks-to: Johannes Schindelin
---
Makefile | 67 +
RUNTIME_PREFIX_PERL is enabled.
- Updated resolution strategy for "gettext()": use system_path() instead
of special environment variable.
- Added `sysctl` executable resolution support for BSDs that don't
mount "procfs" by default (most o
on
is relocated or moved to another system.
Signed-off-by: Dan Jacques
Thanks-to: Ævar Arnfjörð Bjarmason
Thanks-to: Johannes Schindelin
---
Makefile | 67 +++-
perl/Git/I18N.pm | 2 +-
perl/h
processing a template file and
move the header content into the "perl/" subdirectory. The processed
generated will now be stored in the "GIT-PERL-HEADER" file. This allows
the content of the Perl header to be controlled by changing the path of
the template in the Makefile.
Signed
n.
Small incidental formatting cleanup of "exec_cmd.c".
Signed-off-by: Dan Jacques
Thanks-to: Robbie Iannucci
Thanks-to: Junio C Hamano
---
Makefile | 26 +-
cache.h| 1 +
common-main.c | 4 +-
config.mak.uname | 7 ++
having Git export
the relative executable path to the Perl scripts, they now resolve
it independently when RUNTIME_PREFIX_PERL is enabled.
- Updated resolution strategy for "gettext()": use system_path() instead
of special environment variable.
- Added `sysctl` executable resolution supp
On Mon, 08 Jan 2018, Ævar Arnfjörð Bjarmason wrote:
> > I'll add a "NO_RUNTIME_PREFIX_PERL" flag as per avarab@'s suggestion as a
> > potential mitigation if a problem does end up arising in Windows builds,
> > with a note that NO_RUNTIME_PREFIX_PERL can be deleted if everything seems
> > to be wo
On 2018-01-08 20:27, Johannes Schindelin wrote:
> > Maybe we covered this in previous submissions, but refresh my memory,
> > why is the *_PERL define still needed? Reading this explanation doesn't
> > make sense to me, but I'm probably missing something.
>
> If the reason is to accommodate Window
On Mon, 08 Jan 2018, Ævar Arnfjörð Bjarmason replied:
> Thanks, applied this on top of next and it works for me, i.e. install to
> /tmp/git and move to /tmp/git2 = works for me. Comments below.
Good to hear! I've run this through a few machines at my disposal, but
the more hands on the better.
>
n.
Small incidental formatting cleanup of "exec_cmd.c".
Signed-off-by: Dan Jacques
Thanks-to: Robbie Iannucci
Thanks-to: Junio C Hamano
---
Makefile | 36 -
cache.h | 1 +
common-main.c| 4 +-
config.mak.uname |
tion strategy: rather than having Git export
the relative executable path to the Perl scripts, they now resolve
it independently when RUNTIME_PREFIX_PERL is enabled.
- Updated resolution strategy for "gettext()": use system_path() instead
of special environment variable.
- Added `s
processing a template file and
move the header content into the "perl/" subdirectory. The processed
generated will now be stored in the "GIT-PERL-HEADER" file. This allows
the content of the Perl header to be controlled by changing the path of
the template in the Makefile.
Signed
m-specific Perl script
installation path generated by MakeMaker to force installation into a
platform-neutral location, "/share/perl5".
This change enables Git's Perl scripts to work when their Git installation
is relocated or moved to another system.
Signed-off-by: Dan Jacques
executable path to the Perl scripts, they now resolve
it independently when RUNTIME_PREFIX_PERL is enabled.
- Updated resolution strategy for "gettext()": use system_path() instead
of special environment variable.
- Added `sysctl` executable resolution support for BSDs that don&
FYI, I've noticed when building from "pu" that neither the
"t/helper/test-print-values" or "t/helper/test-print-larger-than-ssize"
testing artifacts added to Makefile in this patch series are not added to
"t/helper/.gitignore" like other helpers, resulting in the testing artifact
being recognized a
Johannes Sixt wrote:
> I don't know what I tested last week; most likely not the version of the
> patch I quoted above.
>
> Today's version, with the tip at 5d7f59c391ce, is definitely bogus
> with its quoting. It needs the patch below, otherwise an unquoted
> semicolon may be expanded from $(path
Junio C Hamano writes:
> Well the thing is that I cannot queue this and Dan's at the same
> time, while both of these topics are expected to be in flux. For
> today's pushout, I tentatively kicked out Dan's relative path series
> and queued this one to see how well it works with the rest of the
>
My initial set of replies are inline here:
https://public-inbox.org/git/20171129223807.91343-1-...@google.com/T/#m1ff5cda787eaea4a4015a8f00a8be5966122c73a
I put together this solution for the I18N module. It exports "localedir" to
the Perl header and injects the correct value into Git::I18N. It al
On Fri, 1 Dec 2017, Johannes Sixt wrote:
>>> This doesn't work, unfortunately. When $(pathsep) is ';', we get an
>>> incomplete sed expression because ';' is also a command separator in the
>>> sed language.
>>
>> Funny, I tried this also with ';' as pathsep, and it worked in the Git for
>> Windo
> In general this whole thing structurally looks good to me with the
> caveats noted in other review E-Mails.
>
> I haven't done anything but skim the details of the "where's my
> executable" C code though, just looked at what it's doing structurally.
>
> I think it makes sense for this to land fir
dd some incidental documentation to perl/Makefile.
Explicitly specifying an installation path is necessary for Perl runtime
prefix support, as runtime prefix resolution code must know in advance
where the Perl support modules are installed.
Signed-off-by: Dan Jacques
---
Makefile | 1
l environment variable.
- Added `sysctl` executable resolution support for BSDs that don't
mount "procfs" by default (most of them).
Dan Jacques (4):
Makefile: generate Perl header from template file
Makefile: add support for "perllibdir"
Makefile: add Perl run
processing a template file and
move the header content into the "perl/" subdirectory. The processed
generated will now be stored in the "GIT-PERL-HEADER" file. This allows
the content of the Perl header to be controlled by changing the path of
the template in the Makefile.
Signed
n.
Small incidental formatting cleanup of "exec_cmd.c".
Signed-off-by: Dan Jacques
Thanks-to: Robbie Iannucci
Thanks-to: Junio C Hamano
---
Makefile | 35 +++-
cache.h | 1 +
common-main.c| 4 +-
config.mak.uname |
m-specific Perl script
installation path generated by MakeMaker to force installation into a
platform-neutral location, "/share/perl5".
This change enables Git's Perl scripts to work when their Git installation
is relocated or moved to another system.
Signed-off-by: Dan Jacques
Junio,
I read the "what's cooking in Git" notes and saw that you were intending to
introduce this patch set into "next". Johannes pointed out some quoting errors
that break Windows builds, and I have incorporated fixes in my working copy.
I was going to hold off on publishing v4 in case some of t
> In Git for Windows, we have an almost identical patch:
>
> https://github.com/git-for-windows/git/commit/bdd739bb2b0b
>
> We just guard the call to system_path() behind a test whether podir is
> already absolute, but these days, system_path() does that itself.
>
> I am too little of a Perl expert
processing a template file and
move the header content into the "perl/" subdirectory. The processed
generated will now be stored in the "GIT-PERL-HEADER" file. This allows
the content of the Perl header to be controlled by changing the path of
the template in the Makefile.
Signed
dd some incidental documentation to perl/Makefile.
Explicitly specifying an installation path is necessary for Perl runtime
prefix support, as runtime prefix resolution code must know in advance
where the Perl support modules are installed.
Signed-off-by: Dan Jacques
---
Makefile | 1
n.
Small incidental formatting cleanup of "exec_cmd.c".
Signed-off-by: Dan Jacques
---
Makefile | 35 +++-
cache.h | 1 +
common-main.c| 4 +-
config.mak.uname | 7 ++
exec_cmd.c | 239 +++
exec_c
m-specific Perl script
installation path generated by MakeMaker to force installation into a
platform-neutral location, "/share/perl5".
This change enables Git's Perl scripts to work when their Git installation
is relocated or moved to another system.
Signed-off-by: D
ed resolution strategy for "gettext()": use system_path() instead
of special environment variable.
- Added `sysctl` executable resolution support for BSDs that don't
mount "procfs" by default (most of them).
Dan Jacques (4):
Makefile: generate Perl header from template f
On Wed, 22 Nov 2017, Ævar Arnfjörð Bjarmason wrote:
> > The latter case concerns me here. If the "Config" module is loading local
> > system paths, then the relative pathing between "$Config{installsitelib}"
> > and "$Config{siteprefixexp}" may not be consistent between systems, so an
> > archive
Ævar Arnfjörð Bjarmason @ 2017-11-20 21:50 UTC suggested:
> So LeonT over at #p5p helped me with this. He believes this'll work
> (unless MakeMaker INSTALL_BASE is set, but that should break the Git
> install anyway):
I think that the problem with this approach is that it uses the local
"Config"
On Mon, 20 Nov 2017 22:00:10, Ævar Arnfjörð Bjarmason replied:
> [...]
Thanks for responding. I'll readily confess that PERL and the PERL
ecosystem are not areas I'm very familiar with, so I'm really grateful
for your feedback here.
> You need to bust the perl/PM.stamp cache as a function of you
nvironment information.
- Updated PERL script resolution strategy: rather than having Git export
the relative executable path to the PERL scripts, they now resolve
it independently when RUNTIME_PREFIX_PERL is enabled.
- Updated resolution strategy for "gettext()": use system_p
cidental formatting cleanup of "exec_cmd.c".
Signed-off-by: Dan Jacques
---
.gitignore | 1 +
Makefile | 88 +---
cache.h | 1 +
common-main.c| 4 +-
config.mak.uname | 7 ++
exec_cmd.c | 239 +++
ed directory. This path is resolved and
exported to Git's delegate PERL invocations using the GITPERLLIB
environment variable. This enables Git's delegate PERL scripts to import
Git's own PERL libraries from a path relative to the executable.
Small incidental formatting cl
e), and EXEC_PATH_ENVIRONMENT is preferred by tools instead of
re-resolving argv[0]. Chromium uses the stock redistributable Windows Git
package, so I haven't had an opportunity to test this patch on that
platform.
Please take a look and let me know what you think. Thanks!
-Dan
Dan Jacques (1):
47 matches
Mail list logo