about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorpunk <punk@libernaut>2021-04-29 16:11:04 +0100
committerpunk <punk@libernaut>2021-04-29 16:11:25 +0100
commit9bef2e2b7ea351b6b1cb490597356677db61ff34 (patch)
treec36ae24aa3c36f6c19284c7d4da7c25a620bfabf
parent6b5cf63d1987889e272643bf7eeb7725df856d11 (diff)
parent5e601f7ee14830ef645ee3d3b1bcdce7450a5ce3 (diff)
downloaddoc-9bef2e2b7ea351b6b1cb490597356677db61ff34.tar.gz
release 0.7.2 HEAD master
-rw-r--r--index.html2
-rw-r--r--linux/conf/X11/xinit/xinitrc (renamed from tools/conf/etc/X11/xinit/xinitrc)0
-rw-r--r--linux/conf/X11/xorg.conf.d/10-keyboard.conf (renamed from tools/conf/etc/X11/xorg.conf.d/10-keyboard.conf)0
-rw-r--r--linux/conf/X11/xorg.conf.d/50-synaptics.conf (renamed from tools/conf/etc/X11/xorg.conf.d/50-synaptics.conf)0
-rw-r--r--linux/conf/asound.conf (renamed from tools/conf/etc/asound.conf)0
-rw-r--r--linux/conf/dnsmasq.conf (renamed from tools/conf/etc/dnsmasq.conf)0
-rw-r--r--linux/conf/fonts/local.conf (renamed from tools/conf/etc/fonts/local.conf)0
-rw-r--r--linux/conf/gitweb.conf (renamed from tools/conf/etc/gitweb.conf)0
-rw-r--r--linux/conf/hosts.dnsmasq (renamed from tools/conf/etc/hosts.dnsmasq)0
-rw-r--r--linux/conf/logrotate.conf (renamed from tools/conf/etc/logrotate.conf)0
-rw-r--r--linux/conf/logrotate.d/fail2ban (renamed from tools/conf/etc/logrotate.d/fail2ban)0
-rw-r--r--linux/conf/logrotate.d/letsencrypt (renamed from tools/conf/etc/logrotate.d/letsencrypt)0
-rw-r--r--linux/conf/logrotate.d/lynis (renamed from tools/conf/etc/logrotate.d/lynis)0
-rw-r--r--linux/conf/logrotate.d/ntp (renamed from tools/conf/etc/logrotate.d/ntp)0
-rw-r--r--linux/conf/logrotate.d/postgresql (renamed from tools/conf/etc/logrotate.d/postgresql)0
-rw-r--r--linux/conf/logrotate.d/samhain (renamed from tools/conf/etc/logrotate.d/samhain)0
-rw-r--r--linux/conf/logrotate.d/shorewall (renamed from tools/conf/etc/logrotate.d/shorewall)0
-rw-r--r--linux/conf/logrotate.d/shorewall6 (renamed from tools/conf/etc/logrotate.d/shorewall6)0
-rw-r--r--linux/conf/nginx/conf.d/10-default.conf (renamed from tools/conf/etc/nginx/conf.d/10-default.conf)0
-rw-r--r--linux/conf/nginx/nginx.conf (renamed from tools/conf/etc/nginx/nginx.conf)0
-rw-r--r--linux/conf/nginx/sites-enabled/default.conf (renamed from tools/conf/etc/nginx/sites-enabled/default.conf)0
-rw-r--r--linux/conf/nginx/sites-enabled/email.conf (renamed from tools/conf/etc/nginx/sites-enabled/email.conf)0
-rw-r--r--linux/conf/nginx/sites-enabled/forum.conf (renamed from tools/conf/etc/nginx/sites-enabled/forum.conf)0
-rw-r--r--linux/conf/nginx/sites-enabled/frontpage.conf (renamed from tools/conf/etc/nginx/sites-enabled/frontpage.conf)0
-rw-r--r--linux/conf/nginx/sites-enabled/git.conf (renamed from tools/conf/etc/nginx/sites-enabled/git.conf)0
-rw-r--r--linux/conf/nginx/sites-enabled/ports.conf (renamed from tools/conf/etc/nginx/sites-enabled/ports.conf)0
-rw-r--r--linux/conf/nginx/sites-enabled/shop.conf (renamed from tools/conf/etc/nginx/sites-enabled/shop.conf)0
-rw-r--r--linux/conf/nginx/sites-enabled/task.conf (renamed from tools/conf/etc/nginx/sites-enabled/task.conf)0
-rw-r--r--linux/conf/nginx/sites-enabled/vexim.conf (renamed from tools/conf/etc/nginx/sites-enabled/vexim.conf)0
-rw-r--r--linux/conf/nginx/sites-enabled/wiki.conf (renamed from tools/conf/etc/nginx/sites-enabled/wiki.conf)0
-rw-r--r--linux/conf/nginx/sites/default.conf (renamed from tools/conf/etc/nginx/sites/default.conf)0
-rw-r--r--linux/conf/nginx/sites/drupal.conf (renamed from tools/conf/etc/nginx/sites/drupal.conf)0
-rw-r--r--linux/conf/nginx/sites/flyspray.conf (renamed from tools/conf/etc/nginx/sites/flyspray.conf)0
-rw-r--r--linux/conf/nginx/sites/laravel.conf (renamed from tools/conf/etc/nginx/sites/laravel.conf)0
-rw-r--r--linux/conf/rc.conf6
-rwxr-xr-xlinux/conf/rc.d/blan (renamed from tools/conf/etc/rc.d/blan)0
-rwxr-xr-xlinux/conf/rc.d/dnscrypt-proxy (renamed from tools/conf/etc/rc.d/dnscrypt-proxy)0
-rwxr-xr-xlinux/conf/rc.d/git-daemon2
-rwxr-xr-xlinux/conf/rc.d/syslog-ng (renamed from tools/conf/etc/rc.d/syslog-ng)0
-rw-r--r--linux/conf/resolv.conf17
-rw-r--r--linux/conf/ssh/sshd_config (renamed from tools/conf/etc/ssh/sshd_config)0
-rw-r--r--linux/conf/syslog-ng.conf (renamed from tools/conf/etc/syslog-ng.conf)0
-rw-r--r--tools/conf/etc/rc.conf12
-rwxr-xr-xtools/conf/etc/rc.d/git-daemon43
-rwxr-xr-xtools/conf/etc/rc.d/postgresql16
-rw-r--r--tools/conf/etc/resolv.conf9
-rw-r--r--tools/conf/srv/gitolite/cgitrc79
-rwxr-xr-xtools/conf/srv/gitolite/deploy-web (renamed from tools/conf/srv/gitolite/deploy-web-doc)17
-rw-r--r--tools/conf/srv/gitolite/deploy-web.sh14
-rwxr-xr-xtools/conf/srv/gitolite/deploy.sh210
-rw-r--r--tools/conf/srv/gitolite/hook.sh14
-rw-r--r--tools/conf/srv/gitolite/linux.gitweb.gitolite.rc (renamed from tools/conf/srv/gitolite/.gitolite.rc)0
-rw-r--r--tools/conf/srv/gitolite/openbsd.cgit.gitolite.rc204
-rw-r--r--tools/dnsmasq.html8
-rw-r--r--tools/gitolite.html334
-rw-r--r--tools/mutt.html6
-rw-r--r--tools/nginx.html2
-rw-r--r--tools/postgresql.html2
-rw-r--r--tools/syslog-ng.html4
-rw-r--r--tools/vim.html4
-rw-r--r--tools/x.html6
61 files changed, 474 insertions, 537 deletions
diff --git a/index.html b/index.html
index f9fc57a..6cb8ef0 100644
--- a/index.html
+++ b/index.html
@@ -22,7 +22,7 @@
         <p>Version;</p>
 
         <pre>
-        rev 0.7.1
+        rev 0.7.2
         </pre>
 
         <p><a href="links.html">Links</a> contains relevant
