[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GWL bash-minimal masks input bash
From: |
Liliana Marie Prikler |
Subject: |
Re: GWL bash-minimal masks input bash |
Date: |
Wed, 13 Jul 2022 07:55:22 +0200 |
User-agent: |
Evolution 3.42.1 |
Am Dienstag, dem 12.07.2022 um 21:05 +0200 schrieb Ricardo Wurmus:
>
> Hi Liliana,
>
> > I have a scientific workflow that depends on a bash script using an
> > extension. (I wish I did not.) Said script is the least common
> > denominator working on all systems that have some basic utilities,
> > and needs therefore not consider the reproducibility of its inputs
> > (it is assumed, that those are up to date). However, at least on
> > my personal machine I want to ensure the reproducibility of the
> > entire workflow, including the invocation of said script.
> >
> > I wrote a GWL workflow that calls the script, but due to the
> > extension the script actually fails in the GWL context. This is
> > because GWL's process->script unconditionally conses bash-minimal
> > to the process inputs. It should probably check whether a bash
> > input already exists or alternatively just append (list (bash-
> > minimal)) instead.
>
> Would appending bash-minimal really help? Does it really give
> preference to your bash when resolving conflicts as it builds the
> profile?
Why should it not?
> Not sure how we should check for the presence of a package providing
> a shell. We can check for certain packages by name, of course, but
> it doesn’t feel right to me.
I'm fairly certain this lookup uses PATH or an equivalent
implementation in Guile (search-input-file springs to mind, which also
uses inputs in the order given).
> Any other ideas how to accommodate the need to swap out the package
> providing a shell?
You could check for the presence of bash in inputs before adding it,
but that'd be more error-prone. Alternatively the implicit vs.
explicit problem also exists in gnu-build-system, so that solution
could be adapted as well.
Cheers