Re: [MTT devel] [MTT svn] svn:mtt-svn r1319

2009-09-25 Thread Jeff Squyres
I'm not sure what you mean -- I thought they added a funclect, not a  
field...?


On Sep 24, 2009, at 3:09 PM, Ethan Mallove wrote:


I think on_stop should conform more to these params:

  after_each_exec
  before_any_exec
  after_all_exec

E.g.,

  before_mtt_start_exec
  after_mtt_start_exec

Then have &_process_get_value_option() call DoCommand. Note, DoCommand
is aware of hashbangs (see &_contains_shell_script_characters()), so
&shell_script() might be redundant.

-Ethan


On Thu, Sep/24/2009 07:46:40PM, Mike Dubman wrote:
>Hey Jeff,
>
>On Thu, Sep 24, 2009 at 4:02 PM, Jeff Squyres  
 wrote:

>
>  The DoCommand.pm sub added ":\n" to the beginning to force  
the Bourne

>  shell interpreter. *This is necessary for some cases where an
>  interpreter is not otherwise specified.
>
>Im not familiar with :\n semantics, how does it force Bourne  
shell and

>what it actually does :)? (seems like leftovers from 1960)
>I think when interpreter is not explicitly specified - the  
default user`s

>shell is used.
>see in the DoCommand::Cmd() . it check the buffer`s* first  
line for
>#!/... semantic and if found - saves buffer to file, adds +x  
perm,* and

>just executes it as a regular script.
>
>When I passed a buffer with shell commands but 1st line was not  
#!/bin/sh

>- it* failed with syntax errors.
>
>*
>
>  I see why you did it -- you want the ability to add your own  
interpreter
>  in &shell_script(). *Why not either make a parameter to add  
the ":\n" or
>  not, or better yet, have DoCommand.pm analyze the beginning  
of the
>  string and if it contains "^:\n" or "^#!", then don't add  
anything. *But
>  if it doesn't contain either of those, then prefix it with ": 
\n".*

>
>  How does that sound?
>
>sounds good!
>
>  Also, is "&shell_script()" a good name? *If you can specify  
your own
>  interpreter, it might not be a shell script. *How about  
&executable()?

>
>ok - &executable() it will be!
>*
>
>regards
>
>Mike
>
>  On Sep 24, 2009, at 8:06 AM, mi...@osl.iu.edu wrote:
>
>Author: miked
>Date: 2009-09-24 08:06:04 EDT (Thu, 24 Sep 2009)
>New Revision: 1319
>URL: https://svn.open-mpi.org/trac/mtt/changeset/1319
>
>Log:
>bug fix: CmdScript() - no need to add extra chars "\n:" to  
the start

>of shell script file
>new funclet: shell_script(section,param)
>
>Text files modified:
>*trunk/lib/MTT/DoCommand.pm * * * *| * * 2 +-
>*trunk/lib/MTT/Values/Functions.pm | * *19 + 
++

>*2 files changed, 20 insertions(+), 1 deletions(-)
>
>Modified: trunk/lib/MTT/DoCommand.pm
> 
= 
= 
= 
= 
= 
= 
= 
= 
==

>--- trunk/lib/MTT/DoCommand.pm *(original)
>+++ trunk/lib/MTT/DoCommand.pm *2009-09-24 08:06:04 EDT  
(Thu, 24 Sep

>2009)
>@@ -797,7 +797,7 @@
>* *$cmds =~ s/\"$//
>* * * *if ($cmds =~ s/^\"//);
>
>- * *print $fh ":\n$cmds\n";
>+ * *print $fh "$cmds\n";
>* *close($fh);
>* *chmod(0700, $filename);
>
>Modified: trunk/lib/MTT/Values/Functions.pm
> 
= 
= 
= 
= 
= 
= 
= 
= 
==

>--- trunk/lib/MTT/Values/Functions.pm * (original)
>+++ trunk/lib/MTT/Values/Functions.pm * 2009-09-24 08:06:04  
EDT (Thu,

>24 Sep 2009)
>@@ -3026,4 +3026,23 @@
>* *return md5_hex($str);
>}
>
>+# Run shell commands as a script, i.e
>+#
>+# [mtt]
>+# myscript=<+# #!/bin/sh
>+# pwd
>+# ls
>+# EOT
>+# on_stop=&shell_script("mtt",myscript)
>+#
>+#
>+
>+sub shell_script {
>+ * * * my ($cmd_section, $cmd_param) = @_;
>+ * * * my $cmd = &get_ini_val($cmd_section, $cmd_param);
>+ * * * my $x = MTT::DoCommand::CmdScript(1, $cmd);
>+ * * * return $x->{result_stdout};
>+}
>+
>1;
>___
>mtt-svn mailing list
>mtt-...@open-mpi.org
>http://www.open-mpi.org/mailman/listinfo.cgi/mtt-svn
>
>  --
>  Jeff Squyres
>  jsquy...@cisco.com
>
>  ___
>  mtt-devel mailing list
>  mtt-de...@open-mpi.org
>  http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel
>
> References
>
>Visible links
>. mailto:jsquy...@cisco.com
>. mailto:mi...@osl.iu.edu
>. https://svn.open-mpi.org/trac/mtt/changeset/1319
>. mailto:mtt-...@open-mpi.org
>. http://www.open-mpi.org/mailman/listinfo.cgi/mtt-svn
>. mailto:jsquy...@cisco.com
>. mailto:mtt-de...@open-mpi.org
>. http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel

>

Re: [MTT devel] [MTT svn] svn:mtt-svn r1319

2009-09-25 Thread Jeff Squyres

On Sep 24, 2009, at 12:46 PM, Mike Dubman wrote:

Im not familiar with :\n semantics, how does it force Bourne shell  
and what it actually does :)? (seems like leftovers from 1960)


Yes, it might be left over from 1960.  :-)  But the nice thing is that  
you then don't have to identify /bin/sh or /usr/bin/sh.  It's  
convenient and it works everywhere.


I think when interpreter is not explicitly specified - the default  
user`s shell is used.
see in the DoCommand::Cmd() . it check the buffer`s  first line  
for #!/... semantic and if found - saves buffer to file, adds +x  
perm,  and just executes it as a regular script.


I don't think that's universal, is it?

When I passed a buffer with shell commands but 1st line was not #!/ 
bin/sh - it  failed with syntax errors.


Right.  Try passing with ":" as the first line.  :-)

--
Jeff Squyres
jsquy...@cisco.com