diff --git a/tools/conf/etc/X11/xinit/xinitrc b/linux/conf/X11/xinit/xinitrc
index 2607046..2607046 100644
--- a/tools/conf/etc/X11/xinit/xinitrc
+++ b/linux/conf/X11/xinit/xinitrc
diff --git a/tools/conf/etc/X11/xorg.conf.d/10-keyboard.conf b/linux/conf/X11/xorg.conf.d/10-keyboard.conf
index d8b99b3..d8b99b3 100644
--- a/tools/conf/etc/X11/xorg.conf.d/10-keyboard.conf
+++ b/linux/conf/X11/xorg.conf.d/10-keyboard.conf
diff --git a/tools/conf/etc/X11/xorg.conf.d/50-synaptics.conf b/linux/conf/X11/xorg.conf.d/50-synaptics.conf
index 9fbb829..9fbb829 100644
--- a/tools/conf/etc/X11/xorg.conf.d/50-synaptics.conf
+++ b/linux/conf/X11/xorg.conf.d/50-synaptics.conf
diff --git a/tools/conf/etc/asound.conf b/linux/conf/asound.conf
index adbae67..adbae67 100644
--- a/tools/conf/etc/asound.conf
+++ b/linux/conf/asound.conf
diff --git a/tools/conf/etc/dnsmasq.conf b/linux/conf/dnsmasq.conf
index b6267fa..b6267fa 100644
--- a/tools/conf/etc/dnsmasq.conf
+++ b/linux/conf/dnsmasq.conf
diff --git a/tools/conf/etc/fonts/local.conf b/linux/conf/fonts/local.conf
index 64dc276..64dc276 100644
--- a/tools/conf/etc/fonts/local.conf
+++ b/linux/conf/fonts/local.conf
diff --git a/tools/conf/etc/gitweb.conf b/linux/conf/gitweb.conf
index 2f95792..2f95792 100644
--- a/tools/conf/etc/gitweb.conf
+++ b/linux/conf/gitweb.conf
diff --git a/tools/conf/etc/hosts.dnsmasq b/linux/conf/hosts.dnsmasq
index b4d0b07..b4d0b07 100644
--- a/tools/conf/etc/hosts.dnsmasq
+++ b/linux/conf/hosts.dnsmasq
diff --git a/tools/conf/etc/logrotate.conf b/linux/conf/logrotate.conf
index d7ff75c..d7ff75c 100644
--- a/tools/conf/etc/logrotate.conf
+++ b/linux/conf/logrotate.conf
diff --git a/tools/conf/etc/logrotate.d/fail2ban b/linux/conf/logrotate.d/fail2ban
index c2dc4cd..c2dc4cd 100644
--- a/tools/conf/etc/logrotate.d/fail2ban
+++ b/linux/conf/logrotate.d/fail2ban
diff --git a/tools/conf/etc/logrotate.d/letsencrypt b/linux/conf/logrotate.d/letsencrypt
index ce73ebc..ce73ebc 100644
--- a/tools/conf/etc/logrotate.d/letsencrypt
+++ b/linux/conf/logrotate.d/letsencrypt
diff --git a/tools/conf/etc/logrotate.d/lynis b/linux/conf/logrotate.d/lynis
index 8cf9181..8cf9181 100644
--- a/tools/conf/etc/logrotate.d/lynis
+++ b/linux/conf/logrotate.d/lynis
diff --git a/tools/conf/etc/logrotate.d/ntp b/linux/conf/logrotate.d/ntp
index c46b590..c46b590 100644
--- a/tools/conf/etc/logrotate.d/ntp
+++ b/linux/conf/logrotate.d/ntp
diff --git a/tools/conf/etc/logrotate.d/postgresql b/linux/conf/logrotate.d/postgresql
index 8c16bfa..8c16bfa 100644
--- a/tools/conf/etc/logrotate.d/postgresql
+++ b/linux/conf/logrotate.d/postgresql
diff --git a/tools/conf/etc/logrotate.d/samhain b/linux/conf/logrotate.d/samhain
index d60f810..d60f810 100644
--- a/tools/conf/etc/logrotate.d/samhain
+++ b/linux/conf/logrotate.d/samhain
diff --git a/tools/conf/etc/logrotate.d/shorewall b/linux/conf/logrotate.d/shorewall
index a7dffdf..a7dffdf 100644
--- a/tools/conf/etc/logrotate.d/shorewall
+++ b/linux/conf/logrotate.d/shorewall
diff --git a/tools/conf/etc/logrotate.d/shorewall6 b/linux/conf/logrotate.d/shorewall6
index ee5e246..ee5e246 100644
--- a/tools/conf/etc/logrotate.d/shorewall6
+++ b/linux/conf/logrotate.d/shorewall6
diff --git a/tools/conf/etc/nginx/conf.d/10-default.conf b/linux/conf/nginx/conf.d/10-default.conf
index 97ee31b..97ee31b 100644
--- a/tools/conf/etc/nginx/conf.d/10-default.conf
+++ b/linux/conf/nginx/conf.d/10-default.conf
diff --git a/tools/conf/etc/nginx/nginx.conf b/linux/conf/nginx/nginx.conf
index e757df6..e757df6 100644
--- a/tools/conf/etc/nginx/nginx.conf
+++ b/linux/conf/nginx/nginx.conf
diff --git a/tools/conf/etc/nginx/sites-enabled/default.conf b/linux/conf/nginx/sites-enabled/default.conf
index f7a6928..f7a6928 100644
--- a/tools/conf/etc/nginx/sites-enabled/default.conf
+++ b/linux/conf/nginx/sites-enabled/default.conf
diff --git a/tools/conf/etc/nginx/sites-enabled/email.conf b/linux/conf/nginx/sites-enabled/email.conf
index 5b34d7c..5b34d7c 100644
--- a/tools/conf/etc/nginx/sites-enabled/email.conf
+++ b/linux/conf/nginx/sites-enabled/email.conf
diff --git a/tools/conf/etc/nginx/sites-enabled/forum.conf b/linux/conf/nginx/sites-enabled/forum.conf
index 14350e3..14350e3 100644
--- a/tools/conf/etc/nginx/sites-enabled/forum.conf
+++ b/linux/conf/nginx/sites-enabled/forum.conf
diff --git a/tools/conf/etc/nginx/sites-enabled/frontpage.conf b/linux/conf/nginx/sites-enabled/frontpage.conf
index 7f7e66a..7f7e66a 100644
--- a/tools/conf/etc/nginx/sites-enabled/frontpage.conf
+++ b/linux/conf/nginx/sites-enabled/frontpage.conf
diff --git a/tools/conf/etc/nginx/sites-enabled/git.conf b/linux/conf/nginx/sites-enabled/git.conf
index f9d2d97..f9d2d97 100644
--- a/tools/conf/etc/nginx/sites-enabled/git.conf
+++ b/linux/conf/nginx/sites-enabled/git.conf
diff --git a/tools/conf/etc/nginx/sites-enabled/ports.conf b/linux/conf/nginx/sites-enabled/ports.conf
index 829d710..829d710 100644
--- a/tools/conf/etc/nginx/sites-enabled/ports.conf
+++ b/linux/conf/nginx/sites-enabled/ports.conf
diff --git a/tools/conf/etc/nginx/sites-enabled/shop.conf b/linux/conf/nginx/sites-enabled/shop.conf
index de34e40..de34e40 100644
--- a/tools/conf/etc/nginx/sites-enabled/shop.conf
+++ b/linux/conf/nginx/sites-enabled/shop.conf
diff --git a/tools/conf/etc/nginx/sites-enabled/task.conf b/linux/conf/nginx/sites-enabled/task.conf
index 8b15ee5..8b15ee5 100644
--- a/tools/conf/etc/nginx/sites-enabled/task.conf
+++ b/linux/conf/nginx/sites-enabled/task.conf
diff --git a/tools/conf/etc/nginx/sites-enabled/vexim.conf b/linux/conf/nginx/sites-enabled/vexim.conf
index d113cdc..d113cdc 100644
--- a/tools/conf/etc/nginx/sites-enabled/vexim.conf
+++ b/linux/conf/nginx/sites-enabled/vexim.conf
diff --git a/tools/conf/etc/nginx/sites-enabled/wiki.conf b/linux/conf/nginx/sites-enabled/wiki.conf
index 1e3b4d1..1e3b4d1 100644
--- a/tools/conf/etc/nginx/sites-enabled/wiki.conf
+++ b/linux/conf/nginx/sites-enabled/wiki.conf
diff --git a/tools/conf/etc/nginx/sites/default.conf b/linux/conf/nginx/sites/default.conf
index dcb076f..dcb076f 100644
--- a/tools/conf/etc/nginx/sites/default.conf
+++ b/linux/conf/nginx/sites/default.conf
diff --git a/tools/conf/etc/nginx/sites/drupal.conf b/linux/conf/nginx/sites/drupal.conf
index f79ed14..f79ed14 100644
--- a/tools/conf/etc/nginx/sites/drupal.conf
+++ b/linux/conf/nginx/sites/drupal.conf
diff --git a/tools/conf/etc/nginx/sites/flyspray.conf b/linux/conf/nginx/sites/flyspray.conf
index ba174f1..ba174f1 100644
--- a/tools/conf/etc/nginx/sites/flyspray.conf
+++ b/linux/conf/nginx/sites/flyspray.conf
diff --git a/tools/conf/etc/nginx/sites/laravel.conf b/linux/conf/nginx/sites/laravel.conf
index addfd18..addfd18 100644
--- a/tools/conf/etc/nginx/sites/laravel.conf
+++ b/linux/conf/nginx/sites/laravel.conf
diff --git a/linux/conf/rc.conf b/linux/conf/rc.conf
index 6780fc3..267cdd4 100644
--- a/linux/conf/rc.conf
+++ b/linux/conf/rc.conf
@@ -5,8 +5,8 @@
 FONT=default
 KEYMAP=dvorak
 TIMEZONE="Europe/Lisbon"
-HOSTNAME=machine
-SYSLOG=sysklogd
-SERVICES=(lo iptables net crond)
+HOSTNAME=crux
+SYSLOG=syslog-ng
+SERVICES=(apparmor lo net iptables sshd ntpd postgresql exim dovecot git-daemon php-fpm fcgiwrap nginx crond)
 
 # End of file
