From: Dan Jacques <dnj@google.com>
To: git@vger.kernel.org
Cc: Johannes.Schindelin@gmx.de, avarab@gmail.com, dnj@google.com,
gitster@pobox.com
Subject: [PATCH v3 0/4] RUNTIME_PREFIX relocatable Git
Date: Mon, 27 Nov 2017 11:40:51 -0500 [thread overview]
Message-ID: <20171127164055.93283-1-dnj@google.com> (raw)
Previous threads:
v1: https://public-inbox.org/git/20171116170523.28696-1-dnj@google.com/
v2: https://public-inbox.org/git/20171119173141.4896-1-dnj@google.com/
After working with avarab@, I isolated the Perl changes into a separate
set of patches and adapted the code to be more correct and readable. I
opted to prescribe a relative Perl library path instead of letting
MakeMaker or the Config module choose one, since the latter both
incorporate build system parameters and a major purpose of this is to be
portable between ABI-compatible systems.
I've tested this via Travis and run full test suite with and without
RUNTIME_PREFIX/RUNTIME_PREFIX_PERL, and tested locally on Mac, Linux,
and FreeBSD systems. Please take a look!
Built using this "config.mak":
=== BEGIN config.mak ===
RUNTIME_PREFIX = YesPlease
RUNTIME_PREFIX_PERL = YesPlease
gitexecdir = libexec/git-core
template_dir = share/git-core/templates
sysconfdir = etc
=== END config.mak ===
Changes in v3 from v2:
- Broken into multiple patches now that Perl is isolated in its own
RUNTIME_PREFIX_PERL flag.
- Working with avarab@, several changes to Perl script runtime prefix
support:
- Moved Perl header body content from Makefile into external template
file(s).
- Added generic "perllibdir" variable to override Perl installation
path.
- RUNTIME_PREFIX_PERL generated script header is more descriptive and
consistent with how the C version operates.
- Fixed Generated Perl header Makefile dependency, should rebuild
when dependent files and flags change.
- Changed some of the new RUNTIME_PREFIX trace strings to use consistent
formatting and terminology.
Changes in v2 from v1:
- Added comments and formatting to improve readability of
platform-sepecific executable path resolution sleds in
`git_get_exec_path`.
- Consolidated "cached_exec_path" and "argv_exec_path" globals
into "exec_path_value".
- Use `strbuf_realpath` instead of `realpath` for procfs resolution.
- Removed new environment variable exports. Git with RUNTIME_PREFIX no
longer exports or consumes any additional environment 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_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 file
Makefile: add support for "perllibdir"
Makefile: add Perl runtime prefix support
exec_cmd: RUNTIME_PREFIX on some POSIX systems
.gitignore | 1 +
Makefile | 110 +++++++++++++--
cache.h | 1 +
common-main.c | 4 +-
config.mak.uname | 7 +
exec_cmd.c | 239 ++++++++++++++++++++++++++++-----
exec_cmd.h | 4 +-
gettext.c | 8 +-
git.c | 2 +-
perl/Makefile | 52 ++++++-
perl/header_fixed_prefix.pl.template | 1 +
perl/header_runtime_prefix.pl.template | 24 ++++
12 files changed, 395 insertions(+), 58 deletions(-)
create mode 100644 perl/header_fixed_prefix.pl.template
create mode 100644 perl/header_runtime_prefix.pl.template
--
2.15.0.chromium12
next reply other threads:[~2017-11-27 16:41 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-27 16:40 Dan Jacques [this message]
2017-11-27 16:40 ` [PATCH v3 1/4] Makefile: generate Perl header from template file Dan Jacques
2017-11-27 16:40 ` [PATCH v3 2/4] Makefile: add support for "perllibdir" Dan Jacques
2017-11-27 16:40 ` [PATCH v3 3/4] Makefile: add Perl runtime prefix support Dan Jacques
2017-11-27 16:40 ` [PATCH v3 4/4] exec_cmd: RUNTIME_PREFIX on some POSIX systems Dan Jacques
2017-11-27 23:42 ` Johannes Schindelin
2017-11-28 3:25 ` Dan Jacques
2017-11-28 3:47 ` Junio C Hamano
2017-11-28 11:36 ` Johannes Schindelin
2017-11-29 1:38 ` Question regarding "next" merge Dan Jacques
2017-11-29 2:18 ` Junio C Hamano
2017-11-28 14:08 ` [PATCH v3 4/4] exec_cmd: RUNTIME_PREFIX on some POSIX systems Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171127164055.93283-1-dnj@google.com \
--to=dnj@google.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.