From 490d4109b9b5b5a777475a880bf7b5ee14d17959 Mon Sep 17 00:00:00 2001 From: Mercier Pierre-Olivier Date: Sun, 3 Nov 2013 00:52:15 +0100 Subject: [PATCH 1/6] No ref.ft require for ref --- process/files/moulette_get.pl | 1 + 1 file changed, 1 insertion(+) diff --git a/process/files/moulette_get.pl b/process/files/moulette_get.pl index 125b757..fdd7568 100644 --- a/process/files/moulette_get.pl +++ b/process/files/moulette_get.pl @@ -200,6 +200,7 @@ sub run_moulette copy("$filesdir/$login.ff", "$workdir/$login.ff") or croak "Cannont copy $login.ff"; + next if ($login eq "ref" && ! -f "$workdir/$login.ft"); croak "Unable to find a relevant $login.ft, abort moulette start." if (! -f "$workdir/$login.ft"); log WARN, "There is no ref for $project_id $rendu" if (! -f "$filesdir/ref.ff"); From 731ca526f61add882ce0d1359ac76d4b84928e64 Mon Sep 17 00:00:00 2001 From: Mercier Pierre-Olivier Date: Sun, 3 Nov 2013 00:57:58 +0100 Subject: [PATCH 2/6] Add log --- process/files/moulette_get.pl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/process/files/moulette_get.pl b/process/files/moulette_get.pl index fdd7568..9e8d29b 100644 --- a/process/files/moulette_get.pl +++ b/process/files/moulette_get.pl @@ -100,6 +100,8 @@ sub receive_std my $file = $args->{param}{file}; my $login = $args->{param}{login} // "ref"; + log INFO, "Receiving student tarball: $login, for $year-$project_id-$rendu"; + croak "No file named '$file' given" if (!exists $args->{files}{$file}); my $tempdir = tempdir(DIR => '/data/tmp'); From edcb3adf6dddf99291698c0a4cb89ba18fb2d74d Mon Sep 17 00:00:00 2001 From: Mercier Pierre-Olivier Date: Sun, 3 Nov 2013 01:01:25 +0100 Subject: [PATCH 3/6] Fix for FreeBSD --- process/launch.sh | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/process/launch.sh b/process/launch.sh index 84796de..41b2d43 100755 --- a/process/launch.sh +++ b/process/launch.sh @@ -55,12 +55,22 @@ fi if [ "$ACTION" = "stop" ] || [ "$ACTION" = "restart" ] then # Kill old liblersorf screen sessions - echo "$SCREEN -ls" | $SU intradmin | $GREP '[0-9]+\.lerdorf_[a-zA-Z0-9_-]+' | - while read LINE - do - SNAME=`echo $LINE | $SED "s/^[^0-9]*([0-9]+\.[^ \t]+).*$/\1/"` - echo "$SCREEN -S \"$SNAME\" -X kill" | $SU intradmin - done + if [ "$HOSTNAME" = "ksh" ] + then + $SCREEN -ls | $GREP '[0-9]+\.lerdorf_[a-zA-Z0-9_-]+' | + while read LINE + do + SNAME=`echo $LINE | $SED "s/^[^0-9]*([0-9]+\.[^ \t]+).*$/\1/"` + $SCREEN -S "$SNAME" -X kill + done + else + echo "$SCREEN -ls" | $SU intradmin | $GREP '[0-9]+\.lerdorf_[a-zA-Z0-9_-]+' | + while read LINE + do + SNAME=`echo $LINE | $SED "s/^[^0-9]*([0-9]+\.[^ \t]+).*$/\1/"` + echo "$SCREEN -S \"$SNAME\" -X kill" | $SU intradmin + done + fi fi From 6d9af44499311033f6a4a4cd82e562cf76963c68 Mon Sep 17 00:00:00 2001 From: Mercier Pierre-Olivier Date: Sun, 3 Nov 2013 01:06:51 +0100 Subject: [PATCH 4/6] FreeBSD ... --- process/launch.sh | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/process/launch.sh b/process/launch.sh index 41b2d43..8939c8a 100755 --- a/process/launch.sh +++ b/process/launch.sh @@ -57,12 +57,7 @@ then # Kill old liblersorf screen sessions if [ "$HOSTNAME" = "ksh" ] then - $SCREEN -ls | $GREP '[0-9]+\.lerdorf_[a-zA-Z0-9_-]+' | - while read LINE - do - SNAME=`echo $LINE | $SED "s/^[^0-9]*([0-9]+\.[^ \t]+).*$/\1/"` - $SCREEN -S "$SNAME" -X kill - done + killall screen else echo "$SCREEN -ls" | $SU intradmin | $GREP '[0-9]+\.lerdorf_[a-zA-Z0-9_-]+' | while read LINE From 4ba4f3499317bfff547e81383ad53abaee90ede9 Mon Sep 17 00:00:00 2001 From: Mercier Pierre-Olivier Date: Sun, 3 Nov 2013 01:15:49 +0100 Subject: [PATCH 5/6] Clone via ssh instead of filesystem --- process/files/send_git.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/process/files/send_git.pl b/process/files/send_git.pl index c262593..4c40c48 100644 --- a/process/files/send_git.pl +++ b/process/files/send_git.pl @@ -20,7 +20,7 @@ sub process my $rendu = $args->{param}{rendu}; my $login = $args->{param}{login}; - my $path = $args->{param}{path} // "/srv/git/repositories/$year/$project_id/$login.git"; + my $path = $args->{param}{path} // "ssh://git@localhost/$year/$project_id/$login.git"; croak "$path is not a valid path." if (! -d $path); From 61d523c7c37eb7d504ffb92c518542673d1dffbf Mon Sep 17 00:00:00 2001 From: Mercier Pierre-Olivier Date: Sun, 3 Nov 2013 01:18:58 +0100 Subject: [PATCH 6/6] Fix send_git --- hooks/submissions.pl | 2 +- process/files/send_git.pl | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hooks/submissions.pl b/hooks/submissions.pl index 95caeee..f264b05 100755 --- a/hooks/submissions.pl +++ b/hooks/submissions.pl @@ -111,7 +111,7 @@ if ($ref =~ m<^refs/tags/(.+)$>) "id" => $id_project, "rendu" => $tag, "login" => $repo_login, - "path" => $ENV{GL_REPO_BASE_ABS}."/".$ENV{GL_REPO}.".git", +# "path" => "ssh://git@localhost/".$ENV{GL_REPO}, }); }; if ($@) { diff --git a/process/files/send_git.pl b/process/files/send_git.pl index 4c40c48..351e04f 100644 --- a/process/files/send_git.pl +++ b/process/files/send_git.pl @@ -22,12 +22,12 @@ sub process my $path = $args->{param}{path} // "ssh://git@localhost/$year/$project_id/$login.git"; - croak "$path is not a valid path." if (! -d $path); - my $tempdir = tempdir(); qx/git clone -b '$rendu' '$path' '$tempdir'/; + croak "$path is not a valid repository." if (! $?); + my $tar; open my $fh, "tar -czf - -C '$tempdir' . |"; $tar .= $_ while(<$fh>);