summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile4
-rw-r--r--cgit.c2
-rw-r--r--cgit.h1
-rw-r--r--shared.c2
-rw-r--r--ui-shared.c4
5 files changed, 9 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 3d8edb8..96d68cb 100644
--- a/Makefile
+++ b/Makefile
@@ -5,6 +5,7 @@ prefix = /var/www/htdocs/cgit
5SHA1_HEADER = <openssl/sha.h> 5SHA1_HEADER = <openssl/sha.h>
6CACHE_ROOT = /var/cache/cgit 6CACHE_ROOT = /var/cache/cgit
7CGIT_CONFIG = /etc/cgitrc 7CGIT_CONFIG = /etc/cgitrc
8CGIT_SCRIPT_NAME = cgit.cgi
8 9
9EXTLIBS = git/libgit.a git/xdiff/lib.a -lz -lcrypto 10EXTLIBS = git/libgit.a git/xdiff/lib.a -lz -lcrypto
10OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \ 11OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \
@@ -21,6 +22,7 @@ CFLAGS += -Igit
21CFLAGS += -DSHA1_HEADER='$(SHA1_HEADER)' 22CFLAGS += -DSHA1_HEADER='$(SHA1_HEADER)'
22CFLAGS += -DCGIT_VERSION='"$(CGIT_VERSION)"' 23CFLAGS += -DCGIT_VERSION='"$(CGIT_VERSION)"'
23CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"' 24CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"'
25CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"'
24 26
25 27
26# 28#
@@ -56,7 +58,7 @@ git/libgit.a:
56# 58#
57install: all clean-cache 59install: all clean-cache
58 mkdir -p $(prefix) 60 mkdir -p $(prefix)
59 install cgit $(prefix)/cgit.cgi 61 install cgit $(prefix)/$(CGIT_SCRIPT_NAME)
60 install cgit.css $(prefix)/cgit.css 62 install cgit.css $(prefix)/cgit.css
61 install add.png del.png $(prefix)/ 63 install add.png del.png $(prefix)/
62 64
diff --git a/cgit.c b/cgit.c
index 67ad103..3c11ff0 100644
--- a/cgit.c
+++ b/cgit.c
@@ -244,6 +244,8 @@ int main(int argc, const char **argv)
244 cgit_repolist.repos = NULL; 244 cgit_repolist.repos = NULL;
245 245
246 cgit_read_config(CGIT_CONFIG, cgit_global_config_cb); 246 cgit_read_config(CGIT_CONFIG, cgit_global_config_cb);
247 if (getenv("SCRIPT_NAME"))
248 cgit_script_name = xstrdup(getenv("SCRIPT_NAME"));
247 if (getenv("QUERY_STRING")) 249 if (getenv("QUERY_STRING"))
248 cgit_querystring = xstrdup(getenv("QUERY_STRING")); 250 cgit_querystring = xstrdup(getenv("QUERY_STRING"));
249 cgit_parse_args(argc, argv); 251 cgit_parse_args(argc, argv);
diff --git a/cgit.h b/cgit.h
index 0fff7b0..f5906ad 100644
--- a/cgit.h
+++ b/cgit.h
@@ -75,6 +75,7 @@ extern char *cgit_logo;
75extern char *cgit_logo_link; 75extern char *cgit_logo_link;
76extern char *cgit_module_link; 76extern char *cgit_module_link;
77extern char *cgit_virtual_root; 77extern char *cgit_virtual_root;
78extern char *cgit_script_name;
78extern char *cgit_cache_root; 79extern char *cgit_cache_root;
79 80
80extern int cgit_nocache; 81extern int cgit_nocache;
diff --git a/shared.c b/shared.c
index 072bb6d..8505397 100644
--- a/shared.c
+++ b/shared.c
@@ -17,7 +17,7 @@ char *cgit_logo = "/git-logo.png";
17char *cgit_logo_link = "http://www.kernel.org/pub/software/scm/git/docs/"; 17char *cgit_logo_link = "http://www.kernel.org/pub/software/scm/git/docs/";
18char *cgit_module_link = "./?repo=%s&page=commit&id=%s"; 18char *cgit_module_link = "./?repo=%s&page=commit&id=%s";
19char *cgit_virtual_root = NULL; 19char *cgit_virtual_root = NULL;
20 20char *cgit_script_name = CGIT_SCRIPT_NAME;
21char *cgit_cache_root = "/var/cache/cgit"; 21char *cgit_cache_root = "/var/cache/cgit";
22 22
23int cgit_nocache = 0; 23int cgit_nocache = 0;
diff --git a/ui-shared.c b/ui-shared.c
index 6f5cf2b..b0cff7d 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -45,7 +45,7 @@ char *cgit_rooturl()
45 if (cgit_virtual_root) 45 if (cgit_virtual_root)
46 return fmt("%s/", cgit_virtual_root); 46 return fmt("%s/", cgit_virtual_root);
47 else 47 else
48 return "./cgit.cgi"; 48 return cgit_script_name;
49} 49}
50 50
51char *cgit_repourl(const char *reponame) 51char *cgit_repourl(const char *reponame)
@@ -71,7 +71,7 @@ char *cgit_pageurl(const char *reponame, const char *pagename,
71char *cgit_currurl() 71char *cgit_currurl()
72{ 72{
73 if (!cgit_virtual_root) 73 if (!cgit_virtual_root)
74 return "./cgit.cgi"; 74 return cgit_script_name;
75 else if (cgit_query_page) 75 else if (cgit_query_page)
76 return fmt("%s/%s/%s/", cgit_virtual_root, cgit_query_repo, cgit_query_page); 76 return fmt("%s/%s/%s/", cgit_virtual_root, cgit_query_repo, cgit_query_page);
77 else if (cgit_query_repo) 77 else if (cgit_query_repo)