Hi,
Hi John & Greg,
yes I can confirm that. Thanks for reproducing.
Btw. should I set up one test repository for every feature (lets say for ruby and R) that will stay like it is and function as test environment. Or should be write some unit tests for it?
Well if you are going to offer :).
My thoughts are this. Dave B. has built up a really nice suite of test repositories for full functional tests of various features (test/tool_shed/test_data/). Ideally R, Ruby, and Python would have functional tests - the problem with R and Ruby however is that they require a very long time to install and compile. So what I think I would ideally like to see is some sort of stub repository/script for R and Ruby that could mimic there behavior (along with corresponding stub packages). Stubs that would make sure these various environment variables are called properly and the correct arguments are passed to R and/or ruby/gem, but that will not actually compile and install these things.
Is there a need to remove all repositories once they are installed? If you leave the repositories for R, Ruby, Python as long as possible installed (as far as no update comes in) you have something like a stub repository. I do not expect to change R, Ruby and Co. repositories to change frequently once the first storm is over. With a --reset-all option you could remove all of these repositories.
That would probably be a lot of work though :), unit tests would be like my second choice for testing these features but could certainly be of great utility. Unit tests are great where they make sense and could catch some bugs for sure in these components - but it seems right now that the problems we are going to continue to encounter are many different components working together with interfaces that are changing rapidly. I feel like for such code functional tests are slightly more helpful - also this code is already functional tested frequently so they are more likely to be run by anyone pre-commit.
Makes sense.
Short of either of these changes however, it would be wonderful to just have some static test repositories as you outlined! Perhaps making a wiki page or something with a list of these would be excellent. That could also serve as documentation examples of various features.
First repositories: http://testtoolshed.g2.bx.psu.edu/view/bgruening/test_repository_setup_ruby_... http://testtoolshed.g2.bx.psu.edu/view/bgruening/test_repository_setup_r_env... Will try to add that to the wiki soon. Thanks, Bjoern
Any help on any of these fronts would be most appreciated Bjoern!
-John
Thanks, Bjoern
Thanks John,
I just sent my message as yours arrived - this will help me more quickly resolve the issue. I'll have a fix soon.
Greg Von Kuster
On Oct 30, 2013, at 4:09 PM, John Chilton <chilton@msi.umn.edu> wrote:
I can verify augustus doesn't work correctly any longer, but I do not get the same error. The package installs properly but set_environment doesn't get handled.
As far as I can tell this changeset:
https://bitbucket.org/galaxy/galaxy-central/commits/ab9f5cb3acd8dcfe30fc5b92...
Would break this functionality:
<set_environment version="1.0"> <environment_variable name="R_SCRIPT_PATH" action="set_to">$REPOSITORY_INSTALL_DIR</environment_variable> </set_environment>
(as documented on wiki and as appears in the augustus wrappers).
In particular these three lines:
elif elem.tag == 'set_environment': env_var_name = env_var_elem.get( 'name', None ) if env_var_name:
Which have become:
elif elem.tag == 'set_environment': env_var_name = elem.get( 'name', None ) if env_var_name:
Seem problematic. It looks like the set_environment element doesn't have the name, it is the inner environment_variable elements that do. This should probably be resolved before the next release.
-John
On Wed, Oct 30, 2013 at 10:10 AM, Bjoern Gruening <bjoern.gruening@gmail.com> wrote:
Hi Greg,
sorry for the confusion. You answered to Saskia
>> This was indeed a bug (not "abut" which was a spell checker spelling >> error) which has been resolved in 11116:83bed9c7dbbc. This fix has
If I search for that number I only find your fix for the repository action view. But I'm searching for the fix for ' Installing toolshed repositories with set_environment dependency'. Saskia posted that she gets that error:
NameError: global name 'env_var_elem' is not defined
And I can reproduce it with latest galaxy-central and http://toolshed.g2.bx.psu.edu/view/bgruening/augustus a repository that used to work, so I assume that is a regression.
Sorry for not being clear enough! Cheers, Bjoern
Hello Bjoern,
The changeset to which your link refers is the change that allows anyone that has write permission on a repository to reset all metadata on that repository from the "Repository Actions" pop-up menu on the "View repository" page. Previous to this change, this feature was restricted to the owner of the repository. I committed this changeset to the next-stble branch and merged it into the central branch, so it is available in both.
I have just double-cheked using the central branch on my local development repository, and this feature is working as expected. For example, if I have a repo owned by user test and only test has write permission on that repo, the user test1 cannot reset all metadata on the repo. However, if user test grants write permission on the repo to user test1, then user test1 can immediately reset all metadata on the repo.
Can you let me know what steps you are taking and the behavior you are seeing that differs from this?
Thanks!
Greg Von Kuster
On Oct 29, 2013, at 1:03 PM, Bjoern Gruening <bjoern.gruening@gmail.com> wrote:
> Hi Greg, > > do you mean that patch? > > https://bitbucket.org/galaxy/galaxy-central/commits/all?search=83bed9c7dbbc > > I can reproduce that error and it is not fixed with latest > galaxy-central, or did you only applied it to next-stable? > > You can test with my augustus repository if you like. > http://toolshed.g2.bx.psu.edu/view/bgruening/augustus > > Thanks, > Bjoern > > >> Hello Saskia, >> >> >> This was indeed a bug (not "abut" which was a spell checker spelling >> error) which has been resolved in 11116:83bed9c7dbbc. This fix has >> been committed to the next-stable branch and is currently running on >> both the test and main Galaxy tool sheds. Thanks for reporting this >> issue. >> >> >> Greg Von Kuster >> >> >> >> On Oct 23, 2013, at 11:34 AM, S.D. Hiltemann >> <s.hiltemann@erasmusmc.nl> wrote: >> >>> I updated my Galaxies to the latest version today, and when I try to >>> install a toolshed repository which defines an environment variable >>> via the <set_environment> tags in the tool_dependencies.xml file, I >>> get an error (see below). >>> >>> tool_dependencies.xml: >>> >>> <?xml version="1.0"?> >>> <tool_dependency> >>> <set_environment version="1.0"> >>> <environment_variable name="CONDEL_SCRIPT_PATH" >>> action="set_to">$REPOSITORY_INSTALL_DIR</environment_variable> >>> </set_environment> >>> </tool_dependency> >>> >>> (before the update these repositories installed without problems) >>> >>> ..doing the same as an action within a package dependency does still >>> work, so for now I have just changed the tools I needed to set the >>> environment this way, e.g.: >>> >>> <tool_dependency> >>> <package name="condel" version="1"> >>> <install version="1.0"> >>> <actions> >>> <action type="set_environment"> >>> <environment_variable name="CONDEL_SCRIPT_PATH" >>> action="set_to">$REPOSITORY_INSTALL_DIR</environment_variable> >>> </action> >>> </actions> >>> </install> >>> <readme> >>> Set condel environment variable >>> </readme> >>> </package> >>> </tool_dependency> >>> >>> Is this the preferred way of doing it, and should I change all my >>> tools this way? or should both ways still be working? >>> >>> Saskia >>> >>> Error Traceback: >>> View as: Interactive | Text | XML (full) >>> ⇝ NameError: global name 'env_var_elem' is not defined >>> URL: http://galaxy.trait-ctmm.cloudlet.sara.nl/admin_toolshed/manage_tool_dependencies?repository_id=b847e822bdc195d0&operation=install >>> Module weberror.evalexception.middleware:364 in respond >>> view >>>>> app_iter = self.application(environ, detect_start_response) >>> >>> Module paste.recursive:84 in __call__ view >>>>> return self.application(environ, start_response) >>> >>> Module paste.httpexceptions:633 in __call__ view >>>>> return self.application(environ, start_response) >>> >>> Module galaxy.web.framework.base:132 in __call__ view >>>>> return self.handle_request( environ, start_response ) >>> >>> Module galaxy.web.framework.base:190 in handle_request view >>>>> body = method( trans, **kwargs ) >>> >>> Module galaxy.web.framework:229 in decorator view >>>>> return func( self, trans, *args, **kwargs ) >>> >>> Module galaxy.webapps.galaxy.controllers.admin_toolshed:757 in manage_tool_dependencies view >>>>> self.initiate_tool_dependency_installation( trans, tool_dependencies_for_installation ) >>> >>> Module galaxy.web.framework:229 in decorator view >>>>> return func( self, trans, *args, **kwargs ) >>> >>> Module galaxy.webapps.galaxy.controllers.admin_toolshed:433 in initiate_tool_dependency_installation view >>>>> tool_dependencies=tool_dependencies ) >>> >>> Module tool_shed.util.common_install_util:486 in handle_tool_dependencies view >>>>> env_var_name = env_var_elem.get( 'name', None ) >>> >>> NameError: global name 'env_var_elem' is not defined >>> >>> >>> >>> >>> ____________________________________________________________________ >>> From: S.D. Hiltemann >>> Sent: Friday, August 02, 2013 11:19 AM >>> To: galaxy-dev@lists.bx.psu.edu >>> Subject: Toolshed repository update error >>> >>> >>> >>> I am working on putting a tool into the toolshed. I have a bash >>> script wrapper. I uploaded the first version fine, but when I wanted >>> to upload a revision, some unwanted characters are inserted around >>> the revised function of my code (see bottom) ..the inserted "<<<<<< >>> local" etc strings are causing my script to fail of course. How can >>> I prevent this from happening? >>> >>> Saskia >>> >>> >>> snippet of the code: >>> >>> >>> if [[ ! -s $rfile ]] >>> then >>> dummycol=${addcols:2} >>> outputcol=${dummycol//",B."/" "} >>> <<<<<<< local >>> echo -e "${col_chr_name}\t${col_start_name}\t >>> ${col_end_name}\t${col_ref_name}\t${col_obs_name}\t$outputcol" > >>> $rfile >>> cat $rfile >>> ======= >>> numcommas=`echo "$addcols" | grep -o "," | wc -l` >>> echo "numcolums: $numcommas" >>> >>> awk 'BEGIN{FS="\t";OFS="\t"}{ >>> if(FNR==1) >>> print $0,"'"$outputcol"'"; >>> else{ >>> printf $0 >>> for(i=0;i<="'"$numcommas"'"+1;i++) >>> printf "\t" >>> printf "\n" >>> } >>> }END{}' $ofile > tempofile >>> >>> mv tempofile $ofile >>> >>> return >>>>>>>>>> other >>> fi >>> >>> >>> >>> ___________________________________________________________ >>> Please keep all replies on the list by using "reply all" >>> in your mail client. To manage your subscriptions to this >>> and other Galaxy lists, please use the interface at: >>> http://lists.bx.psu.edu/ >>> >>> To search Galaxy mailing lists use the unified search at: >>> http://galaxyproject.org/search/mailinglists/ >> >> >> ___________________________________________________________ >> Please keep all replies on the list by using "reply all" >> in your mail client. To manage your subscriptions to this >> and other Galaxy lists, please use the interface at: >> http://lists.bx.psu.edu/ >> >> To search Galaxy mailing lists use the unified search at: >> http://galaxyproject.org/search/mailinglists/ > > >
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/