diff --git a/tools/conf/etc/rc.d/blan b/linux/conf/rc.d/blan
index 61ac2d6..61ac2d6 100755
--- a/tools/conf/etc/rc.d/blan
+++ b/linux/conf/rc.d/blan
diff --git a/tools/conf/etc/rc.d/dnscrypt-proxy b/linux/conf/rc.d/dnscrypt-proxy
index db8cd77..db8cd77 100755
--- a/tools/conf/etc/rc.d/dnscrypt-proxy
+++ b/linux/conf/rc.d/dnscrypt-proxy
diff --git a/linux/conf/rc.d/git-daemon b/linux/conf/rc.d/git-daemon
index 41793eb..fc43cbf 100755
--- a/linux/conf/rc.d/git-daemon
+++ b/linux/conf/rc.d/git-daemon
@@ -3,7 +3,7 @@
 SSD=/sbin/start-stop-daemon
 NAME=git-daemon
 PROG=$(git --exec-path)/${NAME}
-USER=gitolite
+USER=www
 GROUP=gitolite
 PIDFILE=/var/run/git-daemon.pid
 REPOS=/srv/gitolite/repositories
diff --git a/tools/conf/etc/rc.d/syslog-ng b/linux/conf/rc.d/syslog-ng
index 4ccc7f8..4ccc7f8 100755
--- a/tools/conf/etc/rc.d/syslog-ng
+++ b/linux/conf/rc.d/syslog-ng
diff --git a/linux/conf/resolv.conf b/linux/conf/resolv.conf
index 4c22142..b568a6c 100644
--- a/linux/conf/resolv.conf
+++ b/linux/conf/resolv.conf
@@ -1,8 +1,9 @@
-#
-# /etc/resolv.conf: resolver configuration file
-#
-
-#search <domain.org>
-#nameserver <ip-address>
-nameserver 213.73.91.35
-# End of file
+# Generated by dhcpcd from wlp7s0.dhcp
+# /etc/resolv.conf.head can replace this line
+nameserver 127.0.0.1
+# CCC server
+# nameserver 213.73.91.35
+# OpenNIC Servers
+# nameserver 192.71.249.83
+# nameserver 5.135.183.146
+# /etc/resolv.conf.tail can replace this line
diff --git a/tools/conf/etc/ssh/sshd_config b/linux/conf/ssh/sshd_config
index 495d183..495d183 100644
--- a/tools/conf/etc/ssh/sshd_config
+++ b/linux/conf/ssh/sshd_config
diff --git a/tools/conf/etc/syslog-ng.conf b/linux/conf/syslog-ng.conf
index 02e2d57..02e2d57 100644
--- a/tools/conf/etc/syslog-ng.conf
+++ b/linux/conf/syslog-ng.conf
diff --git a/tools/conf/etc/rc.conf b/tools/conf/etc/rc.conf
deleted file mode 100644
index 192ef3e..0000000
--- a/tools/conf/etc/rc.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-# /etc/rc.conf: system configuration
-#
-
-FONT=default
-KEYMAP=dvorak
-TIMEZONE="Europe/Lisbon"
-HOSTNAME=c2
-SYSLOG=syslog-ng
-SERVICES=(apparmor lo net iptables sshd ntpd postgresql exim dovecot git-daemon php-fpm fcgiwrap nginx crond)
-
-# End of file
diff --git a/tools/conf/etc/rc.d/git-daemon b/tools/conf/etc/rc.d/git-daemon
deleted file mode 100755
index fc43cbf..0000000
--- a/tools/conf/etc/rc.d/git-daemon
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-
-SSD=/sbin/start-stop-daemon
-NAME=git-daemon
-PROG=$(git --exec-path)/${NAME}
-USER=www
-GROUP=gitolite
-PIDFILE=/var/run/git-daemon.pid
-REPOS=/srv/gitolite/repositories
-OPTS="--verbose --reuseaddr --base-path=${REPOS}"
-
-case $1 in
-    start)
-        echo "Starting ${NAME}..."
-        $SSD --start \
-            --pidfile ${PIDFILE} \
-            --exec ${PROG} -- ${OPTS} \
-            --detach --pid-file=${PIDFILE} \
-            --user=${USER} --group=${GROUP}
-
-    ;;
-    stop)
-        echo "Stopping ${NAME}..."
-        $SSD --stop --quiet --name git-daemon \
-                            --pidfile ${PIDFILE}
-        ;;
-    restart)
-        echo "Restarting ${NAME}..."
-        $0 stop
-        $0 start
-        ;;
-    status)
-        $SSD --status --pidfile $PIDFILE
-        case $? in
-        0) echo "$PROG is running with pid $(cat $PIDFILE )" ;;
-        3) echo "$PROG is not running" ;;
-        4) echo "Unable to determine the program status" ;;
-        esac
-        ;;
-    *)
-        echo "usage: $0 [start|stop|restart|status]"
-        ;;
-esac
diff --git a/tools/conf/etc/rc.d/postgresql b/tools/conf/etc/rc.d/postgresql
deleted file mode 100755
index 5f0762a..0000000
--- a/tools/conf/etc/rc.d/postgresql
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# /etc/rc.d/postgresql: start, stop or restart PostgreSQL server postmaster
-#
-
-PG_DATA=/srv/pgsql/data
-
-case "$1" in
-    start|stop|status|restart|reload)
-        sudo -u postgres pg_ctl -D "$PG_DATA" -l /var/log/postgresql "$1"
-        ;;
-    *)
-        echo "usage: $0 start|stop|restart|reload|status"
-        ;;
-esac
-
-# End of file
diff --git a/tools/conf/etc/resolv.conf b/tools/conf/etc/resolv.conf
deleted file mode 100644
index b568a6c..0000000
--- a/tools/conf/etc/resolv.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-# Generated by dhcpcd from wlp7s0.dhcp
-# /etc/resolv.conf.head can replace this line
-nameserver 127.0.0.1
-# CCC server
-# nameserver 213.73.91.35
-# OpenNIC Servers
-# nameserver 192.71.249.83
-# nameserver 5.135.183.146
-# /etc/resolv.conf.tail can replace this line
diff --git a/tools/conf/srv/gitolite/cgitrc b/tools/conf/srv/gitolite/cgitrc
new file mode 100644
index 0000000..abd2437
--- /dev/null
+++ b/tools/conf/srv/gitolite/cgitrc
@@ -0,0 +1,79 @@
+##footer=/conf/cgit.footer
+#
+## Enable caching of up to 1000 output entries
+#cache-size=1000
+#
+#cache-root=/cgit/cache
+#
+## Specify some default clone urls using macro expansion
+##clone-url=git://git.codemadness.nl/$CGIT_REPO_URL
+#
+## Specify the css url
+##css=/cgit.css
+#
+## Show owner on index page
+#enable-index-owner=0
+#
+## Allow http transport git clone
+#enable-http-clone=0
+#
+## Show extra links for each repository on the index page
+#enable-index-links=0
+#
+## Enable ASCII art commit history graph on the log pages
+#enable-commit-graph=1
+#
+## Show number of affected files per commit on the log pages
+#enable-log-filecount=1
+#
+## Show number of added/removed lines per commit on the log pages
+#enable-log-linecount=1
+#
+## Sort branches by date
+#branch-sort=age
+#
+## Add a cgit favicon
+##favicon=/favicon.ico
+#
+## Enable statistics per week, month and quarter
+#max-stats=quarter
+#
+## Set the title and heading of the repository index page
+##root-title=Codemadness.org repositories
+#
+## Set a subheading for the repository index page
+##root-desc=
+#
+## Allow download of tar.gz, tar.bz2 and zip-files
+#snapshots=tar.gz
+#
+### List of common mimetypes
+#mimetype.gif=image/gif
+#mimetype.html=text/html
+#mimetype.jpg=image/jpeg
+#mimetype.jpeg=image/jpeg
+#mimetype.pdf=application/pdf
+#mimetype.png=image/png
+#mimetype.svg=image/svg+xml
+#
+### Search for these files in the root of the default branch of repositories
+### for coming up with the about page:
+#readme=:README
+#
+#virtual-root=/
+#
+#scan-path=/htdocs/src
+#
+## Disable adhoc downloads of this repo
+#repo.snapshots=0
+#
+## Disable line-counts for this repo
+#repo.enable-log-linecount=0
+#
+## Restrict the max statistics period for this repo
+#repo.max-stats=month
+enable-git-config=1
+enable-gitweb-owner=1
+#remove-suffix=1
+project-list=/projects.list
+scan-path=/repositories
diff --git a/tools/conf/srv/gitolite/deploy-web-doc b/tools/conf/srv/gitolite/deploy-web
index b836515..aa4a7fa 100755
--- a/tools/conf/srv/gitolite/deploy-web-doc
+++ b/tools/conf/srv/gitolite/deploy-web
@@ -1,28 +1,31 @@
-#!/bin/bash
+#!/bin/sh
+
 ######################################################################
 #
 # Put this file in your gitolite-admin;
