From: "Stefan Reichör" <stefan@xsteve.at>
To: 28531@debbugs.gnu.org
Subject: [bug#28531] [PATCH] gnu: Add vcsh.
Date: Sat, 23 Sep 2017 20:10:45 +0200 [thread overview]
Message-ID: <87vak92sm2.fsf@xsteve.at> (raw)
In-Reply-To: <87vak9a875.fsf@gnu.org> ("Ludovic Courtès"'s message of "Sat, 23 Sep 2017 14:52:14 +0200")
Hi Ludo,
> Hello,
>
> Stefan Reichör <stefan@xsteve.at> skribis:
>
>>> Hi Stefan,
>>>
>>> Stefan Reichör <stefan@xsteve.at> skribis:
>>>
>>>> * gnu/packages/version-control.scm (vcsh): New variable.
>>>
>>> Pushed with the minor changes below (the first sentence of the
>>> description looked awkward to me).
>>>
>>> Note that vcsh takes ‘git’ from $PATH. I wonder if we should keep it
>>> this way, or if we should hard-code the absolute file name to ‘git’ so
>>> that it always works.
>>>
>>> Thoughts?
>>
>> I don't think that it is desirable to change all external tool
>> invocations for programs in Guix. I am currently preparing the tool
>> atool that has to invoke a lot of archivers.
>
> We always have a choice between “static binding” (where we hard-wire a
> tool and its dependencies) and “late binding” (where the dependencies
> are searched for at run time.)
>
> Most of the time in Guix we favor static binding: it makes sure that (1)
> programs work out of the box, regardless of what happens to be already
> installed on your system, and (2) that the program will behave the same
> on all systems since its behavior does not depend on external state.
>
> There are exceptions where we want dynamic binding, for instance for
> plugins or optional/soft dependencies.
>
> The case of ‘vcsh’ is borderline. I have a slight preference to
> hardwire the dependency on Git (after all, someone might want to use
> vcsh without having installed Git before), but I’m open to other
> arguments.
>
> Thoughts?
Thanks for the explaination. I see the benefit of the static binding.
The good thing is that the package versions are reproducable.
However, I am used to the way it works on other systems. There is almost
always the search path used to start other programs.
And to make it even more complicated, I still use Ubuntu and install
some tools using Guix. So it is even possible that I use vcsh from Guix
and git from Ubuntu.
I took a look at the vcsh script. git is hardcoded in many places there.
Patching it to have static binding seems to be complicated. The only
sane solution would be to change the script and make git configurable
and try to make this change upstream. However I am not really keen on
doing this kind of work...
Or do you have another idea how the static binding should be accomplished?
Stefan.
> Thanks,
> Ludo’.
>
> PS: Please preserve Cc:.
o.k. - I interpreted the Cc: "28531-done@debbugs.gnu.org" as flag that
the bug is closed and was unsure what will happen when I respond to the
closed bug...
next prev parent reply other threads:[~2017-09-23 18:12 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-20 19:37 [bug#28531] [PATCH] gnu: Add vcsh Stefan Reichör
2017-09-20 20:32 ` bug#28531: " Ludovic Courtès
[not found] ` <87o9q2o1bw.fsf@xsteve.at>
2017-09-23 12:52 ` [bug#28531] " Ludovic Courtès
2017-09-23 18:10 ` Stefan Reichör [this message]
2017-09-25 9:50 ` Ludovic Courtès
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
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87vak92sm2.fsf@xsteve.at \
--to=stefan@xsteve.at \
--cc=28531@debbugs.gnu.org \
/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.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).