Module: tools Branch: master Commit: 8eb5441f28f368ad4b485898ff9f854023dfca7a URL: http://source.winehq.org/git/tools.git/?a=commit;h=8eb5441f28f368ad4b485898f...
Author: Francois Gouget fgouget@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@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@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;