-# ~/gitolite-admin/local/hooks/repo-specific/hook-deploy-web
+# ~/gitolite-admin/local/hooks/repo-specific/deploy-web
 #
 # set host to empty to create package for each push
 # or set remote host to create package based on last deployed push
 # host="https://doc.localhost"
 host=""
 # set name of witch branch should be deployed
-branch_to_deploy="deploy_branch"
+branch_to_deploy="master"
 
 ######################################################################
 
 
 url="$host/.last_deploy"
-source /srv/gitolite/deploy/hook.sh
+
+. /srv/gitolite/deploy/hook.sh
+
 read oldrev newrev refname
 push_branch=$(git rev-parse --symbolic --abbrev-ref $refname)
 
-#SCRIPT_VARS=$(set)
+SCRIPT_VARS=$(set)
 #echo "project: $PROJECT"
-#echo "local dir: $PWD" &gt; /srv/gitolite/deploy/${GL_REPO}
-#echo "${SCRIPT_VARS}" &gt;&gt; /srv/gitolite/deploy/${GL_REPO}
+#echo "local dir: $PWD : /srv/gitolite/deploy/${GL_REPO}"
+#echo "${SCRIPT_VARS} : /srv/gitolite/deploy/${GL_REPO}"
 
 if [[ $push_branch = $branch_to_deploy  ]]; then
 
diff --git a/tools/conf/srv/gitolite/deploy-web.sh b/tools/conf/srv/gitolite/deploy-web.sh
index 86d2026..fcefa97 100644
--- a/tools/conf/srv/gitolite/deploy-web.sh
+++ b/tools/conf/srv/gitolite/deploy-web.sh
@@ -1,9 +1,9 @@
-#!/bin/bash
+#!/bin/sh
 
 pkg_path=$1
 
-www_root="/srv/www"
-www_user="www"
+www_root="/srv/www/htdocs"
+www_user="daemon"
 www_group="www"
 
 pkg_file="${pkg_path}/project"
@@ -31,11 +31,12 @@ fi
 # first backup all data
 if [[ ! $(ls ${pkg_www} | grep -v "backup_deploy") = "" ]]; then
     if [ ! -d ${pkg_back} ]; then
-        sudo -u ${www_user} mkdir -p ${pkg_back}
+    	mkdir -p ${pkg_back}
     fi
     backup_file="${pkg_back}/${pkg_name}-$(date '+%Y-%j-%H-%M-%S').tar.gz"
     echo "Deploy web: making backup ${backup_file}"
-    sudo -u ${www_user} tar --exclude ${pkg_back} --xattrs -zcpf ${backup_file} ${pkg_www}
+    tar --exclude ${pkg_back} --xattrs -zcpf ${backup_file} ${pkg_www}
+    chown -R ${www_user}:${www_group} ${pkg_back}
 fi
 
 # remove files and directories that have been deleted
@@ -65,7 +66,8 @@ fi
 # copy new files to destination
 if [ -d ${pkg_files} ]; then
     echo "Deploy web: cp from ${pkg_files} to ${pkg_www}"
