git submodule + gettext / envsubst
Brian Inglis
Brian.Inglis@Shaw.ca
Fri Jun 23 13:26:35 GMT 2023
On 2023-06-23 06:35, Jon Turney via Cygwin wrote:
> On 23/06/2023 11:11, Adam Dinwoodie via Cygwin wrote:
>> On Fri, 23 Jun 2023 at 08:59, Andreas Heckel via Cygwin wrote:
>>>
>>> Hi,
>>>
>>> I recently faced some error messages when using git submodules. I found, that
>>> Cygwin's git works nicely on its own. But when I have MSYS binary paths in my
>>> environment, Cygwin's git finds the msys gettext and envsubst binary and
>>> tries to use it, resulting in error messages (see below). I did solve the
>>> issue, by installing Cygwin's gettext (which git does not seem to be requiring).
>>> I write, because I found it somewhat odd, that Cygwin's git is not dependent
>>> on gettext, but uses it, if it finds it somewhere in the path environment.
>>> Just to emphasize, in my Cygwin environment all Cygwin paths come first. So
>>> it was only using the wrong msys binary, because there was none in Cygwin.
>>> Is this behaviour expected and intended or could it be mitigated during
>>> installation somehow?
>>
>> This sounds like a missing dependency in Cygwin's Git package. I'm
>> slightly surprised – the package is included in the build
>> requirements, and cygport is normally pretty good at detecting runtime
>> dependencies in this sort of circumstance – but I'll get it fixed as
>> soon as I manage to get a new Git release out.
>>
>> That's going to happen Any Day Now, although it has been Any Day Now
>> for a few months at this point thanks to a variety of other life
>> issues taking priority…
>
> perhaps git.cygport needs DEPS_PATH="/usr/libexec/git-core" or something like
> that (so that executables files in that directory are included in the automatic
> dependency check)
>
> [1] https://cygwin.github.io/cygport/pkg_info_cygpart.html#DEPS_PATH
Most git binaries link to gettext's libintl8 /usr/bin/cygintl-8.dll but a number
of Git shell scripts:
/usr/libexec/git-core/git-bisect
/usr/libexec/git-core/git-filter-branch
/usr/libexec/git-core/git-merge-octopus
/usr/libexec/git-core/git-merge-one-file
/usr/libexec/git-core/git-merge-resolve
/usr/libexec/git-core/git-mergetool
/usr/libexec/git-core/git-quiltimport
/usr/libexec/git-core/git-request-pull
/usr/libexec/git-core/git-submodule
/usr/libexec/git-core/git-web--browse
each source:
. git-sh-setup in /usr/libexec/git-core/
which sources:
. "$(git --exec-path)/git-sh-i18n" in /usr/libexec/git-core/
which sources:
. gettext.sh in /usr/bin/
which defines shell functions which run the gettext binaries:
/usr/bin/gettext
/usr/bin/ngettext
so not easily detectable, probably needing cygport REQUIRES=gettext.
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut
-- Antoine de Saint-Exupéry
More information about the Cygwin
mailing list