X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;ds=inline;f=setup.sh;h=5452793a6a3cce6094d307773de33ab55c8297c7;hb=5b747d8f58d4e2e9a73b704a480f9015701e00f4;hp=3230bba9fca6b75796a7bc5337473f3a42218965;hpb=d0a5b73d2a275bfff5957961f2360df8966bee22;p=iankelling.org
diff --git a/setup.sh b/setup.sh
index 3230bba..5452793 100755
--- a/setup.sh
+++ b/setup.sh
@@ -1,4 +1,4 @@
-#!/bin/bash -l
+#!/bin/bash
# Copyright (C) 2016 Ian Kelling
# This program is free software: you can redistribute it and/or modify
@@ -14,32 +14,91 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
-# This script depends on a few other git repos of mine, such as
-# distro-functions, basic-https-conf, acme-tiny-wrapper
+source /a/bin/errhandle/err
-set -eE -o pipefail
-trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
+usage() {
+ cat </dev/null || pi apache2
+type -P a2enmod &>/dev/null || $s apt-get -y install apache2
+type -P sqlite3 &>/dev/null || $s apt-get -y install sqlite3
+type -P ffmpeg &>/dev/null || $s apt-get -y install ffmpeg
-acme-tiny-wrapper $domain
pkgs=(
- # build.rb dependencies
- ruby-pygments.rb ruby-safe-yaml ruby-redcarpet
- # python pkgs used for o(n^2) voting blog entry
- python-bcrypt python-passlib
- # gitweb pkgs
- gitweb highlight
+ # build.rb dependencies
+ ruby-pygments.rb ruby-safe-yaml ruby-sass
+ # python pkgs used for o(n^2) voting blog entry
+ python-bcrypt python-passlib
+ # gitweb pkgs
+ gitweb highlight
)
+if $deb8; then
+ pkgs+=(build-essential ruby-dev)
+else
+ pkgs+=(ruby-redcarpet)
+fi
+source /a/bin/distro-functions/src/package-manager-abstractions
pi ${pkgs[@]}
+if $deb8; then
+ sudo gem install redcarpet
+fi
chmod og+x _site/on2vote/vote.py
@@ -49,11 +108,11 @@ chmod og+x _site/on2vote/vote.py
# It's example apache config seems to say we can use cgi or cgid,
# and googling cgid it seems a newer faster alternative. I also
# depend on this in my o(n^2) python script.
-sudo a2enmod cgid
+$s a2enmod cgid
# additional settings from browsing https://git-scm.com/docs/gitweb.conf
-s dd of=/etc/gitweb.conf <
# to run python scripts with cgi
@@ -91,6 +151,11 @@ apache-site - $domain <
+
+ Options +ExecCGI
+ SetHandler cgi-script
+
+
# redirect some old paths when I was using jekyll.
Redirect permanent /10-14-2014/On2-vote-results.html /blog/on2-vote-results.html
Redirect permanent /09-29-2014/say-On2.html /blog/say-on2.html
@@ -140,42 +205,9 @@ Alias /git /usr/share/gitweb
EOF
-# my projects all have README or --help with a short single line
-# description which I parse and put into the gitweb description.
-_git_desc_readme() {
- while read -r line; do
- [[ $line ]] || continue
- if echo "$line" | grep "^ *[#*]" &>/dev/null; then
- continue
- fi
- echo "$line" > .git/description
- break
- done < README*
-}
-gitweb_descriptions() {
- for d in $gitroot/*; do
- d=$(readlink -f $d)
- cd $d/..
- e ${PWD##*/}
- shopt -s nullglob
- f=(!(LICENSE|COPYING|README|.git))
- shopt -u nullglob
- if [[ ${#f[@]} == 1 && ! -d $f ]]; then
- if [[ ! -x $f ]]; then
- if [[ $f == *-function ]]; then
- ${f%-function} --help | sed -n '2p' > .git/description
- else
- _git_desc_readme
- fi
- else
- $f --help | sed -n '2p' > .git/description
- fi
- else
- _git_desc_readme
- fi
- done
-}
-gitweb_descriptions
+$script_dir/gitweb-descriptions $gitroot
-./build.rb
+$script_dir/build.rb
+$s rm -rf /var/www/$domain/html
+$s ln -sT $script_dir/_site /var/www/$domain/html