-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replase usage of /bin/sh
with a shell that reads /etc/profile
#17631
Comments
@martin-g thanks for the detailed report. Yes it should be possible to make the shell configureable. And yes we have chosen this shell because this is the most common one that should be everywhere. |
In addition would be a good idea to make
Something like
This way I could use a custom |
In the meantime if someone has an idea how to set |
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This is needed to be able to set umask=022 for the Linux aarch64 images that use umask=027 by default. /bin/sh does not load /etc/profile nor any other rcfile. See bioconda/bioconda-recipes#46177 for full details and galaxyproject/galaxy#17631 for a summary. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
… mulled-build's shell By default mulled-build uses `/bin/sh -c' - a non-interactive, non-login shell. Because of this it does not load any rcfile, like `/etc/profile`. By making the shell options configurable the user can pass `-set SHELL_OPTS="-lc"`, i.e. to make it a login shell and load the rcfile. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
… if needed mulled-build.py uses invfile.lua that comes pre-packaged with galaxy-tool-util. It would be nice if the user could specify a custom invfile.lua when (s)he needs to use a modified recipe for the image creation Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
galaxyproject#17693 (comment) Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
…rname Issue #17631: Make it possible to use custom invfile.lua if needed
… mulled-build's shell By default mulled-build uses `/bin/sh -c' - a non-interactive, non-login shell. Because of this it does not load any rcfile, like `/etc/profile`. By making the shell options configurable the user can pass `-set SHELL_OPTS="-lc"`, i.e. to make it a login shell and load the rcfile. Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
Describe the bug
I faced an issue while trying to build a
bioconductor-**
recipe at Bioconda: bioconda/bioconda-recipes#46177The issue is that the Linux ARM64/aarch64 Docker images used by default by
mulled-build-tool
:DEFAULT_BASE_IMAGE=quay.io/bioconda/base-glibc-busybox-bash:latest"
-galaxy/lib/galaxy/tool_util/deps/mulled/mulled_build.py
Line 61 in bc0d075
CONDA_IMAGE=continuumio/miniconda3:latest
- https://github.com/galaxyproject/galaxy/blob/bc0d075d552cc10d9c452e9e0a4595b3e079301e/lib/galaxy/tool_util/deps/mulled/mulled_build.py#L376C43-L376C72use
umask=027
by default.Linux ARM64:
The Linux x86_64 images use
022
as default:Both images inherit this behavior from their respective base images (Debian/Ubuntu).
I haven't tried to find why Debian (and Ubuntu) did this.
027
is more secure, but why only the Linux ARM64 image uses it ?! No idea.So, I tried to use custom Docker images that inherit from the default ones and set
umask=022
in/etc/profile
and/etc/bash.bashrc
:Now
docker run -it --rm my-mambaforge-aarch64:latest bash -c umask
prints0022
! Good!But
mulled-build
still fails me despite using my custom Docker images because the defaultinvfile.lua
uses/bin/sh ...
:galaxy/lib/galaxy/tool_util/deps/mulled/invfile.lua
Line 90 in bc0d075
galaxy/lib/galaxy/tool_util/deps/mulled/invfile.lua
Line 106 in bc0d075
galaxy/lib/galaxy/tool_util/deps/mulled/invfile.lua
Line 121 in bc0d075
galaxy/lib/galaxy/tool_util/deps/mulled/invfile.lua
Line 127 in bc0d075
I guess it uses
/bin/sh
because it is the most common one and should exist on every Linux out there.Would it be possible to make this configurable via
VAR.
?Galaxy Version and/or server at which you observed the bug
mulled-build-tool 23.2.1
To Reproduce
Execute the following on Linux ARM64 machine/VM:
It will fail with
Expected behavior
No
Permission denied
errors.Screenshots
N/A
Additional context
Please ask me if you need more details!
The text was updated successfully, but these errors were encountered: