#!/bin/sh -eux
exec 2>&1
sv=${PWD#/etc/sv/}
-home=~git-data
-domainname=$(domainname)
-case ${domainname-} in
- (""|"(none)") false;;
- esac
-
-getent passwd fcgi-"$sv" >/dev/null ||
-adduser fcgi-"$sv" \
- --disabled-login \
- --disabled-password \
- --group \
- --home "$home" \
- --shell /bin/false \
- --system
-
-adduser fcgi-"$sv" www-"$sv"
-adduser fcgi-"$sv" git-data
-
-install -d -m 2750 -o git -g fcgi-"$sv" \
- /etc/gitweb
-install -m 400 -o fcgi-"$sv" -g fcgi-"$sv" /dev/stdin \
- /etc/gitweb/gitweb.conf <<-EOF
- \$commit_oneline_message_width = 70;
- \$default_projects_order = 'project';
- \$default_text_plain_charset = 'UTF-8';
- @diff_opts = ();
- \$favicon = "static/git-favicon.png";
- \$feature{'highlight'}{'default'} = [1];
- \$git_temp = "/run/shm/tmp/gitweb";
- \$home_text = "/etc/gitweb/home_text.html";
- \$home_link = "/";
- \$home_link_str = 'dépôts';
- \$home_th_age = 'activité';
- \$home_th_descr = 'description';
- \$home_th_owner = 'contact';
- \$home_th_project = 'dépôt';
- \$javascript = "static/gitweb.js";
- \$logo = "static/git-logo.png";
- \$my_uri = "";
- \$projectroot = "/home/git/pub";
- \$projects_list = "/etc/gitweb/projects.list";
- \$projects_list_description_width = 42;
- \$projects_list_owner_width = 15;
- \$search_str = "Filtre :";
- \$site_footer = "/etc/gitweb/site_footer.html";
- \$site_header = "/etc/gitweb/site_header.html";
- \$site_name = "git.$domainname";
- @stylesheets = ("static/gitweb.css");#
- EOF
-sudo install -m 400 -o fcgi-"$sv" -g fcgi-"$sv" /dev/stdin \
- /etc/gitweb/home_text.html <<-EOF
- <h2>Forge logicielle publique de l'Heureux Cyclage</h2>
- <p>Pour récupérer un dépôt public :</p>
- <pre>git clone git://git.heureux-cyclage.org/<projet></pre>
- EOF
-
-ln -fns \
- /etc/gitweb \
- ~git/etc/gitweb
install -d -m 1771 -o root -g root \
/run/spawn-fcgi
-install -d -m 1771 -o fcgi-gitweb -g fcgi-gitweb \
- /run/shm/tmp/gitweb
+install -d -m 770 -o fcgi-"$sv" -g fcgi-"$sv" \
+ /run/shm/tmp/"$sv"
exec /usr/bin/spawn-fcgi \
-u fcgi-"$sv" \