unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eric Bavier <ericbavier@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: Guix-devel <guix-devel@gnu.org>, Eric Bavier <bavier@member.fsf.org>
Subject: Re: [PATCH 01/13] gnu: subversion: Propagate env variables to hooks.
Date: Mon, 24 Nov 2014 23:42:55 -0600	[thread overview]
Message-ID: <CADwNbn9FUcUi85PHhNttbzw=Sp9HhSzQFKbL0U8N-=j3Ncvfng@mail.gmail.com> (raw)
In-Reply-To: <87k32njy58.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 3069 bytes --]

On Sat, Nov 22, 2014 at 5:02 AM, Ludovic Courtès <ludo@gnu.org> wrote:

> Eric Bavier <ericbavier@gmail.com> skribis:
>
> > On Fri, Nov 21, 2014 at 4:24 PM, Eric Bavier <ericbavier@gmail.com>
> wrote:
> >
> >>
> >> Ludovic Courtès writes:
> >>
> >> > Eric Bavier <ericbavier@gmail.com> skribis:
> >> >
> >> >> * gnu/packages/patches/subversion-propagate-env-to-hooks.patch: New
> >> patch.
> >> >> * gnu-system.am (dist_patch_DATA): Add it.
> >> >> * gnu/packages/version-control.scm (subversion): Use it.
> >> >
> >> > [...]
> >> >
> >> >> +++ b/gnu/packages/patches/subversion-propagate-env-to-hooks.patch
> >> >> @@ -0,0 +1,14 @@
> >> >> +* Hooks need to inherit environment variables such as PATH,
> otherwise
> >> simple
> >> >> +  things like `ls` might fail in a hook.
> >> >
> >> > That looks good, but I want to make sure we’re not changing something
> >> > that was purposefully made this way.
> >>
> >> If the behavior is similar in 1.8.10, I'll get in contact with the
> >> developers.
> >>
> >
> > According to the subversion documentation, the desired behavior is to
> > execute hooks in an empty environment for security reasons (see
> >
> http://svnbook.red-bean.com/en/1.7/svn.reposadmin.create.html#svn.reposadmin.create.hooks
> > ).
>
> OK, so I think it’s important to stick to this behavior.
>

Agreed.


>
> > So it looks like this is a small bug in libtool.  The wrapper scripts
> > libtool generates for programs use `ls' to resolve symbolic links and is
> > the only utility program invoked without an absolute file name (the only
> > other utility being sed).  If such a wrapper script is executed with no
> > PATH set, then we get "ls: command not found" errors.  I don't think it's
> > unreasonable to expect libtool's wrappers to be able to execute in an
> empty
> > environment.
>
> I see.  So the patch is there “just” to allow tests to run, right?
>

Only for tests to pass, yes.


> Second, the problem should affect everyone, including FHS systems, no?
>

The culprit, I think, is a small difference in behavior of bash.  If PATH
is unset (such as within svn's hook environment), then `bash -c 'echo
$PATH'` on an FHS system prints something like
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", but Guix's
bash prints "/no-such-path".  In the first case, `ls` will resolve to
"/bin/ls", but will not be found in the second.


> How do people work around it?
>

Given that behavior, people have nothing to work around.  Does Nix's bash
behave differently?

I'm not sure that our bash needs to be changed in any way.  It's current
behavior seems in line with Guix's way of things.

I was able to get the tests to pass by simply patching the references to ls
that libtool emits in its wrappers.  I think this might be the way to go
for now, while also submitting a bug to libtool.

Thoughts?

`~Eric

-- 
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html

[-- Attachment #2: Type: text/html, Size: 4790 bytes --]

  reply	other threads:[~2014-11-25  5:42 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-21  5:40 [PATCH 00/13] Add gourmet (and dependent python packages) Eric Bavier
2014-11-21  5:40 ` [PATCH 01/13] gnu: subversion: Propagate env variables to hooks Eric Bavier
2014-11-21 22:02   ` Ludovic Courtès
2014-11-21 22:24     ` Eric Bavier
2014-11-22  5:15       ` Eric Bavier
2014-11-22 11:02         ` Ludovic Courtès
2014-11-25  5:42           ` Eric Bavier [this message]
2014-11-25  8:03             ` Ludovic Courtès
2014-11-25 16:51               ` Eric Bavier
2014-11-25 17:09                 ` Ludovic Courtès
2014-11-21  5:40 ` [PATCH 02/13] gnu: python: Add sqlite input Eric Bavier
2014-11-21  9:28   ` Ludovic Courtès
2014-11-21 13:11     ` Eric Bavier
2014-11-21  5:40 ` [PATCH 03/13] gnu: Add python-sqlalchemy Eric Bavier
2014-11-21 22:03   ` Ludovic Courtès
2014-11-21  5:40 ` [PATCH 04/13] gnu: Export symbols in (gnu packages image) upfront Eric Bavier
2014-11-21  5:41 ` [PATCH 05/13] gnu: Export ghostscript module symbols up-front Eric Bavier
2014-11-21 22:04   ` Ludovic Courtès
2014-11-21 22:27     ` Eric Bavier
2014-11-21  5:41 ` [PATCH 06/13] gnu: Add python-pillow Eric Bavier
2014-11-21 22:05   ` Ludovic Courtès
2014-11-21  5:41 ` [PATCH 07/13] gnu: Add python-distutils-extra Eric Bavier
2014-11-21 22:07   ` Ludovic Courtès
2014-11-21  5:41 ` [PATCH 08/13] gnu: Add python-elib.intl Eric Bavier
2014-11-21 22:06   ` Ludovic Courtès
2014-11-21  5:41 ` [PATCH 09/13] guix: Add MPL1.1 license Eric Bavier
2014-11-21 22:08   ` Ludovic Courtès
2014-11-21  5:41 ` [PATCH 10/13] gnu: Add python-pycairo Eric Bavier
2014-11-21 22:11   ` Ludovic Courtès
2014-11-21  5:41 ` [PATCH 11/13] gnu: Add python-pygobject Eric Bavier
2014-11-21 22:12   ` Ludovic Courtès
2014-11-21  5:41 ` [PATCH 12/13] gnu: Add python2-pygtk Eric Bavier
2014-11-21 22:10   ` Ludovic Courtès
2014-11-21  5:41 ` [PATCH 13/13] gnu: Add gourmet Eric Bavier
2014-11-21 22:13   ` Ludovic Courtès
2014-11-21  9:21 ` [PATCH 00/13] Add gourmet (and dependent python packages) Andreas Enge
2014-11-21 21:27   ` Ludovic Courtès
2014-12-02  3:09     ` Eric Bavier
2014-12-02  8:33       ` Ludovic Courtès
2014-12-02 10:56       ` Andreas Enge
2014-12-02 12:49         ` Ludovic Courtès
2014-12-02 20:05         ` 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='CADwNbn9FUcUi85PHhNttbzw=Sp9HhSzQFKbL0U8N-=j3Ncvfng@mail.gmail.com' \
    --to=ericbavier@gmail.com \
    --cc=bavier@member.fsf.org \
    --cc=guix-devel@gnu.org \
    --cc=ludo@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).