commit/galaxy-central: natefoo: If there is no env.sh in a tool dependency directory, but there is a subdirectory named 'bin', add the bin directory to $PATH.
1 new commit in galaxy-central: https://bitbucket.org/galaxy/galaxy-central/changeset/55bb95ec5c2a/ changeset: 55bb95ec5c2a user: natefoo date: 2011-12-13 03:40:37 summary: If there is no env.sh in a tool dependency directory, but there is a subdirectory named 'bin', add the bin directory to $PATH. affected #: 3 files diff -r 09c6c980e463538443134a39c92ff7930738424c -r 55bb95ec5c2a3ce2ef7eaf0a79ec60365d7d1aec lib/galaxy/tools/__init__.py --- a/lib/galaxy/tools/__init__.py +++ b/lib/galaxy/tools/__init__.py @@ -1754,8 +1754,10 @@ log.debug( "Dependency %s", requirement.name ) if requirement.type == 'package': script_file, base_path, version = self.app.toolbox.dependency_manager.find_dep( requirement.name, requirement.version ) - if script_file is None: + if script_file is None and base_path is None: log.warn( "Failed to resolve dependency on '%s', ignoring", requirement.name ) + elif script_file is None: + commands.append( 'PACKAGE_BASE=%s; export PACKAGE_BASE; PATH="%s/bin:$PATH"; export PATH' % ( base_path, base_path ) ) else: commands.append( 'PACKAGE_BASE=%s; export PACKAGE_BASE; . %s' % ( base_path, script_file ) ) return commands diff -r 09c6c980e463538443134a39c92ff7930738424c -r 55bb95ec5c2a3ce2ef7eaf0a79ec60365d7d1aec lib/galaxy/tools/deps/__init__.py --- a/lib/galaxy/tools/deps/__init__.py +++ b/lib/galaxy/tools/deps/__init__.py @@ -47,6 +47,8 @@ script = os.path.join( path, 'env.sh' ) if os.path.exists( script ): return script, path, version + elif os.path.exists( os.path.join( path, 'bin' ) ): + return None, path, version else: return None, None, None def _find_dep_default( self, name ): @@ -55,9 +57,12 @@ path = os.path.join( base_path, name, 'default' ) if os.path.islink( path ): real_path = os.path.realpath( path ) + real_bin = os.path.join( real_path, 'bin' ) real_version = os.path.basename( real_path ) script = os.path.join( real_path, 'env.sh' ) if os.path.exists( script ): return script, real_path, real_version + elif os.path.exists( os.path.join( real_path, 'bin' ) ): + return None, real_path, real_version else: return None, None, None diff -r 09c6c980e463538443134a39c92ff7930738424c -r 55bb95ec5c2a3ce2ef7eaf0a79ec60365d7d1aec lib/galaxy/tools/deps/tests.py --- a/lib/galaxy/tools/deps/tests.py +++ b/lib/galaxy/tools/deps/tests.py @@ -14,20 +14,19 @@ # Setup directories base_path = tempfile.mkdtemp() # mkdir( base_path ) - for name, version in [ ( "dep1", "1.0" ), ( "dep1", "2.0" ), ( "dep2", "1.0" ) ]: - p = os.path.join( base_path, name, version ) + for name, version, sub in [ ( "dep1", "1.0", "env.sh" ), ( "dep1", "2.0", "bin" ), ( "dep2", "1.0", None ) ]: + if sub == "bin": + p = os.path.join( base_path, name, version, "bin" ) + else: + p = os.path.join( base_path, name, version ) try: makedirs( p ) except: pass - touch( os.path.join( p, "env.sh" ) ) + if sub == "env.sh": + touch( os.path.join( p, "env.sh" ) ) dm = galaxy.tools.deps.DependencyManager( [ base_path ] ) + print dm.find_dep( "dep1", "1.0" ) print dm.find_dep( "dep1", "2.0" ) - - - - - - Repository URL: https://bitbucket.org/galaxy/galaxy-central/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email.
participants (1)
-
Bitbucket