From 59afe04523b8b00623b92458b4eb275f31401a19 Mon Sep 17 00:00:00 2001 From: Jelle Scholtalbers Date: Thu, 22 Nov 2018 08:34:14 +0100 Subject: [PATCH 1/2] fix error when building images where conda channels is passed as a string instead of a list --- lib/galaxy/tools/deps/mulled/mulled_build.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/galaxy/tools/deps/mulled/mulled_build.py b/lib/galaxy/tools/deps/mulled/mulled_build.py index 97feb4a34f2..15aa0f2affc 100644 --- a/lib/galaxy/tools/deps/mulled/mulled_build.py +++ b/lib/galaxy/tools/deps/mulled/mulled_build.py @@ -39,7 +39,7 @@ from .util import ( from ..conda_compat import MetaData DIRNAME = os.path.dirname(__file__) -DEFAULT_CHANNELS = "conda-forge,bioconda" +DEFAULT_CHANNELS = ["conda-forge", "bioconda"] DEFAULT_REPOSITORY_TEMPLATE = "quay.io/${namespace}/${image}" DEFAULT_BINDS = ["build/dist:/usr/local/"] DEFAULT_WORKING_DIR = '/source/' @@ -322,7 +322,7 @@ def add_build_arguments(parser): help='quay.io namespace.') parser.add_argument('-r', '--repository_template', dest='repository_template', default=DEFAULT_REPOSITORY_TEMPLATE, help='Docker repository target for publication (only quay.io or compat. API is currently supported).') - parser.add_argument('-c', '--channels', dest='channels', default=DEFAULT_CHANNELS, + parser.add_argument('-c', '--channels', dest='channels', default=",".join(DEFAULT_CHANNELS), help='Comma separated list of target conda channels.') parser.add_argument('--conda-version', dest="conda_version", default=None, help="Change to specified version of Conda before installing packages.") From 5255a0bf20dea411dbc4c1b9b05e757f2e554df1 Mon Sep 17 00:00:00 2001 From: Nicola Soranzo Date: Thu, 22 Nov 2018 12:47:40 +0000 Subject: [PATCH 2/2] Fix ``involucro_auto_init`` default value --- lib/galaxy/tools/deps/container_resolvers/__init__.py | 9 +++------ lib/galaxy/tools/deps/container_resolvers/mulled.py | 8 ++++---- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/lib/galaxy/tools/deps/container_resolvers/__init__.py b/lib/galaxy/tools/deps/container_resolvers/__init__.py index 9b8ad92484a..0e819f9458a 100644 --- a/lib/galaxy/tools/deps/container_resolvers/__init__.py +++ b/lib/galaxy/tools/deps/container_resolvers/__init__.py @@ -23,15 +23,12 @@ class ContainerResolver(Dictifiable): self.app_info = app_info self.resolver_kwds = kwds - def _get_config_option(self, key, default=None, config_prefix=None, **kwds): + def _get_config_option(self, key, default=None): """Look in resolver-specific settings for option and then fallback to global settings. """ - global_key = "%s_%s" % (config_prefix, key) - if key in kwds: - return kwds.get(key) - elif self.app_info and hasattr(self.app_info, global_key): - return getattr(self.app_info, global_key) + if self.app_info and hasattr(self.app_info, key): + return getattr(self.app_info, key) else: return default diff --git a/lib/galaxy/tools/deps/container_resolvers/mulled.py b/lib/galaxy/tools/deps/container_resolvers/mulled.py index 64a48b8673c..fc53d5cf7a8 100644 --- a/lib/galaxy/tools/deps/container_resolvers/mulled.py +++ b/lib/galaxy/tools/deps/container_resolvers/mulled.py @@ -351,11 +351,11 @@ class BuildMulledDockerContainerResolver(ContainerResolver): self.hash_func = hash_func self._mulled_kwds = { 'namespace': namespace, - 'channels': self._get_config_option("channels", DEFAULT_CHANNELS, prefix="mulled"), + 'channels': self._get_config_option("mulled_channels", DEFAULT_CHANNELS), 'hash_func': self.hash_func, 'command': 'build-and-test', } - self.auto_init = self._get_config_option("auto_init", DEFAULT_CHANNELS, prefix="involucro") + self.auto_init = self._get_config_option("involucro_auto_init", True) def resolve(self, enabled_container_types, tool_info): if tool_info.requires_galaxy_python_environment: @@ -396,13 +396,13 @@ class BuildMulledSingularityContainerResolver(ContainerResolver): self.cache_directory = kwds.get("cache_directory", os.path.join(app_info.container_image_cache_path, "singularity", "mulled")) self.hash_func = hash_func self._mulled_kwds = { - 'channels': self._get_config_option("channels", DEFAULT_CHANNELS, prefix="mulled"), + 'channels': self._get_config_option("mulled_channels", DEFAULT_CHANNELS), 'hash_func': self.hash_func, 'command': 'build-and-test', 'singularity': True, 'singularity_image_dir': self.cache_directory, } - self.auto_init = self._get_config_option("auto_init", DEFAULT_CHANNELS, prefix="involucro") + self.auto_init = self._get_config_option("involucro_auto_init", True) def resolve(self, enabled_container_types, tool_info): if tool_info.requires_galaxy_python_environment: