Author: Lars Hjemli <hjemli@gmail.com>
Add support for prefix and gitsrc arguments to 'make' This should improve the installation a little, especially since the new options are mentioned in the README. Also, add a make-rule to build the git binaries if necessary + a dependency between cgit and libgit.a. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Makefile | 18 ++++++++++++------ README | 34 +++++++++++++++++++++++++---------
diff --git a/Makefile b/Makefile index 72a1cfff02c6b83c59fbbca42ace5c266a7cc640..e8632055c82acb825a16dfbf3379a632bbdc371d 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,10 @@ CGIT_VERSION = 0.1 -INSTALL_DIR = /var/www/htdocs/cgit +prefix = /var/www/htdocs/cgit +gitsrc = ../git + CACHE_ROOT = /var/cache/cgit - -EXTLIBS = ../git/libgit.a ../git/xdiff/lib.a -lz -lcrypto +EXTLIBS = $(gitsrc)/libgit.a $(gitsrc)/xdiff/lib.a -lz -lcrypto OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \ ui-summary.o ui-log.o ui-view.c ui-tree.c ui-commit.c ui-diff.o @@ -16,16 +17,21 @@ all: cgit install: all clean-cache - install cgit $(INSTALL_DIR)/cgit.cgi - install cgit.css $(INSTALL_DIR)/cgit.css + mkdir -p $(prefix) + install cgit $(prefix)/cgit.cgi + install cgit.css $(prefix)/cgit.css -cgit: cgit.c cgit.h git.h $(OBJECTS) +cgit: cgit.c cgit.h git.h $(OBJECTS) $(gitsrc)/libgit.a $(CC) $(CFLAGS) -DCGIT_VERSION='"$(CGIT_VERSION)"' cgit.c -o cgit \ $(OBJECTS) $(EXTLIBS) $(OBJECTS): cgit.h git.h ui-diff.o: xdiff.h + +$(gitsrc)/libgit.a: + $(MAKE) -C $(gitsrc) + .PHONY: clean clean: diff --git a/README b/README index 17e284eaedcf2c50200bfee3cb4d11ab53342e13..a14418e8db8af0e239b524a0f37505e94f9993ba 100644 --- a/README +++ b/README @@ -8,20 +8,36 @@ Installation -$ $EDITOR Makefile -$ make -$ sudo make install + $ make gitsrc=<path> + $ su + $ make prefix=<path> install + + +Default value for gitsrc is "../git", and this directory should contain the +git sources. -Note: cgit requires the git and xdiff libraries. Currently, the makefile -expects these files to be found in '../git/libgit.a' and '../git/xdiff/lib.a', -where they will be if you have built git from source in a parallell directory. +Default value for prefix is "/var/www/htdocs/cgit". This directory will +contain "cgit.cgi" and "cgit.css" after 'make install'. + +After installation, httpd.conf probably must be updated with a Directory- +section for cgit, possibly something like this: + + <Directory "/var/www/htdocs/cgit/"> + AllowOverride None + Options ExecCGI + Order allow,deny + Allow from all + </Directory> Runtime configuration -The file /etc/cgitrc is read by cgit before handling a request. A template -cgitrc is shipped with the sources, and all parameters and default values -can be found in this file. +The file /etc/cgitrc is read by cgit before handling a request. In addition +to runtime parameters, this file also contains a list of the repositories +displayed by cgit. + +A template cgitrc is shipped with the sources, and all parameters and default +values are documented in this file. The cache