From f832e249164ff5803e8364efbe91ab190be0e6a1 Mon Sep 17 00:00:00 2001
From: punk
Date: Sat, 24 Apr 2021 19:35:03 +0100
Subject: tools/gitolite hooks transition from bash to sh
---
tools/conf/srv/gitolite/deploy-web | 45 ++++++++++++++++++++++++++++++++++
tools/conf/srv/gitolite/deploy-web-doc | 42 -------------------------------
tools/conf/srv/gitolite/deploy-web.sh | 6 ++---
tools/conf/srv/gitolite/hook.sh | 12 ++++-----
4 files changed, 54 insertions(+), 51 deletions(-)
create mode 100755 tools/conf/srv/gitolite/deploy-web
delete mode 100755 tools/conf/srv/gitolite/deploy-web-doc
(limited to 'tools/conf/srv/gitolite')
diff --git a/tools/conf/srv/gitolite/deploy-web b/tools/conf/srv/gitolite/deploy-web
new file mode 100755
index 0000000..aa4a7fa
--- /dev/null
+++ b/tools/conf/srv/gitolite/deploy-web
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+######################################################################
+#
+# Put this file in your gitolite-admin;
+# ~/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="master"
+
+######################################################################
+
+
+url="$host/.last_deploy"
+
+. /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
diff --git a/tools/conf/srv/gitolite/deploy-web-doc b/tools/conf/srv/gitolite/deploy-web-doc
deleted file mode 100755
index b836515..0000000
--- a/tools/conf/srv/gitolite/deploy-web-doc
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/bash
-######################################################################
-#
-# Put this file in your gitolite-admin;
-# ~/gitolite-admin/local/hooks/repo-specific/hook-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"
-
-######################################################################
-
-
-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
diff --git a/tools/conf/srv/gitolite/deploy-web.sh b/tools/conf/srv/gitolite/deploy-web.sh
index 86d2026..702f110 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"
diff --git a/tools/conf/srv/gitolite/hook.sh b/tools/conf/srv/gitolite/hook.sh
index 1f977ca..7a98a8c 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
--
cgit 1.4.1-2-gfad0
From a25aec1591b72059da2b19446e87bef4b1844dca Mon Sep 17 00:00:00 2001
From: punk
Date: Sat, 24 Apr 2021 22:26:39 +0100
Subject: fix migration to sh of gitolite hooks
---
tools/conf/srv/gitolite/deploy-web.sh | 8 +-
tools/conf/srv/gitolite/deploy.sh | 210 +++++++++++++++++-----------------
tools/conf/srv/gitolite/hook.sh | 2 +-
3 files changed, 114 insertions(+), 106 deletions(-)
(limited to 'tools/conf/srv/gitolite')
diff --git a/tools/conf/srv/gitolite/deploy-web.sh b/tools/conf/srv/gitolite/deploy-web.sh
index 702f110..fcefa97 100644
--- a/tools/conf/srv/gitolite/deploy-web.sh
+++ b/tools/conf/srv/gitolite/deploy-web.sh
@@ -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 7a98a8c..be6a696 100644
--- a/tools/conf/srv/gitolite/hook.sh
+++ b/tools/conf/srv/gitolite/hook.sh
@@ -87,7 +87,7 @@ 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}
--
cgit 1.4.1-2-gfad0
From 3790c6ecd836d25815f7cb8deef62a77d4f3ac9f Mon Sep 17 00:00:00 2001
From: punk
Date: Thu, 29 Apr 2021 16:01:37 +0100
Subject: renamed gitolite/cgit configuration files
---
tools/conf/srv/gitolite/.gitolite.rc | 200 ----------------------
tools/conf/srv/gitolite/cgitrc | 79 +++++++++
tools/conf/srv/gitolite/linux.gitweb.gitolite.rc | 200 ++++++++++++++++++++++
tools/conf/srv/gitolite/openbsd.cgit.gitolite.rc | 204 +++++++++++++++++++++++
tools/gitolite.html | 2 +-
5 files changed, 484 insertions(+), 201 deletions(-)
delete mode 100644 tools/conf/srv/gitolite/.gitolite.rc
create mode 100644 tools/conf/srv/gitolite/cgitrc
create mode 100644 tools/conf/srv/gitolite/linux.gitweb.gitolite.rc
create mode 100644 tools/conf/srv/gitolite/openbsd.cgit.gitolite.rc
(limited to 'tools/conf/srv/gitolite')
diff --git a/tools/conf/srv/gitolite/.gitolite.rc b/tools/conf/srv/gitolite/.gitolite.rc
deleted file mode 100644
index d2c80b7..0000000
--- a/tools/conf/srv/gitolite/.gitolite.rc
+++ /dev/null
@@ -1,200 +0,0 @@
-# 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 => 027,
-
- # look for "git-config" in the documentation
- 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',
-
- # 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 enties 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/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/linux.gitweb.gitolite.rc b/tools/conf/srv/gitolite/linux.gitweb.gitolite.rc
new file mode 100644
index 0000000..d2c80b7
--- /dev/null
+++ b/tools/conf/srv/gitolite/linux.gitweb.gitolite.rc
@@ -0,0 +1,200 @@
+# 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 => 027,
+
+ # look for "git-config" in the documentation
+ 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',
+
+ # 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 enties 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/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/gitolite.html b/tools/gitolite.html
index 108d4d8..ace87d9 100644
--- a/tools/gitolite.html
+++ b/tools/gitolite.html
@@ -238,7 +238,7 @@
This document creates three scripts, one is run when gitolite receives
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 - deploy.sh. hooks.sh are support functions for deploy hook.
+ is project specific - deploy.sh. File hooks.sh are support functions for deploy-web hook.
cron ---> deploy.sh
--
cgit 1.4.1-2-gfad0