Module: tools
Branch: master
Commit: 8eb5441f28f368ad4b485898ff9f854023dfca7a
URL: http://source.winehq.org/git/tools.git/?a=commit;h=8eb5441f28f368ad4b485898…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Thu Oct 4 15:03:22 2012 +0200
testbot/doc: Update the installation instructions for WineHQ.
---
testbot/doc/INSTALL.txt | 80 +++++++++++++++++------------------
testbot/doc/vhost_winetestbot.conf | 12 +++---
testbot/lib/WineTestBot/Config.pm | 6 +-
testbot/lib/startup.pl | 2 +-
4 files changed, 49 insertions(+), 51 deletions(-)
diff --git a/testbot/doc/INSTALL.txt b/testbot/doc/INSTALL.txt
index f6ef966..7113c9a 100644
--- a/testbot/doc/INSTALL.txt
+++ b/testbot/doc/INSTALL.txt
@@ -28,29 +28,28 @@ Apache setup:
perl.load symbolic link in /etc/apache2/mods-enabled.
General setup for the web site:
-- Create a new system group 'winetest' and a system user 'winetest',
- make sure to make user winetest a member of group winetest.
-- Unpack the WineTestBot source to /usr/lib/winetestbot (so this
- document should be available as /usr/lib/winetestbot/doc/INSTALL.txt).
-- Create directory /var/lib/winetestbot, create subdirs 'jobs',
- 'latest', 'socket' and 'staging' within this dir. Set owner/group to
- winetest/winetest for jobs, latest, socket, but set owner/group to
- wwwrun/winetest for staging (where 'wwwrun' is the account your apache
- server runs under). Run:
- mkdir /var/lib/winetestbot
- cd /var/lib/winetestbot
+- Create a new system group 'winehq' and a system user 'winehq',
+ make sure to make user winehq a member of group winehq.
+- Clone Wine's tools repository to $HOME/tools (so this document
+ should be available as $HOME/tools/testbot/doc/INSTALL.txt).
+- Create directory $HOME/tools/testbot/var, create subdirs
+ 'jobs', 'latest', 'socket' and 'staging' and a file called log within this
+ directory. Set owner/group to wwwrun/winehq for staging (where 'wwwrun' is
+ the account your apache server runs under). Run:
+ cd $HOME/tools/testbot
+ mkdir var
+ cd var
+ touch log
mkdir jobs latest patches socket staging
- chown winetest:winetest jobs latest socket
- chown WWWRUN:winetest staging
+ sudo chown WWWRUN:winehq staging
chmod g+w *
-- Create an empty logfile /var/log/winetestbot/log and make it writable
- to group winetest.
- mkdir /var/log/winetestbot
- touch /var/log/winetestbot/log
- chgrp winetest /var/log/winetestbot/log
- chmod g+w /var/log/winetestbot/log
-- Install scripts/initd in /etc/init.d/winetestbot and activate it (on
- OpenSUSE: "chkconfig winetestbot on", "service winetestbot start").
+- If the installation path is different from the default, then some paths
+ in the following files will need to be modified:
+ testbot/lib/startup.pl
+ testbot/scripts/CheckWineTestBot.pl
+- Install scripts/initd in /etc/init.d/winetestbot and adjust the paths and
+ user name if necessary. Then activate it.
+ (typically "chkconfig winetestbot on" or "service winetestbot start")
- Copy lib/WineTestBot/ConfigLocalTemplate.pl to
lib/WineTestBot/ConfigLocal.pl and fill in the options for your site.
- Restart Apache, you should now be able to browse to the home page.
@@ -68,10 +67,10 @@ General setup for the web site:
Janitorial tasks:
- Run the Janitor.pl script once per day to perform the janitorial
tasks. For instance:
- 17 30 * * * /usr/lib/winetestbot/bin/Janitor.pl
+ 17 30 * * * /home/winehq/tools/testbot/bin/Janitor.pl
- Run the CheckWineTestBot.pl script periodically to get notified in
case the WineTestBot server dies. For instance:
- * 5 * * * /usr/lib/winetestbot/scripts/CheckWineTestBot.pl
+ * 5 * * * /home/winehq/tools/testbot/scripts/CheckWineTestBot.pl
Setup for Wine's patches site:
- See http://source.winehq.org/patches/ for reference.
@@ -90,15 +89,15 @@ Setup for Wine's patches site:
and send that email address to the patches maintainer.
- Arrange for the PatchNotificationHandler.pl script to be fed the
notification emails. One way to do so would be to use procmail and
- add the following lines to the .procmailrc file:
+ add the following lines to the $HOME/.procmailrc file:
:0:
* ^Subject: New patches available at
- | /usr/lib/winetestbot/bin/PatchNotificationHandler.pl
+ | $HOME/tools/testbot/bin/PatchNotificationHandler.pl
Setup for Winetest updates:
- Use a cron job to run CheckForWinetestUpdate.pl periodically. For
instance:
- * 0 * * * /usr/lib/winetestbot/scripts/CheckForWinetestUpdate.pl
+ * 0 * * * /home/winehq/tools/testbot/scripts/CheckForWinetestUpdate.pl
Setup for wine-patches:
- FIXME: WineTestBot now expects to receive the patches to test from
@@ -108,14 +107,14 @@ Setup for wine-patches:
skipped.
- Arrange for the WinePatchesHandler.pl script to be fed the
wine-patches emails. One way to do so would be to subscribe the
- winetest user to the wine-patches mailing list and to then add the
+ winehq user to the wine-patches mailing list and to then add the
following lines to the .procmailrc file:
:0:
* ^List-Id: Wine Patch Submissions
- | /usr/lib/winetestbot/bin/WinePatchesHandler.pl
+ | $HOME/tools/testbot/bin/WinePatchesHandler.pl
- Or if you have a set of patches to test in the mbox format you can
test with:
- formail -s /usr/lib/winetestbot/bin/WinePatchesHandler.pl <mbox-file
+ formail -s $HOME/tools/testbot/bin/WinePatchesHandler.pl <mbox-file
2. VM hosts setup
@@ -130,19 +129,18 @@ Dependencies:
- Create a Linux VM and set it up so it can generate PE executables
with MinGW. For instance on Debian you should install autoconf,
- bison, flex, gcc, gcc-mingw-w64, git and make. If you are going to have
- 64bit VMs then make sure MinGW can generate 64bit PE executables.
+ bison, flex, gcc, gcc-mingw-w64, git and make. If you are going to
+ have 64bit VMs then make sure MinGW can generate 64bit PE executables.
- Install netcat.
-- Create a new system group 'winetest' and a system user 'winetest',
- make sure to make user winetest a member of group winetest.
-- Unpack winetestbot source to /usr/lib/winetestbot (so this document
- should be available as /usr/lib/winetestbot/doc/INSTALL.txt).
-- Create the /var/lib/winetestbot and /var/log/winetestbot directories
- and make them writable to group winetest.
- mkdir /var/log/winetestbot /var/lib/winetestbot
- chgrp winetest /var/log/winetestbot /var/lib/winetestbot
- chmod g+w /var/log/winetestbot /var/lib/winetestbot
-- Clone the Wine git repository to /var/lib/winetestbot/wine-git.
+- Create a new system group 'winehq' and a system user 'winehq',
+ make sure to make user winehq a member of group winehq.
+- Clone Wine's tools repository to $HOME/tools (so this document
+ should be available as $HOME/tools/testbot/doc/INSTALL.txt).
+- Create the $HOME/tools/testbot/var and $HOME/tools/testbot/log
+ directories and make them writable to group winehq.
+ mkdir $HOME/tools/testbot/var $HOME/tools/testbot/log
+ chmod g+w $HOME/tools/testbot/var $HOME/tools/testbot/log
+- Clone the Wine git repository to $HOME/tools/testbot/var/wine-git.
- Take a snapshot of the running VM. Make sure restoring this snapshot
will result in a running build VM.
- Register this VM as a build VM on the web site.
diff --git a/testbot/doc/vhost_winetestbot.conf b/testbot/doc/vhost_winetestbot.conf
index 55061d9..ca55933 100644
--- a/testbot/doc/vhost_winetestbot.conf
+++ b/testbot/doc/vhost_winetestbot.conf
@@ -1,13 +1,13 @@
<VirtualHost *:80>
- DocumentRoot /usr/lib/winetestbot/web/
+ DocumentRoot /home/winehq/tools/testbot/web/
ServerName winetestbot.example.com
ServerAdmin winetestbot(a)example.com
- PerlRequire /usr/lib/winetestbot/lib/startup.pl
+ PerlRequire /home/winehq/tools/testbot/lib/startup.pl
PerlSwitches -Tw
- <Directory /usr/lib/winetestbot/web>
+ <Directory /home/winehq/tools/testbot/web>
AddHandler perl-script .pl
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
@@ -22,7 +22,7 @@
</VirtualHost>
<VirtualHost 192.168.0.1:443>
- DocumentRoot /usr/lib/winetestbot/web/
+ DocumentRoot /home/winehq/tools/testbot/web/
ServerName winetestbot.example.com
ServerAdmin winetestbot(a)example.com
@@ -31,10 +31,10 @@
SSLCertificateFile /etc/apache2/ssl.crt/winetestbot.example.com.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/winetestbot.example.com.key
- PerlRequire /usr/lib/winetestbot/lib/startup.pl
+ PerlRequire /home/winehq/tools/testbot/lib/startup.pl
PerlSwitches -Tw
- <Directory /usr/lib/winetestbot/web>
+ <Directory /home/winehq/tools/testbot/web>
AddHandler perl-script .pl
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
diff --git a/testbot/lib/WineTestBot/Config.pm b/testbot/lib/WineTestBot/Config.pm
index df40a0c..f547a64 100644
--- a/testbot/lib/WineTestBot/Config.pm
+++ b/testbot/lib/WineTestBot/Config.pm
@@ -50,9 +50,9 @@ require Exporter;
$JobArchiveDays $WebHostName);
@EXPORT_OK = qw($DbDataSource $DbUsername $DbPassword);
-$LogDir = "/var/log/winetestbot";
-$DataDir = "/var/lib/winetestbot";
-$BinDir = "/usr/lib/winetestbot/bin";
+$LogDir = "/home/winehq/tools/testbot/var";
+$DataDir = "/home/winehq/tools/testbot/var";
+$BinDir = "/home/winehq/tools/testbot/bin";
$MaxRevertingVMs = 1;
$MaxRunningVMs = 2;
diff --git a/testbot/lib/startup.pl b/testbot/lib/startup.pl
index 1016447..ca67505 100644
--- a/testbot/lib/startup.pl
+++ b/testbot/lib/startup.pl
@@ -16,7 +16,7 @@
use strict;
-use lib qw(/usr/lib/winetestbot/lib);
+use lib qw(/home/winehq/tools/testbot/lib);
use ObjectModel::CGI::Page;
use WineTestBot::CGI::PageBase;