{"action":"created","issue":{"url":"https://api.github.com/repos/galaxyproject/planemo/issues/320","labels_url":"https://api.github.com/repos/galaxyproject/planemo/issues/320/labels{/name}","comments_url":"https://api.github.com/repos/galaxyproject/planemo/issues/320/comments","events_url":"https://api.github.com/repos/galaxyproject/planemo/issues/320/events","html_url":"https://github.com/galaxyproject/planemo/issues/320","id":110506508,"number":320,"title":"Multiple install directories for planemo dependency_script?","user":{"login":"peterjc","id":63959,"avatar_url":"https://avatars.githubusercontent.com/u/63959?v=3","gravatar_id":"","url":"https://api.github.com/users/peterjc","html_url":"https://github.com/peterjc","followers_url":"https://api.github.com/users/peterjc/followers","following_url":"https://api.github.com/users/peterjc/following{/other_user}","gists_url":"https://api.github.com/users/peterjc/gists{/gist_id}","starred_url":"https://api.github.com/users/peterjc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peterjc/subscriptions","organizations_url":"https://api.github.com/users/peterjc/orgs","repos_url":"https://api.github.com/users/peterjc/repos","events_url":"https://api.github.com/users/peterjc/events{/privacy}","received_events_url":"https://api.github.com/users/peterjc/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/galaxyproject/planemo/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-10-08T17:46:22Z","updated_at":"2015-10-12T13:39:09Z","closed_at":null,"body":"The initial ``planemo dependency_script`` implementation f798c7e (see #303 and #310) produces a single ``dep_install.sh`` and ``env.sh`` script even when called on multiple ``tool_dependencies.xml`` files. The simplistic usage model is to run ``bash dep_install.sh`` and ``source env.sh`` prior to running Galaxy or any Galaxy tests.\r\n\r\nIssue #319 addresses where to put a separate ``env.sh`` scripts for each tool under the ``tool_dependency_dir`` folder set in ``galaxy.ini`` or via ``planemo test --tool_dependency_dir <dep_dir> ...``\r\n\r\nThis issue is about a similar approach for where to put the files created by the installation itself, i.e. automatically adjusting the ``$INSTALL_DIR`` for multiple ``tool_dependencies.xml`` files. This would allow co-installation of clashing filenames (e.g. multiple versions of MIRA or BLAST).\r\n\r\nMotivating example https://github.com/peterjc/galaxy_mira/commit/0d41761e7073f8fac4c9a4b2a34a95e839ef76f1 and https://travis-ci.org/peterjc/galaxy_mira/builds/84351148 - in this case ``planemo dependency_script`` is used on three ``tool_dependencies.xml`` files to install three versions of MIRA. The clashing binary name ``mira`` requires installation into separate folders and has implications for determining priority on ``$PATH`` (which would be addressed by #319). The workaround as shown is to call ``planemo dependency_script`` three times in a particular order."},"comment":{"url":"https://api.github.com/repos/galaxyproject/planemo/issues/comments/147402820","html_url":"https://github.com/galaxyproject/planemo/issues/320#issuecomment-147402820","issue_url":"https://api.github.com/repos/galaxyproject/planemo/issues/320","id":147402820,"user":{"login":"gregvonkuster","id":6947053,"avatar_url":"https://avatars.githubusercontent.com/u/6947053?v=3","gravatar_id":"","url":"https://api.github.com/users/gregvonkuster","html_url":"https://github.com/gregvonkuster","followers_url":"https://api.github.com/users/gregvonkuster/followers","following_url":"https://api.github.com/users/gregvonkuster/following{/other_user}","gists_url":"https://api.github.com/users/gregvonkuster/gists{/gist_id}","starred_url":"https://api.github.com/users/gregvonkuster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gregvonkuster/subscriptions","organizations_url":"https://api.github.com/users/gregvonkuster/orgs","repos_url":"https://api.github.com/users/gregvonkuster/repos","events_url":"https://api.github.com/users/gregvonkuster/events{/privacy}","received_events_url":"https://api.github.com/users/gregvonkuster/received_events","type":"User","site_admin":false},"created_at":"2015-10-12T13:39:09Z","updated_at":"2015-10-12T13:39:09Z","body":"@peterjc Its a bit difficult for me to say for sure what should or should not currently work for recipes as I believe there have been several changes (since the original installation code was written) that may affect installations.  The original intent was to not use $INSTALL_DIR for the software download and compile steps, but rather to move compiled files to that directory as a final step of the installation recipe.  \r\n\r\nThe installation process automatically creates a temporary working directory in which the downloads are placed when using the download_by_url and download_file actions.  In the past this temporary working directory was not readily accessible within recipes, but I recently added support for using a new $TMP_WORK_DIR reserved word in ways similar to the use of $INSTALL_DIR.  This reserved word points to the temporary working directory root for us within the download and compile steps.  This allows for cleaner installations for more complex recipes that may install more than a single package (e.g., install Python and then install bumpy into that Python).  An example of a recipe that uses this approach is here:\r\n\r\nhttps://github.com/gregvonkuster/galaxy-csg/blob/master/packages/package_icqsol_latest/tool_dependencies.xml\r\n"}}