Don't hardcode urls when SCRIPT_NAME is available
Also, let the makefile define the name of the installed cgi and use that definition as a default value for cgit_script_name variable. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
这个提交包含在:
		
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							| @@ -5,6 +5,7 @@ prefix = /var/www/htdocs/cgit | ||||
| SHA1_HEADER = <openssl/sha.h> | ||||
| CACHE_ROOT = /var/cache/cgit | ||||
| CGIT_CONFIG = /etc/cgitrc | ||||
| CGIT_SCRIPT_NAME = cgit.cgi | ||||
|  | ||||
| EXTLIBS = git/libgit.a git/xdiff/lib.a -lz -lcrypto | ||||
| OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \ | ||||
| @@ -21,6 +22,7 @@ CFLAGS += -Igit | ||||
| CFLAGS += -DSHA1_HEADER='$(SHA1_HEADER)' | ||||
| CFLAGS += -DCGIT_VERSION='"$(CGIT_VERSION)"' | ||||
| CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"' | ||||
| CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"' | ||||
|  | ||||
|  | ||||
| # | ||||
| @@ -56,7 +58,7 @@ git/libgit.a: | ||||
| # | ||||
| install: all clean-cache | ||||
| 	mkdir -p $(prefix) | ||||
| 	install cgit $(prefix)/cgit.cgi | ||||
| 	install cgit $(prefix)/$(CGIT_SCRIPT_NAME) | ||||
| 	install cgit.css $(prefix)/cgit.css | ||||
| 	install add.png del.png $(prefix)/ | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								cgit.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								cgit.c
									
									
									
									
									
								
							| @@ -244,6 +244,8 @@ int main(int argc, const char **argv) | ||||
| 	cgit_repolist.repos = NULL; | ||||
|  | ||||
| 	cgit_read_config(CGIT_CONFIG, cgit_global_config_cb); | ||||
| 	if (getenv("SCRIPT_NAME")) | ||||
| 		cgit_script_name = xstrdup(getenv("SCRIPT_NAME")); | ||||
| 	if (getenv("QUERY_STRING")) | ||||
| 		cgit_querystring = xstrdup(getenv("QUERY_STRING")); | ||||
| 	cgit_parse_args(argc, argv); | ||||
|   | ||||
							
								
								
									
										1
									
								
								cgit.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								cgit.h
									
									
									
									
									
								
							| @@ -75,6 +75,7 @@ extern char *cgit_logo; | ||||
| extern char *cgit_logo_link; | ||||
| extern char *cgit_module_link; | ||||
| extern char *cgit_virtual_root; | ||||
| extern char *cgit_script_name; | ||||
| extern char *cgit_cache_root; | ||||
|  | ||||
| extern int cgit_nocache; | ||||
|   | ||||
							
								
								
									
										2
									
								
								shared.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								shared.c
									
									
									
									
									
								
							| @@ -17,7 +17,7 @@ char *cgit_logo         = "/git-logo.png"; | ||||
| char *cgit_logo_link    = "http://www.kernel.org/pub/software/scm/git/docs/"; | ||||
| char *cgit_module_link  = "./?repo=%s&page=commit&id=%s"; | ||||
| char *cgit_virtual_root = NULL; | ||||
|  | ||||
| char *cgit_script_name  = CGIT_SCRIPT_NAME; | ||||
| char *cgit_cache_root   = "/var/cache/cgit"; | ||||
|  | ||||
| int cgit_nocache               =  0; | ||||
|   | ||||
| @@ -45,7 +45,7 @@ char *cgit_rooturl() | ||||
| 	if (cgit_virtual_root) | ||||
| 		return fmt("%s/", cgit_virtual_root); | ||||
| 	else | ||||
| 		return "./cgit.cgi"; | ||||
| 		return cgit_script_name; | ||||
| } | ||||
|  | ||||
| char *cgit_repourl(const char *reponame) | ||||
| @@ -71,7 +71,7 @@ char *cgit_pageurl(const char *reponame, const char *pagename, | ||||
| char *cgit_currurl() | ||||
| { | ||||
| 	if (!cgit_virtual_root) | ||||
| 		return "./cgit.cgi"; | ||||
| 		return cgit_script_name; | ||||
| 	else if (cgit_query_page) | ||||
| 		return fmt("%s/%s/%s/", cgit_virtual_root, cgit_query_repo, cgit_query_page); | ||||
| 	else if (cgit_query_repo) | ||||
|   | ||||
		在新工单中引用
	
	屏蔽一个用户
	 Lars Hjemli
					Lars Hjemli