So, ihr wollt cgit auf dem Uberspace installieren? Dann macht euch auf ein klein wenig Arbeit gefasst.

Ihr holt euch erst mal cgit und kompiliert es.

git clone https://github.com/zx2c4/cgit.git
cd cgit

Danach müsst ihr in der config erst mal ein paar Einstellungen ändern, weil wir ja Zeugs nicht als root installieren können. $whoami mit eurem uberspace-namen ersetzen. In meinem Fall wäre das also tribly.

vim Makefile
CGIT_SCRIPT_PATH = /home/$whoami/cgi-bin
CGIT_DATA_PATH = $(CGIT_SCRIPT_PATH)
CGIT_CONFIG = /home/$whoami/etc/cgitrc
CACHE_ROOT = /home/$whoami/cache/cgit

Passende version von git installieren:

make get-git

Und nun cgit kompilieren:

make

cgit ins cgi-bin Verzeichnis verschieben:

mv cgit ~/cgi-bin/

Nachdem wir fertig damit sind, müssen wir uns ein wenig um die Aufteilung kümmern. Mein cgit läuft über git.tribly.de, also eine sub-domain. Also verschiebe ich die cgit.css und cgit.png nach git/static. (ich nehme an, ihr wisst wie man eine sub-domain erstellt)

mkdir ~/git/static
cp ~/cgit/{cgit.css, cgit.png} ~/git/static

Nun noch eine ~/git/.htaccess anlegen:

RewriteEngine on
Options +ExecCGI

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) /cgi-bin/cgit.cgi/$1 [PT]

Und noch eine ~/etc/cgitrc:

virtual-root=/
enable-index-links=1
enable-log-filecount=1
enable-log-linecount=1
enable-commit-graph=1
snapshots=tar.gz tar.bz zip

css=/static/cgit.css
logo=/static/cgit.png

So, damit wäre cgit nun unter git.$whoami erreichbar.

Syntax-Highlighting

Falls du nun noch syntax-highlighting willst (ungeschickt gelöst):

toast get http://www.andre-simon.de/zip/highlight-3.18.tar.bz2

cd .toast/pkg/highlight/v3.18/archive
tar -xvf highlight-3.18.tar.bz
rm highlight-3.18.tar.bz

vim highlight-3.18/src/makefile

Da uberspace lua5.1 nutzt, und in highlight lua5.2 eingestellt ist, müssen wir das noch ändern. Also nach der Zeile LUA_CFLAGS=$(shell pkg-config --cflags lua) -DUSE_LUA52 suchen und LUA52 mit LUA51 ersetzen.

Und dann wieder einpacken und armen:

tar -cf highlight-3.18.tar.bz highlight-3.18

toast arm highlight

Nun noch (hab ich so gemacht, könnt ihr machen wie ihr wollt), ~/cgit/filters nach ~/git verschieben und in ~/git/filters/syntax-highlighting.py die shebang von python auf python2.7 umändern, da uberspace default python2.6 nutzt, aber ptyhon2.7 benötigt wird.

Und noch als aller letzten Schritt die highlight-settings in die ~/etc/cgitrc eintragen (muss der absolute Pfad sein):

source-filter=/var/www/virtual/$whoami/git.$whoami.de/filters/syntax-highlighting.py
about-filter=/var/www/virtual/$whoami/git.$whoami.de/filters/about-formatting.sh

Und das wars aber auch nun.

Viel Spaß mit eurem cgit :)

Erstellt mit der Hilfe von:

  • diesem Blog-Eintrag
  • Uberspace support der die Boost Dev-Header installiert und mir gesagt hat, dass man eine andere Lua version braucht
  • Rasi und bl1nk von #archlinux.de