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>
This commit is contained in:
vanhempi
6fb7d09fea
commit
ea2831f1c8
4
Makefile
4
Makefile
@ -5,6 +5,7 @@ prefix = /var/www/htdocs/cgit
|
|||||||
SHA1_HEADER = <openssl/sha.h>
|
SHA1_HEADER = <openssl/sha.h>
|
||||||
CACHE_ROOT = /var/cache/cgit
|
CACHE_ROOT = /var/cache/cgit
|
||||||
CGIT_CONFIG = /etc/cgitrc
|
CGIT_CONFIG = /etc/cgitrc
|
||||||
|
CGIT_SCRIPT_NAME = cgit.cgi
|
||||||
|
|
||||||
EXTLIBS = git/libgit.a git/xdiff/lib.a -lz -lcrypto
|
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 \
|
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 += -DSHA1_HEADER='$(SHA1_HEADER)'
|
||||||
CFLAGS += -DCGIT_VERSION='"$(CGIT_VERSION)"'
|
CFLAGS += -DCGIT_VERSION='"$(CGIT_VERSION)"'
|
||||||
CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"'
|
CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"'
|
||||||
|
CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"'
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -56,7 +58,7 @@ git/libgit.a:
|
|||||||
#
|
#
|
||||||
install: all clean-cache
|
install: all clean-cache
|
||||||
mkdir -p $(prefix)
|
mkdir -p $(prefix)
|
||||||
install cgit $(prefix)/cgit.cgi
|
install cgit $(prefix)/$(CGIT_SCRIPT_NAME)
|
||||||
install cgit.css $(prefix)/cgit.css
|
install cgit.css $(prefix)/cgit.css
|
||||||
install add.png del.png $(prefix)/
|
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_repolist.repos = NULL;
|
||||||
|
|
||||||
cgit_read_config(CGIT_CONFIG, cgit_global_config_cb);
|
cgit_read_config(CGIT_CONFIG, cgit_global_config_cb);
|
||||||
|
if (getenv("SCRIPT_NAME"))
|
||||||
|
cgit_script_name = xstrdup(getenv("SCRIPT_NAME"));
|
||||||
if (getenv("QUERY_STRING"))
|
if (getenv("QUERY_STRING"))
|
||||||
cgit_querystring = xstrdup(getenv("QUERY_STRING"));
|
cgit_querystring = xstrdup(getenv("QUERY_STRING"));
|
||||||
cgit_parse_args(argc, argv);
|
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_logo_link;
|
||||||
extern char *cgit_module_link;
|
extern char *cgit_module_link;
|
||||||
extern char *cgit_virtual_root;
|
extern char *cgit_virtual_root;
|
||||||
|
extern char *cgit_script_name;
|
||||||
extern char *cgit_cache_root;
|
extern char *cgit_cache_root;
|
||||||
|
|
||||||
extern int cgit_nocache;
|
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_logo_link = "http://www.kernel.org/pub/software/scm/git/docs/";
|
||||||
char *cgit_module_link = "./?repo=%s&page=commit&id=%s";
|
char *cgit_module_link = "./?repo=%s&page=commit&id=%s";
|
||||||
char *cgit_virtual_root = NULL;
|
char *cgit_virtual_root = NULL;
|
||||||
|
char *cgit_script_name = CGIT_SCRIPT_NAME;
|
||||||
char *cgit_cache_root = "/var/cache/cgit";
|
char *cgit_cache_root = "/var/cache/cgit";
|
||||||
|
|
||||||
int cgit_nocache = 0;
|
int cgit_nocache = 0;
|
||||||
|
@ -45,7 +45,7 @@ char *cgit_rooturl()
|
|||||||
if (cgit_virtual_root)
|
if (cgit_virtual_root)
|
||||||
return fmt("%s/", cgit_virtual_root);
|
return fmt("%s/", cgit_virtual_root);
|
||||||
else
|
else
|
||||||
return "./cgit.cgi";
|
return cgit_script_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *cgit_repourl(const char *reponame)
|
char *cgit_repourl(const char *reponame)
|
||||||
@ -71,7 +71,7 @@ char *cgit_pageurl(const char *reponame, const char *pagename,
|
|||||||
char *cgit_currurl()
|
char *cgit_currurl()
|
||||||
{
|
{
|
||||||
if (!cgit_virtual_root)
|
if (!cgit_virtual_root)
|
||||||
return "./cgit.cgi";
|
return cgit_script_name;
|
||||||
else if (cgit_query_page)
|
else if (cgit_query_page)
|
||||||
return fmt("%s/%s/%s/", cgit_virtual_root, cgit_query_repo, cgit_query_page);
|
return fmt("%s/%s/%s/", cgit_virtual_root, cgit_query_repo, cgit_query_page);
|
||||||
else if (cgit_query_repo)
|
else if (cgit_query_repo)
|
||||||
|
Ladataan…
Viittaa uudesa ongelmassa
Block a user