Modification : vm_hosted -> etc/sv/*/{,log/}run .
[lhc/ateliers.git] / etc / sv / gitweb / run
index 150854d..48f26ec 100755 (executable)
@@ -1,10 +1,71 @@
 #!/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&eacute;p&ocirc;ts';
+       \$home_th_age = 'activit&eacute;';
+       \$home_th_descr = 'description';
+       \$home_th_owner = 'contact';
+       \$home_th_project = 'd&eacute;p&ocirc;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&nbsp;:";
+       \$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/&lt;projet&gt;</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
+
 exec /usr/bin/spawn-fcgi \
  -u fcgi-"$sv" \
  -g fcgi-"$sv" \