arvados-cli 0.1.20150522214217 → 0.1.20150526143156
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/crunch-job +43 -16
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df49631b2b1c7ae33eb0d5d9e988e50a2fc0a311
|
4
|
+
data.tar.gz: fe0a40bf178a62a8518fec9c8ca699188d2a8d32
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 59df31ffb182cdcc78b960b8ba439bed2f8b2d916d740ace0b92eb76a3de96169c193de30e3cedfb14e0df96cdda9a4eea32562735ff509f4e9a6b273028d1bb
|
7
|
+
data.tar.gz: b2afa69c6273326c575cc6e3c4a8c166c544288cb4d90eb6709ae813b69c953e4fad3aa6444797cba3f7318e3c6304f63afa8b198c635199c94a8422b28d5d65
|
data/bin/crunch-job
CHANGED
@@ -598,19 +598,42 @@ else {
|
|
598
598
|
"mkdir -p $ENV{CRUNCH_INSTALL} && cd $ENV{CRUNCH_TMP} && perl -");
|
599
599
|
|
600
600
|
$ENV{"CRUNCH_GIT_ARCHIVE_HASH"} = md5_hex($git_archive);
|
601
|
+
my ($install_stderr_r, $install_stderr_w);
|
602
|
+
pipe $install_stderr_r, $install_stderr_w or croak("pipe() failed: $!");
|
603
|
+
set_nonblocking($install_stderr_r);
|
601
604
|
my $installpid = fork();
|
602
605
|
if ($installpid == 0)
|
603
606
|
{
|
607
|
+
close($install_stderr_r);
|
608
|
+
fcntl($install_stderr_w, F_SETFL, 0) or croak($!); # no close-on-exec
|
609
|
+
open(STDOUT, ">&", $install_stderr_w);
|
610
|
+
open(STDERR, ">&", $install_stderr_w);
|
604
611
|
srun (\@srunargs, \@execargs, {}, $build_script . $git_archive);
|
605
612
|
exit (1);
|
606
613
|
}
|
607
|
-
|
608
|
-
|
609
|
-
|
614
|
+
close($install_stderr_w);
|
615
|
+
my $stderr_buf = '';
|
616
|
+
while ($installpid != waitpid(-1, WNOHANG)) {
|
610
617
|
freeze_if_want_freeze ($installpid);
|
611
|
-
|
618
|
+
# Wait up to 0.1 seconds for something to appear on stderr, then
|
619
|
+
# do a non-blocking read.
|
620
|
+
my $bits = fhbits($install_stderr_r);
|
621
|
+
select ($bits, undef, $bits, 0.1);
|
622
|
+
if (0 < sysread ($install_stderr_r, $stderr_buf, 8192, length($stderr_buf)))
|
623
|
+
{
|
624
|
+
while ($stderr_buf =~ /^(.*?)\n/) {
|
625
|
+
my $line = $1;
|
626
|
+
substr $stderr_buf, 0, 1+length($line), "";
|
627
|
+
Log(undef, "stderr $line");
|
628
|
+
}
|
629
|
+
}
|
612
630
|
}
|
613
631
|
my $install_exited = $?;
|
632
|
+
close($install_stderr_r);
|
633
|
+
if (length($stderr_buf) > 0) {
|
634
|
+
Log(undef, "stderr $stderr_buf")
|
635
|
+
}
|
636
|
+
|
614
637
|
Log (undef, "Install script exited ".exit_status_s($install_exited));
|
615
638
|
foreach my $tar_filename (map { tar_filename_n($_); } (1..$git_tar_count)) {
|
616
639
|
unlink($tar_filename);
|
@@ -700,9 +723,8 @@ for (my $todo_ptr = 0; $todo_ptr <= $#jobstep_todo; $todo_ptr ++)
|
|
700
723
|
next;
|
701
724
|
}
|
702
725
|
|
703
|
-
pipe $reader{$id}, "writer" or croak
|
704
|
-
|
705
|
-
fcntl ($reader{$id}, F_SETFL, $flags | O_NONBLOCK) or croak ($!);
|
726
|
+
pipe $reader{$id}, "writer" or croak("pipe() failed: $!");
|
727
|
+
set_nonblocking($reader{$id});
|
706
728
|
|
707
729
|
my $childslot = $freeslot[0];
|
708
730
|
my $childnode = $slot[$childslot]->{node};
|
@@ -1862,6 +1884,12 @@ sub combined_git_archive {
|
|
1862
1884
|
return $tar_contents;
|
1863
1885
|
}
|
1864
1886
|
|
1887
|
+
sub set_nonblocking {
|
1888
|
+
my $fh = shift;
|
1889
|
+
my $flags = fcntl ($fh, F_GETFL, 0) or croak ($!);
|
1890
|
+
fcntl ($fh, F_SETFL, $flags | O_NONBLOCK) or croak ($!);
|
1891
|
+
}
|
1892
|
+
|
1865
1893
|
__DATA__
|
1866
1894
|
#!/usr/bin/perl
|
1867
1895
|
#
|
@@ -1895,6 +1923,9 @@ my $install_dir = $ENV{"CRUNCH_INSTALL"} || (getcwd() . "/opt");
|
|
1895
1923
|
my $job_work = $ENV{"JOB_WORK"};
|
1896
1924
|
my $task_work = $ENV{"TASK_WORK"};
|
1897
1925
|
|
1926
|
+
open(STDOUT_ORIG, ">&", STDOUT);
|
1927
|
+
open(STDERR_ORIG, ">&", STDERR);
|
1928
|
+
|
1898
1929
|
for my $dir ($destdir, $job_work, $task_work) {
|
1899
1930
|
if ($dir) {
|
1900
1931
|
make_path $dir;
|
@@ -1906,11 +1937,6 @@ if ($task_work) {
|
|
1906
1937
|
remove_tree($task_work, {keep_root => 1});
|
1907
1938
|
}
|
1908
1939
|
|
1909
|
-
open(STDOUT_ORIG, ">&", STDOUT);
|
1910
|
-
open(STDERR_ORIG, ">&", STDERR);
|
1911
|
-
open(STDOUT, ">>", "$destdir.log");
|
1912
|
-
open(STDERR, ">&", STDOUT);
|
1913
|
-
|
1914
1940
|
### Crunch script run mode
|
1915
1941
|
if (@ARGV) {
|
1916
1942
|
# We want to do routine logging during task 0 only. This gives the user
|
@@ -1971,10 +1997,6 @@ if (@ARGV) {
|
|
1971
1997
|
}
|
1972
1998
|
}
|
1973
1999
|
|
1974
|
-
close(STDOUT);
|
1975
|
-
close(STDERR);
|
1976
|
-
open(STDOUT, ">&", STDOUT_ORIG);
|
1977
|
-
open(STDERR, ">&", STDERR_ORIG);
|
1978
2000
|
exec(@ARGV);
|
1979
2001
|
die "Cannot exec `@ARGV`: $!";
|
1980
2002
|
}
|
@@ -2034,6 +2056,11 @@ if ((-d $python_dir) and can_run("python2.7") and
|
|
2034
2056
|
close($pysdk_cfg);
|
2035
2057
|
}
|
2036
2058
|
|
2059
|
+
# Hide messages from the install script (unless it fails: shell_or_die
|
2060
|
+
# will show $destdir.log in that case).
|
2061
|
+
open(STDOUT, ">>", "$destdir.log");
|
2062
|
+
open(STDERR, ">&", STDOUT);
|
2063
|
+
|
2037
2064
|
if (-e "$destdir/crunch_scripts/install") {
|
2038
2065
|
shell_or_die (undef, "$destdir/crunch_scripts/install", $install_dir);
|
2039
2066
|
} elsif (!-e "./install.sh" && -e "./tests/autotests.sh") {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: arvados-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.20150526143156
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arvados Authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: arvados
|
@@ -178,7 +178,7 @@ dependencies:
|
|
178
178
|
- - "<"
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: 1.0.0
|
181
|
-
description: Arvados command line tools, git commit
|
181
|
+
description: Arvados command line tools, git commit 9b67268ff45d2a552d21fa39f5086180f537ab4a
|
182
182
|
email: gem-dev@curoverse.com
|
183
183
|
executables:
|
184
184
|
- arv
|