diff options
-rw-r--r-- | index.html | 2 | ||||
-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.conf | 6 | ||||
-rwxr-xr-x | linux/conf/rc.d/blan (renamed from tools/conf/etc/rc.d/blan) | 0 | ||||
-rwxr-xr-x | linux/conf/rc.d/dnscrypt-proxy (renamed from tools/conf/etc/rc.d/dnscrypt-proxy) | 0 | ||||
-rwxr-xr-x | linux/conf/rc.d/git-daemon | 2 | ||||
-rwxr-xr-x | linux/conf/rc.d/syslog-ng (renamed from tools/conf/etc/rc.d/syslog-ng) | 0 | ||||
-rw-r--r-- | linux/conf/resolv.conf | 17 | ||||
-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.conf | 12 | ||||
-rwxr-xr-x | tools/conf/etc/rc.d/git-daemon | 43 | ||||
-rwxr-xr-x | tools/conf/etc/rc.d/postgresql | 16 | ||||
-rw-r--r-- | tools/conf/etc/resolv.conf | 9 | ||||
-rw-r--r-- | tools/conf/srv/gitolite/cgitrc | 79 | ||||
-rwxr-xr-x | tools/conf/srv/gitolite/deploy-web (renamed from tools/conf/srv/gitolite/deploy-web-doc) | 17 | ||||
-rw-r--r-- | tools/conf/srv/gitolite/deploy-web.sh | 14 | ||||
-rwxr-xr-x | tools/conf/srv/gitolite/deploy.sh | 210 | ||||
-rw-r--r-- | tools/conf/srv/gitolite/hook.sh | 14 | ||||
-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.rc | 204 | ||||
-rw-r--r-- | tools/dnsmasq.html | 8 | ||||
-rw-r--r-- | tools/gitolite.html | 334 | ||||
-rw-r--r-- | tools/mutt.html | 6 | ||||
-rw-r--r-- | tools/nginx.html | 2 | ||||
-rw-r--r-- | tools/postgresql.html | 2 | ||||
-rw-r--r-- | tools/syslog-ng.html | 4 | ||||
-rw-r--r-- | tools/vim.html | 4 | ||||
-rw-r--r-- | tools/x.html | 6 |
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" > /srv/gitolite/deploy/${GL_REPO} -#echo "${SCRIPT_VARS}" >> /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" > /srv/gitolite/deploy/${GL_REPO} - #echo "${SCRIPT_VARS}" >> /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 <${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 <${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<${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<${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} >> ${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} - - } - - 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" |