summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md138
-rw-r--r--TODO.md7
2 files changed, 145 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..aa38c63
--- /dev/null
+++ b/README.md
@@ -0,0 +1,138 @@
+# GNU Savannah Evaluation Helpr Scripts
+
+## Intro
+
+This is a hodgepodge of script try to heuristically detect copyright and
+license statements, together with other requirements for GNU Savannah Hosting.
+
+Official Requirement list:
+ https://savannah.gnu.org/register/requirements.php
+
+Unofficial Expansions:
+ http://savannah.gnu.org/maintenance/HowToGetYourProjectApprovedQuickly/
+
+
+## Usage
+
+To check a local directory:
+
+ ./gsv-eval-local.sh Project-Name DIRECTORY
+
+To check a remote repository:
+
+ ./gsv-eval-remote.sh output.html 'GNU Hello' \
+ http://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz
+
+
+## Required software for the scripts
+
+ apt-get install git pandoc
+
+NOTE: Pandoc>-1.12 is required.
+
+## Required software for the website
+
+ apt-get install lighttpd python python-dev python-pip redis-server
+ pip install flask
+ pip install rq
+ pip install gunicorn
+ pip install requests
+
+## Website setup
+
+ # Evaluation results will be stored here
+ sudo mkdir /var/lib/gsv-eval
+ # logs will be stored here
+ sudo mkdir /var/log/gsv-eval
+
+ # GSV-Eval python+workers likely running as 'www-data'.
+ # (if not, change start-up scripts)
+ sudo chown www-data:www-data /var/lib/gsv-eval /var/log/gsv-eval
+ # For debugging, If needed
+ sudo chmod g+w /var/lib/gsv-eval /var/log/gsv-eval
+
+## Testing website manually
+
+Open one terminal, and run:
+
+ $ cd ./website
+ $ python gsv_eval_flask.py
+ * Running on http://0.0.0.0:5105/
+ * Restarting with reloader
+
+Open a second terminal, and run:
+
+ $ cd ./website
+ $ LC_ALL=C rqworker
+ 19:39:05 RQ worker started, version 0.4.6
+ 19:39:05
+ 19:39:05 *** Listening on default...
+
+Now visit the website (at <http://0.0.0.0.5105>) and submit a new job.
+
+The output of `rqworker` should show the result of the evaluation.
+
+The results should be stored in `/var/lib/gsv-eval/*.html`.
+
+## Running website
+
+Start the web frontend (it's a webserver listening on 127.0.0.1:5105):
+
+ sudo ./website/gsv-eval-web.sh start
+
+Start the backend:
+
+ sudo ./website/gsv-eval-worker.sh start
+
+To check status:
+
+ ./website/gnu-eval-web.sh status
+ ./website/gnu-eval-worker.sh status
+
+To stop:
+
+ sudo ./website/gsv-eval-web.sh stop
+ sudo ./website/gsv-eval-worker.sh stop
+
+To monitor logs:
+
+ tail -f /var/log/gsv-eval/*.log
+
+PID files stored in:
+
+ /var/run/gsv-eval/*.pid
+
+## Configure Apache front-end
+
+```
+##
+## Configuration for GNU-Savannah Evaluation website.
+##
+<VirtualHost *:80>
+ ServerAdmin webmaster@localhost
+ ServerName gnueval.housegordon.org
+
+ ProxyRequests Off
+ ProxyPass / http://127.0.0.1:5105/
+
+ ErrorLog ${APACHE_LOG_DIR}/gnueval.error.log
+ LogLevel warn
+ CustomLog ${APACHE_LOG_DIR}/gnueval.access.log combined
+</VirtualHost>
+
+```
+
+## Configure Lighttpd front-end
+
+```
+$HTTP["host"] == "gnueval.housegordon.org" {
+ accesslog.filename = "/var/log/lighttpd/gnueval.access.log"
+ proxy.server = ("" => (( "host" => "127.0.0.1", "port" => 5105)))
+}
+
+```
+## License
+
+Copyright (C) 2014 Assaf Gordon (assafgordon@gmail.com)
+
+The scripts are licensed under GPLv3-or-later.
diff --git a/TODO.md b/TODO.md
new file mode 100644
index 0000000..db3397a
--- /dev/null
+++ b/TODO.md
@@ -0,0 +1,7 @@
+* combine gsv-eval-local.sh with gsv-eval-remote.sh
+* gsv-eval-remote.sh:
+ * handle zip files
+ * handle redirections
+ * allow users to specify custom tarball size limit (or no limit)
+ * download from http://codeload.github.com despite not supporting HEAD?
+ * don't delete temp directory (debugging option)