-    sudo -u ${www_user} cp -r ${pkg_files}/* ${pkg_www}
+    cp -r ${pkg_files}/* ${pkg_www}
+    chown -R ${www_user}:${www_group} ${pkg_www} 
 fi
 
 echo ${pkg_new} > ${pkg_last}
diff --git a/tools/conf/srv/gitolite/deploy.sh b/tools/conf/srv/gitolite/deploy.sh
index 1091ea9..0c15798 100755
--- a/tools/conf/srv/gitolite/deploy.sh
+++ b/tools/conf/srv/gitolite/deploy.sh
@@ -1,37 +1,37 @@
-#!/bin/bash
+#!/bin/sh
 
 # origin package directory
 packages_dir="/srv/gitolite/deploy/packages"
 # temporary work directory
-deploy_dir="/srv/deploy_dir"
+deploy_dir="/srv/gitolite/deploy/deploy_dir"
 # scripts to deploy packages
 deploy_scripts="/srv/gitolite/deploy/scripts"
 
-function get_script(){
-    # receives package path return script to call
-    local pkg_path=$1
-    echo $(head -2 ${pkg_path}/project | tail -1)
+get_script(){
+	# receives package path return script to call
+	local pkg_path=$1
+	echo $(head -2 ${pkg_path}/project | tail -1)
 }
 
-function get_new(){
-    # receives package path return commit hash (new)
-    local pkg_path=$1
-    echo $(head -3 ${pkg_path}/project | tail -1)
+get_new(){
+	# receives package path return commit hash (new)
+	local pkg_path=$1
+	echo $(head -3 ${pkg_path}/project | tail -1)
 }
 
-function get_dep(){
-    # receives package path return previews commit hash (old)
-    local pkg_path=$1
+get_dep(){
+	# receives package path return previews commit hash (old)
+	local pkg_path=$1
 
-    new=$(head -3 ${pkg_path}/project | tail -1)
-    old=$(head -4 ${pkg_path}/project | tail -1)
+	new=$(head -3 ${pkg_path}/project | tail -1)
+	old=$(head -4 ${pkg_path}/project | tail -1)
 
-    if [[ ! ${new} = ${old} ]]; then
-        echo ${old} | cut -c1-7
-    fi
+	if [[ ! ${new} = ${old} ]]; then
+		echo ${old} | cut -c1-7
+	fi
 }
 
-function project_extract(){
+project_extract(){
 
     # project directory containing extracted packages
     local prj_dir=$1
@@ -50,55 +50,62 @@ function project_extract(){
     local y=0
 
     # array with all the news hashes
-    local pkg_news=($(ls ${prj_dir}))
+    #local pkg_news=($(ls ${prj_dir}))
+    local pkg_news=$(ls ${prj_dir})
 
     # total new packages
-    local total=${#pkg_news[@]}
+    local total=${#pkg_news[*]}
 
     echo "Deploy: $(basename ${prj_dir}) extracting packages ${pkg_news[*]}"
 
     # find first package
-    for pkg_new in ${pkg_news[@]}
+    for pkg_new in ${pkg_news[*]}
     do
-        # get package dependency
-        pkg_dir="${prj_dir}/${pkg_new}"
-        pkg_old=$(get_dep ${pkg_dir})
-        if [[ ! " ${pkg_news[@]} " =~ " ${pkg_old} " ]]; then
-            # pkg_news don't contain package
-            # we found initial package
-            pkg_temp=${pkg_news[0]}
-            pkg_news[0]=${pkg_new}
-            pkg_news[${x}]=${pkg_temp}
-            break
-        fi
-        x=$((${x}+1))
+	    # get package dependency
+	    pkg_dir="${prj_dir}/${pkg_new}"
+	    pkg_old=$(get_dep ${pkg_dir})
+	    #if [[ ! " $pkg_news[@] " =~ " ${pkg_old} " ]]; then
+	    if [[ `echo $pkg_news[@] | grep -c \'${pkg_old}\'` -eq 1 ]]; then 
+		    # pkg_news don't contain package
+		    # we found initial package
+		    pkg_temp=${pkg_news[0]}
+		    pkg_news[0]=${pkg_new}
+		    pkg_news[${x}]=${pkg_temp}
+		    break
+	    fi
+	    x=$((${x}+1))
     done
 
     # Order packages by dependency start with first package
-    for (( y=0; y<${total}; y++ ))
+    #for (( y=0; y<${total}; y++ ))
+    y=0
+    while [ $y -lt $total ]
     do
-        pkg_next=$(($y+1))
-        if [[ ${pkg_next} = ${total} ]]; then
-            ## we are in the last one
-            break
-        fi
-
-        pkg_new=${pkg_news[$y]}
-        for (( x=pkg_next; x<${total}; x++ ))
-        do
-            pkg_dir="${prj_dir}/${pkg_news[${x}]}"
-            pkg_old=$(get_dep ${pkg_dir})
-            # is dependent on current
-            if [[ ${pkg_old} = ${pkg_new} ]]; then
-                pkg_temp=${pkg_news[${pkg_next}]}
-                pkg_news[${pkg_next}]=${pkg_news[${x}]}
-                pkg_news[${x}]=${pkg_temp}
-                # we can break and pass next one
-                break
-            fi
-        done
+	    pkg_next=$(($y+1))
+	    if [[ ${pkg_next} = ${total} ]]; then
+		    ## we are in the last one
+		    break
+	    fi
+
+	    pkg_new=${pkg_news[$y]}
+	    #for (( x=pkg_next; x<${total}; x++ ))
+	    x=$pkg_next;
+	    while [ $x -lt $total ]
+	    do
+		    pkg_dir="${prj_dir}/${pkg_news[${x}]}"
+		    pkg_old=$(get_dep ${pkg_dir})
+		    # is dependent on current
+		    if [[ ${pkg_old} = ${pkg_new} ]]; then
+			    pkg_temp=${pkg_news[${pkg_next}]}
+			    pkg_news[${pkg_next}]=${pkg_news[${x}]}
+			    pkg_news[${x}]=${pkg_temp}
+			    # we can break and pass next one
+			    break
+		    fi
+		    x=$x+1
+	    done
+	    y=$y+1
     done
-
     # create project final package directory
     mkdir -p ${prj_pkg}/files
 
@@ -108,68 +115,67 @@ function project_extract(){
     # now that packages are ordered we can start creating files
     for pkg_new in ${pkg_news[@]}
     do
-        pkg_dir=${prj_dir}/${pkg_new}
-        tar xf ${pkg_dir}/files.tar.xz \
-            --directory ${prj_pkg}/files
-
-        # if deleted files exists
-        if [ -f "${pkg_dir}/deleted" ]; then
-            # first collect all files/directories don't exist
-            while read pkg_del; do
-                # if file don't exist add entry to project deleted file
-                pkg_temp="${prj_pkg}/files/${pkg_del}"
-                if [ ! -f ${pkg_temp} ]; then
-                    if [ ! -d ${pkg_temp} ]; then
-                        # is not a file or directory from previous packages
-                        echo ${pkg_del} >> ${prj_pkg}/deleted
-                    fi
-                fi
-            done <${prj_dir}/${pkg_new}/deleted
-
-            # delete directories and files
-            while read pkg_del; do
-                pkg_temp="${prj_pkg}/files/${pkg_del}"
-                if [ -d ${pkg_temp} ]; then
-                    rm -r ${pkg_temp}
-                elif [ -f ${pkg_temp} ]; then
-                    rm ${pkg_temp}
-                fi
-            done <${prj_dir}/${pkg_new}/deleted
-        fi
-
-        #remove temporary directory
-        rm -r ${prj_dir}/${pkg_new}
-    done
+	    pkg_dir=${prj_dir}/${pkg_new}
+	    tar -C ${prj_pkg}/files -xf ${pkg_dir}/files.tar.xz
+	    # if deleted files exists
+	    if [ -f "${pkg_dir}/deleted" ]; then
+		    # first collect all files/directories don't exist
+		    while read pkg_del; do
+			    # if file don't exist add entry to project deleted file
+			    pkg_temp="${prj_pkg}/files/${pkg_del}"
+			    if [ ! -f ${pkg_temp} ]; then
+				    if [ ! -d ${pkg_temp} ]; then
+					    # is not a file or directory from previous packages
+					    echo ${pkg_del} >> ${prj_pkg}/deleted
+				    fi
+			    fi
+		    done <${prj_dir}/${pkg_new}/deleted
+
+	    # delete directories and files
+	    while read pkg_del; do
+		    pkg_temp="${prj_pkg}/files/${pkg_del}"
+		    if [ -d ${pkg_temp} ]; then
+			    rm -r ${pkg_temp}
+		    elif [ -f ${pkg_temp} ]; then
+			    rm ${pkg_temp}
+		    fi
+	    done <${prj_dir}/${pkg_new}/deleted
+	    fi
+
+	#remove temporary directory
+	rm -r ${prj_dir}/${pkg_new}
+done
 
     # call project deploy script
     call_script=${deploy_scripts}/$(get_script $prj_pkg)
     echo "Deploy: calling deploy script: ${call_script}"
-    /bin/bash ${call_script} ${prj_pkg}
+    /bin/sh ${call_script} ${prj_pkg}
 
 }
 
 if [[ ! $(ls ${deploy_dir}) = "" ]]; then
-    rm -r ${deploy_dir}/*
+	echo "removing deploy dir"
+	rm -r ${deploy_dir}/*
 fi
 
 # first extract all packages from origin directory
 for pkg_path in `find ${packages_dir} -type f -name "*.tar.gz"`
 do
-    if [ -f ${pkg_path} ]; then
-        pkg_name=$(basename ${pkg_path})
-        pkg_proj=$(echo ${pkg_name} | cut -d "_" -f 1)
-        pkg_new7=$(echo ${pkg_name} | tail -c -15 | cut -c -7)
-        pkg_temp=${deploy_dir}/${pkg_proj}/${pkg_new7}
-        mkdir -p ${pkg_temp}
-        tar xf ${pkg_path} --directory ${pkg_temp}
-        rm ${pkg_path}
-    fi
+	if [ -f ${pkg_path} ]; then
+		pkg_name=$(basename ${pkg_path})
+		pkg_proj=$(echo ${pkg_name} | cut -d "_" -f 1)
+		pkg_new7=$(echo ${pkg_name} | tail -c -15 | cut -c -7)
+		pkg_temp=${deploy_dir}/${pkg_proj}/${pkg_new7}
+		mkdir -p ${pkg_temp}
+		tar -C ${pkg_temp} -zxf ${pkg_path} 
+		rm ${pkg_path}
+	fi
 done
 
 # loop for all projects and deploy them
 for prj_dir in `find ${deploy_dir} -maxdepth 1 -mindepth 1 -type d`
 do
-    # order index of hashes based on old commit
-    echo "prj_dir $prj_dir"
-    project_extract ${prj_dir}
+	# order index of hashes based on old commit
+	echo "Deploy: prj_dir=$prj_dir"
+	project_extract ${prj_dir}
 done
diff --git a/tools/conf/srv/gitolite/hook.sh b/tools/conf/srv/gitolite/hook.sh
index 1f977ca..be6a696 100644
--- a/tools/conf/srv/gitolite/hook.sh
+++ b/tools/conf/srv/gitolite/hook.sh
@@ -1,11 +1,11 @@
-#!/bin/bash
+#!/bin/sh
 
 # final packages dir
 packages_dir="/srv/gitolite/deploy/packages"
 # hook work directory
 hook_dir="/srv/gitolite/deploy/hook_dir"
 
-function is_initial(){
+is_initial(){
     local prj_name=$1
     if [ ! -d ${hook_dir}/${prj_name} ]; then
         echo "true"
@@ -14,18 +14,18 @@ function is_initial(){
     fi
 }
 
-function get_remote_rev(){
+get_remote_rev(){
     echo $(wget --no-check-certificate -qO- $1)
 }
 
-function valid_url(){
-    if [[ `wget -S --spider $1 --no-check-certificate 2>&1 | grep 'HTTP/1.1 200 OK'` ]];
+valid_url(){
+    if [[ `wget -S --spider $1 --no-check-certificate 2>&1 | grep -c 'HTTP/1.1 200 OK'` -eq 1 ]];
     then
         echo "true";
     fi
 }
 
-function create_package(){
+create_package(){
     # project name
     local prj_name=$1
     # git repository directory
@@ -87,7 +87,7 @@ function create_package(){
 
     fi
 
-    tar -zcpf ${pkg_tar} --directory=${pkg_dir} .
+    tar -zcpf ${pkg_tar} -C ${pkg_dir} .
 
     echo "Deploy: package ${pkg_tar} ready !"
     rm -r ${pkg_dir}
diff --git a/tools/conf/srv/gitolite/.gitolite.rc b/tools/conf/srv/gitolite/linux.gitweb.gitolite.rc
index d2c80b7..d2c80b7 100644
--- a/tools/conf/srv/gitolite/.gitolite.rc
+++ b/tools/conf/srv/gitolite/linux.gitweb.gitolite.rc
diff --git a/tools/conf/srv/gitolite/openbsd.cgit.gitolite.rc b/tools/conf/srv/gitolite/openbsd.cgit.gitolite.rc
new file mode 100644
index 0000000..6d7001a
--- /dev/null
+++ b/tools/conf/srv/gitolite/openbsd.cgit.gitolite.rc
@@ -0,0 +1,204 @@
+# configuration variables for gitolite
+
+# This file is in perl syntax.  But you do NOT need to know perl to edit it --
+# just mind the commas, use single quotes unless you know what you're doing,
+# and make sure the brackets and braces stay matched up!
+
+# (Tip: perl allows a comma after the last item in a list also!)
+
+# HELP for commands can be had by running the command with "-h".
+
+# HELP for all the other FEATURES can be found in the documentation (look for
+# "list of non-core programs shipped with gitolite" in the master index) or
+# directly in the corresponding source file.
+
+%RC = (
+
+    # ------------------------------------------------------------------
+
+    # default umask gives you perms of '0700'; see the rc file docs for
+    # how/why you might change this
+    #UMASK                           =>  0077,
+    UMASK                           =>  0027,
+
+    # look for "git-config" in the documentation
+    #GIT_CONFIG_KEYS                 =>  '',
+    GIT_CONFIG_KEYS                 =>  '.*',
+
+    # comment out if you don't need all the extra detail in the logfile
+    LOG_EXTRA                       =>  1,
+    # logging options
+    # 1. leave this section as is for 'normal' gitolite logging (default)
+    # 2. uncomment this line to log ONLY to syslog:
+    # LOG_DEST                      => 'syslog',
+    # 3. uncomment this line to log to syslog and the normal gitolite log:
+    # LOG_DEST                      => 'syslog,normal',
+    # 4. prefixing "repo-log," to any of the above will **also** log just the
+    #    update records to "gl-log" in the bare repo directory:
+    # LOG_DEST                      => 'repo-log,normal',
+    # LOG_DEST                      => 'repo-log,syslog',
+    # LOG_DEST                      => 'repo-log,syslog,normal',
+    # syslog 'facility': defaults to 'local0', uncomment if needed.  For example:
+    # LOG_FACILITY                  => 'local4',
+
+    # roles.  add more roles (like MANAGER, TESTER, ...) here.
+    #   WARNING: if you make changes to this hash, you MUST run 'gitolite
+    #   compile' afterward, and possibly also 'gitolite trigger POST_COMPILE'
+    ROLES => {
+        READERS                     =>  1,
+        WRITERS                     =>  1,
+    },
+
+    # enable caching (currently only Redis).  PLEASE RTFM BEFORE USING!!!
+    # CACHE                         =>  'Redis',
+
+    # ------------------------------------------------------------------
+
+    # rc variables used by various features
+
+    # the 'info' command prints this as additional info, if it is set
+        # SITE_INFO                 =>  'Please see http://blahblah/gitolite for more help',
+
+    # the CpuTime feature uses these
+        # display user, system, and elapsed times to user after each git operation
+        # DISPLAY_CPU_TIME          =>  1,
+        # display a warning if total CPU times (u, s, cu, cs) crosses this limit
+        # CPU_TIME_WARN_LIMIT       =>  0.1,
+
+    # the Mirroring feature needs this
+        # HOSTNAME                  =>  "foo",
+
+    # TTL for redis cache; PLEASE SEE DOCUMENTATION BEFORE UNCOMMENTING!
+        # CACHE_TTL                 =>  600,
+
+    # ------------------------------------------------------------------
+
+    # suggested locations for site-local gitolite code (see cust.html)
+
+        # this one is managed directly on the server
+        # LOCAL_CODE                =>  "$ENV{HOME}/local",
+
+        # or you can use this, which lets you put everything in a subdirectory
+        # called "local" in your gitolite-admin repo.  For a SECURITY WARNING
+        # on this, see http://gitolite.com/gitolite/non-core.html#pushcode
+	LOCAL_CODE                =>  "$rc{GL_ADMIN_BASE}/local",
+
+	# ------------------------------------------------------------------
+
+	# List of commands and features to enable
+
+	ENABLE => [
+
+		# COMMANDS
+
+		# These are the commands enabled by default
+		'help',
+		'desc',
+		'info',
+		'perms',
+		'writable',
+
+		# Uncomment or add new commands here.
+		# 'create',
+		# 'fork',
+		# 'mirror',
+		# 'readme',
+		# 'sskm',
+		# 'D',
+
+		# These FEATURES are enabled by default.
+
+		# essential (unless you're using smart-http mode)
+		'ssh-authkeys',
+
+		# creates git-config entries from gitolite.conf file entries like 'config foo.bar = baz'
+		'git-config',
+
+		# creates git-daemon-export-ok files; if you don't use git-daemon, comment this out
+		'daemon',
+
+		# creates projects.list file; if you don't use gitweb, comment this out
+		# 'gitweb',
+
+		# These FEATURES are disabled by default; uncomment to enable.  If you
+		# need to add new ones, ask on the mailing list :-)
+
+		# user-visible behaviour
+
+		# prevent wild repos auto-create on fetch/clone
+		# 'no-create-on-read',
+		# no auto-create at all (don't forget to enable the 'create' command!)
+		# 'no-auto-create',
+
+		# access a repo by another (possibly legacy) name
+		# 'Alias',
+
+		# give some users direct shell access.  See documentation in
+		# sts.html for details on the following two choices.
+		# "Shell $ENV{HOME}/.gitolite.shell-users",
+		# 'Shell alice bob',
+
+		# set default roles from lines like 'option default.roles-1 = ...', etc.
+		# 'set-default-roles',
+
+		# show more detailed messages on deny
+		# 'expand-deny-messages',
+
+		# show a message of the day
+		# 'Motd',
+
+		# system admin stuff
+
+		# enable mirroring (don't forget to set the HOSTNAME too!)
+		# 'Mirroring',
+
+		# allow people to submit pub files with more than one key in them
+		# 'ssh-authkeys-split',
+
+		# selective read control hack
+		# 'partial-copy',
+
+		# manage local, gitolite-controlled, copies of read-only upstream repos
+		# 'upstream',
+
+		# updates 'description' file instead of 'gitweb.description' config item
+		'cgit',
+
+		# allow repo-specific hooks to be added
+            'repo-specific-hooks',
+
+        # performance, logging, monitoring...
+
+            # be nice
+            # 'renice 10',
+
+            # log CPU times (user, system, cumulative user, cumulative system)
+            # 'CpuTime',
+
+        # syntactic_sugar for gitolite.conf and included files
+
+            # allow backslash-escaped continuation lines in gitolite.conf
+            # 'continuation-lines',
+
+            # create implicit user groups from directory names in keydir/
+            # 'keysubdirs-as-groups',
+
+            # allow simple line-oriented macros
+            # 'macros',
+
+        # Kindergarten mode
+
+            # disallow various things that sensible people shouldn't be doing anyway
+            # 'Kindergarten',
+    ],
+
+);
+
+# ------------------------------------------------------------------------------
+# per perl rules, this should be the last line in such a file:
+1;
+
+# Local variables:
+# mode: perl
+# End:
+# vim: set syn=perl:
diff --git a/tools/dnsmasq.html b/tools/dnsmasq.html
index 4d738e4..f738d76 100644
--- a/tools/dnsmasq.html
+++ b/tools/dnsmasq.html
@@ -28,7 +28,7 @@
         <p>Dnscrypt by default resolves to dnscrypt.eu-nl, check file
         /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv for a list of
         compatible servers. Dnscrypt-proxy port from machine-ports contains
-        <a href="conf/etc/rc.d/dnscrypt-proxy">dnscrypt-proxy</a> init
+        <a href="../linux/conf/rc.d/dnscrypt-proxy">dnscrypt-proxy</a> init
         script configured to use dnscrypt.eu-dk resolver and run as 
         nobody user. Basic usage example;</p>
 
@@ -38,7 +38,7 @@
 
         <h2 id="dnsmasq">2. Dnsmasq</h2>
 
-        <p>Edit <a href="conf/etc/resolv.conf">resolv.conf</a>;</p>
+        <p>Edit <a href="../linux/conf/resolv.conf">resolv.conf</a>;</p>
 
         <pre>
         # /etc/resolv.conf.head can replace this line
@@ -59,8 +59,8 @@
 
         <p>Dnsmasq provides dns caching and dhcpd, example configuration
         files:
-        <a href="conf/etc/dnsmasq.conf">dnsmasq.conf</a> (change interface),
-        <a href="conf/etc/hosts.dnsmasq">hosts.dnsmasq</a>.</p>
+        <a href="../linux/conf/dnsmasq.conf">dnsmasq.conf</a> (change interface),
+        <a href="../linux/conf/hosts.dnsmasq">hosts.dnsmasq</a>.</p>
 
         <p>Check /var/lib/dhcp/dnsmasq.leases to get list of dhcp leases
         assigned.</p>
diff --git a/tools/gitolite.html b/tools/gitolite.html
index fd9ad8c..ace87d9 100644
--- a/tools/gitolite.html
+++ b/tools/gitolite.html
@@ -236,9 +236,30 @@
         <h2 id="hooks">4. Gitolite Hooks</h2>
 
         <p>This document creates three scripts, one is run when gitolite receives
-        push to a project with hook active, second script is run under root
+        push to a project with hook active - deploy-web, second script is run under root
         user to allow operations where gitolite user have no rights, third one
-        is project specific.</p>
+        is project specific - deploy.sh. File hooks.sh are support functions for deploy-web hook.</p>
+
+        <pre>
+        cron ---> deploy.sh
+             (extracts/process tar)
+                      |
+                calls defined script
+                to extract this case
+                deploy-web.sh
+
+        gitolite-admin/local/hooks/repo-specific/deploy-web
+               (ends in remote rep/hooks/post-receive.h00-deploy-web)
+                        |
+                      sources
+                        |
+        /srv/gitolite/deploy/hook.sh
+                        |
+                creates package and
+                set deploy script to
+                deploy-web.sh
+        </pre>
+
 
         <p>This example try to have a separate creation of a package and its deployment,
         in case deploy script is not on the same machine other method can be used to send
@@ -255,6 +276,8 @@
         <a href="conf/srv/gitolite/deploy.sh">/srv/gitolite/deploy/deploy.sh</a>,
         deploy in this example is called called by cron.</p>
 
+        <p>Note on OpenBSD all scripts must be changed to use other than bash, ksh.</p>
+
         <h3 id="gtl-activate">4.1. Activate Hooks</h3>
 
         <p>Example from
@@ -331,133 +354,10 @@
         <h4>4.3.1. Hook Script</h4>
 
         <p>Create
-        <a href="conf/srv/gitolite/deploy-web-doc">gitolite-admin/local/hooks/repo-specific/deploy-web-doc</a>;</p>
-
-        <pre>
-        #!/bin/bash
-        ######################################################################
-        #
-        # Put this file in your gitolite-admin;
-        # ~/gitolite-admin/local/hooks/repo-specific/deploy-web-doc
-        #
-        # set host to empty to create package for each push
-        # or set remote host to create package based on last deployed push
-        # host="https://doc.localhost"
-        host=""
-        # set name of witch branch should be deployed
-        branch_to_deploy="deploy_branch"
-
-        ######################################################################
-
-
-        url="$host/.last_deploy"
-        source /srv/gitolite/deploy/hook.sh
-        read oldrev newrev refname
-        push_branch=$(git rev-parse --symbolic --abbrev-ref $refname)
-
-        #SCRIPT_VARS=$(set)
-        #echo "project: $PROJECT"
-        #echo "local dir: $PWD" &gt; /srv/gitolite/deploy/${GL_REPO}
-        #echo "${SCRIPT_VARS}" &gt;&gt; /srv/gitolite/deploy/${GL_REPO}
-
-        if [[ $push_branch = $branch_to_deploy  ]]; then
-
-            # if host empty we make local tracking
-            if [[ $host = "" ]]; then
-                if [[ $(is_initial ${GL_REPO}) = "true" ]]; then
-                    oldrev="initial"
-                fi
-            else
-                if [[ ! $(valid_url $url) = "true" ]]; then
-                    echo "Deploy: set $url on remote to start creating packages"
-                    exit 1
-                fi
-                oldrev=$(get_remote_rev $url)
-            fi
-            create_package ${GL_REPO} ${PWD} ${oldrev} ${newrev} "deploy-web.sh"
-        fi
-        </pre>
+        <a href="conf/srv/gitolite/deploy-web">gitolite-admin/local/hooks/repo-specific/deploy-web</a>.</p>
 
         <p>Create
-        <a href="conf/srv/gitolite/deploy-web.sh">/srv/gitolite/deploy/scripts/deploy-web.sh</a>;</p>
-
-        <pre>
-        #!/bin/bash
-
-        pkg_path=$1
-
-        www_root="/srv/www"
-        www_user="nginx"
-        www_group="www"
-
-        pkg_file="${pkg_path}/project"
-        pkg_rm="${pkg_path}/deleted"
-        pkg_files="${pkg_path}/files"
-
-        if [ ! -f ${pkg_file} ]; then
-            echo "Deploy web: invalid pkg_file ${pkg_file}"
-            exit 1
-        fi
-
-        pkg_name=$(head -1 ${pkg_file})
-        pkg_new=$(head -3 ${pkg_file} | tail -1)
-        pkg_new7=$(echo ${pkg_new} | cut -c1-7)
-
-        pkg_www="${www_root}/${pkg_name}"
-        pkg_back="${pkg_www}/backup_deploy"
-        pkg_last="${pkg_www}/.last_deploy"
-
-        if [ ! -d ${pkg_www} ]; then
-            echo "Deploy web: invalid pkg_www ${pkg_www}"
-            exit 1
-        fi
-
-        # first backup all data
-        if [[ ! $(ls ${pkg_www} | grep -v "backup_deploy") = "" ]]; then
-            if [ ! -d ${pkg_back} ]; then
-                sudo -u ${www_user} mkdir -p ${pkg_back}
-            fi
-            backup_file="${pkg_back}/${pkg_name}-$(date '+%Y-%j-%H-%M-%S').tar.gz"
-            echo "Deploy web: making backup ${backup_file}"
-            sudo -u ${www_user} tar --exclude ${pkg_back} --xattrs -zcpf ${backup_file} ${pkg_www}
-        fi
-
-        # remove files and directories that have been deleted
-        if [ -f ${pkg_rm} ]; then
-
-            echo "Deploy web: files to delete:"
-            # first we delete files
-            while read deleted_file; do
-                deleted_file="${pkg_www}/${deleted_file}"
-                if [ -f ${deleted_file} ]; then
-                    echo "file      rm ${deleted_file}"
-                    rm ${deleted_file}
-                fi
-            done &lt;${pkg_rm}
-
-            # delete directories
-            while read deleted_file; do
-                deleted_file="${pkg_www}/${deleted_file}"
-                if [ -d ${deleted_file} ]; then
-                    echo "file      rm ${deleted_file}"
-                    rm ${deleted_file}
-                fi
-            done &lt;${pkg_rm}
-
-        fi
-
-        # copy new files to destination
-        if [ -d ${pkg_files} ]; then
-            echo "Deploy web: cp from ${pkg_files} to ${pkg_www}"
-            sudo -u ${www_user} cp -r ${pkg_files}/* ${pkg_www}
-        fi
-
-        echo ${pkg_new} > ${pkg_last}
-        echo "Deploy: scripts/deployweb.sh ${pkg_name} ${pkg_new7} deployed."
-
-        #remove temporary package
-        rm -r ${pkg_path}
-        </pre>
+        <a href="conf/srv/gitolite/deploy-web.sh">/srv/gitolite/deploy/scripts/deploy-web.sh</a>.</p>
 
         <p>Activate this hook, the idea is to start with this one as a template working
         and then implement the final one. Edit gitolite admin configuration file and
@@ -486,185 +386,7 @@
 
         <h4>4.3.2. Deploy Script</h4>
 
-        <p>Create <a href="conf/srv/gitolite/deploy.sh">/srv/gitolite/deploy/scripts/deploy.sh</a>;</p>
-
-        <pre>
-        #!/bin/bash
-
-        # origin package directory
-        packages_dir="/srv/gitolite/deploy/packages"
-        # temporary work directory
-        deploy_dir="/srv/deploy_dir"
-        # scripts to deploy packages
-        deploy_scripts="/srv/gitolite/deploy/scripts"
-
-        function get_script(){
-            # receives package path return script to call
-            local pkg_path=$1
-            echo $(head -2 ${pkg_path}/project | tail -1)
-        }
-
-        function get_new(){
-            # receives package path return commit hash (new)
-            local pkg_path=$1
-            echo $(head -3 ${pkg_path}/project | tail -1)
-        }
-
-        function get_dep(){
-            # receives package path return previews commit hash (old)
-            local pkg_path=$1
-
-            new=$(head -3 ${pkg_path}/project | tail -1)
-            old=$(head -4 ${pkg_path}/project | tail -1)
-
-            if [[ ! ${new} = ${old} ]]; then
-                echo ${old} | cut -c1-7
-            fi
-        }
-
-        function project_extract(){
-
-            # project directory containing extracted packages
-            local prj_dir=$1
-
-            # final extracted package
-            local prj_pkg="${prj_dir}/package"
-
-            # temporary vars for swapping/iterating pkg_news
-            local pkg_new=""
-            local pkg_old=""
-            local pkg_dir=""
-            local pkg_temp=""
-            local pkg_next=1
-            local pkg_del=""
-            local x=0
-            local y=0
-
-            # array with all the news hashes
-            local pkg_news=($(ls ${prj_dir}))
-
-            # total new packages
-            local total=${#pkg_news[@]}
-
-            echo "Deploy: $(basename ${prj_dir}) extracting packages ${pkg_news[*]}"
-
-            # find first package
-            for pkg_new in ${pkg_news[@]}
-            do
-                # get package dependency
-                pkg_dir="${prj_dir}/${pkg_new}"
-                pkg_old=$(get_dep ${pkg_dir})
-                if [[ ! " ${pkg_news[@]} " =~ " ${pkg_old} " ]]; then
-                    # pkg_news don't contain package
-                    # we found initial package
-                    pkg_temp=${pkg_news[0]}
-                    pkg_news[0]=${pkg_new}
-                    pkg_news[${x}]=${pkg_temp}
-                    break
-                fi
-                x=$((${x}+1))
-            done
-
-            # Order packages by dependency start with first package
-            for (( y=0; y&lt;${total}; y++ ))
-            do
-                pkg_next=$(($y+1))
-                if [[ ${pkg_next} = ${total} ]]; then
-                    ## we are in the last one
-                    break
-                fi
-
-                pkg_new=${pkg_news[$y]}
-                for (( x=pkg_next; x&lt;${total}; x++ ))
-                do
-                    pkg_dir="${prj_dir}/${pkg_news[${x}]}"
-                    pkg_old=$(get_dep ${pkg_dir})
-                    # is dependent on current
-                    if [[ ${pkg_old} = ${pkg_new} ]]; then
-                        pkg_temp=${pkg_news[${pkg_next}]}
-                        pkg_news[${pkg_next}]=${pkg_news[${x}]}
-                        pkg_news[${x}]=${pkg_temp}
-                        # we can break and pass next one
-                        break
-                    fi
-                done
-            done
-
-            # create project final package directory
-            mkdir -p ${prj_pkg}/files
-
-            # copy project information of last commit
-            cp ${prj_dir}/${pkg_news[$((${total}-1))]}/project ${prj_pkg}
-
-            # now that packages are ordered we can start creating files
-            for pkg_new in ${pkg_news[@]}
-            do
-                pkg_dir=${prj_dir}/${pkg_new}
-                tar xf ${pkg_dir}/files.tar.xz \
-                    --directory ${prj_pkg}/files
-
-                # if deleted files exists
-                if [ -f "${pkg_dir}/deleted" ]; then
-                    # first collect all files/directories don't exist
-                    while read pkg_del; do
-                        # if file don't exist add entry to project deleted file
-                        pkg_temp="${prj_pkg}/files/${pkg_del}"
-                        if [ ! -f ${pkg_temp} ]; then
-                            if [ ! -d ${pkg_temp} ]; then
-                                # is not a file or directory from previous packages
-                                echo ${pkg_del} &gt;&gt; ${prj_pkg}/deleted
-                            fi
-                        fi
-                    done &lt;${prj_dir}/${pkg_new}/deleted
-
-                    # delete directories and files
-                    while read pkg_del; do
-                        pkg_temp="${prj_pkg}/files/${pkg_del}"
-                        if [ -d ${pkg_temp} ]; then
-                            rm -r ${pkg_temp}
-                        elif [ -f ${pkg_temp} ]; then
-                            rm ${pkg_temp}
-                        fi
-                    done &lt;${prj_dir}/${pkg_new}/deleted
-                fi
-
-                #remove temporary directory
-                rm -r ${prj_dir}/${pkg_new}
-            done
-
-            # call project deploy script
-            call_script=${deploy_scripts}/$(get_script $prj_pkg)
-            echo "Deploy: calling deploy script: ${call_script}"
-            /bin/bash ${call_script} ${prj_pkg}
-
-        }
-
-        if [[ ! $(ls ${deploy_dir}) = "" ]]; then
-            rm -r ${deploy_dir}/*
-        fi
-
-        # first extract all packages from origin directory
-        for pkg_path in `find ${packages_dir} -type f -name "*.tar.gz"`
-        do
-            if [ -f ${pkg_path} ]; then
-                pkg_name=$(basename ${pkg_path})
-                pkg_proj=$(echo ${pkg_name} | cut -d "_" -f 1)
-                pkg_new7=$(echo ${pkg_name} | tail -c -15 | cut -c -7)
-                pkg_temp=${deploy_dir}/${pkg_proj}/${pkg_new7}
-                mkdir -p ${pkg_temp}
-                tar xf ${pkg_path} --directory ${pkg_temp}
-                rm ${pkg_path}
-            fi
-        done
-
-        # loop for all projects and deploy them
-        for prj_dir in `find ${deploy_dir} -maxdepth 1 -mindepth 1 -type d`
-        do
-            # order index of hashes based on old commit
-            echo "prj_dir $prj_dir"
-            project_extract ${prj_dir}
-        done
-        </pre>
+        <p>Create <a href="conf/srv/gitolite/deploy.sh">/srv/gitolite/deploy/scripts/deploy.sh</a>.</p>
 
         <p>Give permissions to access files;</p>
 
diff --git a/tools/mutt.html b/tools/mutt.html
index 4cb5599..802854e 100644
--- a/tools/mutt.html
+++ b/tools/mutt.html
@@ -90,7 +90,7 @@
 
         <p>Lets start configuring the two accounts, one for host system
         email and another for external email account. Change pgp_sign_as        according to your specific sub key for signing. Change
-        <a href="conf/etc/skel/.mutt/muttrc">muttrc</a> with your
+        <a href="../linux/conf/skel/.mutt/muttrc">muttrc</a> with your
         preferences;</p>
 
         <pre>
@@ -170,7 +170,7 @@
         $ env | grep MAIL
         </pre>
 
-        <p>Content of <a href="conf/etc/skel/.mutt/system">.mutt/system</a>;<p>
+        <p>Content of <a href="../linux/conf/skel/.mutt/system">.mutt/system</a>;<p>
 
         <pre>
         color status green default
@@ -208,7 +208,7 @@
 
         <h3 id="external">2.2. External Email</h3>
 
-        <p>Edit <a href="conf/etc/skel/.mutt/external">.mutt/external</a>;</p>
+        <p>Edit <a href="../linux/conf/skel/.mutt/external">.mutt/external</a>;</p>
 
         <pre>
         color status blue default
diff --git a/tools/nginx.html b/tools/nginx.html
index 32685b9..6d0117c 100644
--- a/tools/nginx.html
+++ b/tools/nginx.html
@@ -366,7 +366,7 @@
 
         <h3 id="virtual-server">4.3. Setup virtual server</h3>
 
-        <p>Example of pmwiki virtual server, check <a href="conf/etc/nginx/sites-enabled/">/etc/nginx/sites-enabled</a> for the rest of examples mentioned <a href="#default-server">default server</a>. If wiki server is running on same machine add following to /etc/hosts;</p>
+        <p>Example of pmwiki virtual server, check <a href="../linux/conf/nginx/sites-enabled/">/etc/nginx/sites-enabled</a> for the rest of examples mentioned <a href="#default-server">default server</a>. If wiki server is running on same machine add following to /etc/hosts;</p>
 
         <pre>
         127.0.0.1 wiki.c2.ank
diff --git a/tools/postgresql.html b/tools/postgresql.html
index a87c0b9..a01cb2b 100644
--- a/tools/postgresql.html
+++ b/tools/postgresql.html
@@ -125,7 +125,7 @@
 
         <h3 id="init">2.1. Init script</h3>
 
-        <p>Change <a href="conf/etc/rc.d/postgresql">/etc/rc.d/postgresql</a>;</p>
+        <p>Change <a href="../linux/conf/rc.d/postgresql">/etc/rc.d/postgresql</a>;</p>
 
         <pre>
         #
diff --git a/tools/syslog-ng.html b/tools/syslog-ng.html
index f192fa5..47b35cd 100644
--- a/tools/syslog-ng.html
+++ b/tools/syslog-ng.html
@@ -31,7 +31,7 @@
 
         <h2 id="configure">1.4. Syslog-ng configuration</h2>
 
-        <p>Example of <a href="conf/etc/syslog-ng.conf">/etc/syslog-ng.conf</a>
+        <p>Example of <a href="../linux/conf/syslog-ng.conf">/etc/syslog-ng.conf</a>
         that configures syslog-ng matching tools already installed in the system
         and some that are part of <a href="../tools/index.html">tools</a>.</p>
 
@@ -52,7 +52,7 @@
         # End of file
         </pre>
 
-        <p>Edit <a href="conf/etc/syslog-ng.conf">/etc/syslog-ng.conf</a> with your logging preferences;</p>
+        <p>Edit <a href="../linux/conf/syslog-ng.conf">/etc/syslog-ng.conf</a> with your logging preferences;</p>
 
         <pre>
         @version: 3.25
diff --git a/tools/vim.html b/tools/vim.html
index 6d34312..1721749 100644
--- a/tools/vim.html
+++ b/tools/vim.html
@@ -25,11 +25,11 @@
             <dd>Your personal Vim initializations.</dd>
         </dl>
 
-        <p>Copy <a href="conf/etc/skel/.vimrc">/etc/skel/.vimrc</a> skeleton example, so that each user have a base to start
+        <p>Copy <a href="../linux/conf/skel/.vimrc">/etc/skel/.vimrc</a> skeleton example, so that each user have a base to start
         personalizing it;</p>
 
         <pre>
-        $ sudo cp ~/doc/conf/etc/skel/.vimrc /etc/skel/
+        $ sudo cp ~/doc/../linux/conf/skel/.vimrc /etc/skel/
         $ sudo mkdir /etc/skel/.vim
         $ sudo mkdir /etc/skel/.vim/swap
         $ sudo mkdir /etc/skel/.vim/views
diff --git a/tools/x.html b/tools/x.html
index 0e9a4eb..b4df557 100644
--- a/tools/x.html
+++ b/tools/x.html
@@ -40,7 +40,7 @@
 
         <h3>Local xinitrc</h3>
 
-        <p>Local xinitrc configuration: <a href="conf/etc/skel/.xinitrc">/etc/skel/.xinitrc</a>;</p>
+        <p>Local xinitrc configuration: <a href="../linux/conf/skel/.xinitrc">/etc/skel/.xinitrc</a>;</p>
 
         <pre>
 	## Start the window manager
@@ -59,7 +59,7 @@
         </pre>
 
         <h3>Global xinitrc</h3>
-        <p>Global xinitrc configuration: <a href="conf/etc/X11/xinit/xinitrc">/usr/etc/X11/xinit/xinitrc</a>;</p>
+        <p>Global xinitrc configuration: <a href="../linux/conf/X11/xinit/xinitrc">/usr/etc/X11/xinit/xinitrc</a>;</p>
 
         <pre>
         #!/bin/sh
@@ -101,7 +101,7 @@
 
         <h3 id="confkeyboard">Keyboard config</h3>
 
-	<p>Xorg global default keyboard configuration; <a href="conf/etc/X11/xorg.conf.d/10-keyboard.conf">/etc/X11/xorg.conf.d/10-keyboard.conf</a></p>
+	<p>Xorg global default keyboard configuration; <a href="../linux/conf/X11/xorg.conf.d/10-keyboard.conf">/etc/X11/xorg.conf.d/10-keyboard.conf</a></p>
 
         <pre>
          Section "InputClass"