From f10795da3aab3e2efb08144f829fc35227a3ba72 Mon Sep 17 00:00:00 2001 From: Nishi Date: Wed, 2 Oct 2024 00:56:50 +0000 Subject: [PATCH] stuff git-svn-id: file:///raid/svn-personal/koakuma/trunk@11 219d0f9c-2d94-d447-890a-813e76b88fe9 --- Makefile | 3 +++ README | 1 + Tool/create-project.in | 18 ++++-------------- Utility/rpc.tcl | 16 ++++++++++++++++ koakuma.cgi.in | 16 ++++++++++++++++ 5 files changed, 40 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index f0c60d5..fb06220 100644 --- a/Makefile +++ b/Makefile @@ -13,6 +13,7 @@ install: Component/* Tool/* Utility/* koakuma.cgi.in apache.conf.in mkdir -p $(PREFIX)/lib/koakuma/cgi-bin/ mkdir -p $(PREFIX)/bin/ mkdir -p $(PREFIX)/lib/koakuma/db + mkdir -p $(PREFIX)/lib/koakuma/db/data if [ ! -e "$(PREFIX)/lib/koakuma/db/projects.db" ] ; then echo "" > $(PREFIX)/lib/koakuma/db/projects.db ; fi cp -rf Component/* $(PREFIX)/lib/koakuma/component/ cp -rf Utility/* $(PREFIX)/lib/koakuma/utility/ @@ -27,5 +28,7 @@ install: Component/* Tool/* Utility/* koakuma.cgi.in apache.conf.in chmod +x $(PREFIX)/bin/launch-job @echo @echo Make sure $(PREFIX)/lib/koakuma/db is writable by your HTTPd user. + @echo Assuming your HTTPd user is www, just run: chmod -R www $(PREFIX)/lib/koakuma/db + @echo @echo By default, Koakuma stock Apache config uses $(PREFIX)/etc/koakuma/passwd @echo for RPC authentication. diff --git a/README b/README index e82c27a..f332315 100644 --- a/README +++ b/README @@ -4,3 +4,4 @@ Requires: - Tcllib - tDOM: https://wiki.tcl-lang.org/page/tDOM - tcl-tls if you want HTTPs for RPC. + - TclX diff --git a/Tool/create-project.in b/Tool/create-project.in index 5c6577c..a464d25 100644 --- a/Tool/create-project.in +++ b/Tool/create-project.in @@ -14,20 +14,8 @@ foreach arg $argv { foreach path [glob "@@PREFIX@@/lib/koakuma/utility/*.tcl"] { source $path } -puts -nonewline "Authentication: " -set status [::rpc::require-auth] -if { $status == 1 } { - puts "Required" - if { ![::rpc::ask-auth] } { - puts "Authentication failure" - exit 1 - } -} elseif { $status < 0 } { - puts "Got forbidden, cannot continue" - exit 1 -} else { - puts "Not required" -} + +::rpc::init dom createNodeCmd -tagName "name" -jsonType NONE elementNode keyName dom createNodeCmd -tagName "description" -jsonType NONE elementNode keyDescription @@ -48,6 +36,8 @@ proc ask_for {show var} { ask_for "Name" name ask_for "Description" description ask_for "VCS" vcs +puts "Example URL for CVS: pserver://anon:@cvs.nishi.boats/cvs/nishi@tewi" +puts "Example URL for CVS: ssh://anoncvs:anoncvs@cvs.nishi.boats/cvs/nishi@tewi" ask_for "VCS URL" url $doc appendFromScript { diff --git a/Utility/rpc.tcl b/Utility/rpc.tcl index 5168b6d..7fff1b8 100644 --- a/Utility/rpc.tcl +++ b/Utility/rpc.tcl @@ -73,4 +73,20 @@ namespace eval rpc { lappend result "$body" return $result } + proc init {} { + puts -nonewline "Authentication: " + set status [::rpc::require-auth] + if { $status == 1 } { + puts "Required" + if { ![::rpc::ask-auth] } { + puts "Authentication failure" + exit 1 + } + } elseif { $status < 0 } { + puts "Got forbidden, cannot continue" + exit 1 + } else { + puts "Not required" + } + } } diff --git a/koakuma.cgi.in b/koakuma.cgi.in index 0f54d99..e7ee481 100644 --- a/koakuma.cgi.in +++ b/koakuma.cgi.in @@ -370,6 +370,7 @@ if { [catch { } } write_db "[$xmldoc asXML]" + file mkdir "@@PREFIX@@/lib/koakuma/db/data/$projname" close_projects } } @@ -393,6 +394,21 @@ if { [catch { if { "$has_project" != "" } { add_toc "Description" tputs "[html_escape "$has_project"]" + add_toc "Details" + tputs "" + tputs " " + tputs " " + tputs " " + tputs " " + tputs "
" + tputs " Last run" + tputs " " + if { [file exists "@@PREFIX@@/lib/koakuma/db/data/$projname/lastrun"] } { + } else { + tputs "Was never ran" + } + tputs " " + tputs "
" rputs "" start_html "Project: $projname" 1 -- 2.45.2