File tree Expand file tree Collapse file tree 4 files changed +21
-3
lines changed Expand file tree Collapse file tree 4 files changed +21
-3
lines changed Original file line number Diff line number Diff line change @@ -189,6 +189,7 @@ ETC_GITCONFIG = $(sysconfdir)/gitconfig
189
189
190
190
# default configuration for gitweb
191
191
GITWEB_CONFIG = gitweb_config.perl
192
+ GITWEB_CONFIG_SYSTEM = /etc/gitweb.conf
192
193
GITWEB_HOME_LINK_STR = projects
193
194
GITWEB_SITENAME =
194
195
GITWEB_PROJECTROOT = /pub/git
@@ -1034,6 +1035,7 @@ gitweb/gitweb.cgi: gitweb/gitweb.perl
1034
1035
-e ' s|++GIT_VERSION++|$(GIT_VERSION)|g' \
1035
1036
-e ' s|++GIT_BINDIR++|$(bindir)|g' \
1036
1037
-e ' s|++GITWEB_CONFIG++|$(GITWEB_CONFIG)|g' \
1038
+ -e ' s|++GITWEB_CONFIG_SYSTEM++|$(GITWEB_CONFIG_SYSTEM)|g' \
1037
1039
-e ' s|++GITWEB_HOME_LINK_STR++|$(GITWEB_HOME_LINK_STR)|g' \
1038
1040
-e ' s|++GITWEB_SITENAME++|$(GITWEB_SITENAME)|g' \
1039
1041
-e ' s|++GITWEB_PROJECTROOT++|$(GITWEB_PROJECTROOT)|g' \
Original file line number Diff line number Diff line change @@ -95,7 +95,11 @@ for gitweb (in gitweb/README).
95
95
by default it is file named gitweb_config.perl in the same place as
96
96
gitweb.cgi script. You can control default place for config file
97
97
using GITWEB_CONFIG build configuration variable, and you can set it
98
- using GITWEB_CONFIG environmental variable.
98
+ using GITWEB_CONFIG environmental variable. If this file does not
99
+ exist, gitweb looks for a system-wide configuration file, normally
100
+ /etc/gitweb.conf. You can change the default using the
101
+ GITWEB_CONFIG_SYSTEM build configuration variable, and override it
102
+ through GITWEB_CONFIG_SYSTEM environmental variable.
99
103
100
104
- Gitweb config file is [fragment] of perl code. You can set variables
101
105
using "our $variable = value"; text from "#" character until the end
Original file line number Diff line number Diff line change @@ -100,13 +100,20 @@ You can specify the following configuration variables when building GIT:
100
100
is set when gitweb.cgi is executed, then the file specified in the
101
101
environment variable will be loaded instead of the file specified
102
102
when gitweb.cgi was created. [Default: gitweb_config.perl]
103
+ * GITWEB_CONFIG_SYSTEM
104
+ This Perl file will be loaded using 'do' as a fallback if GITWEB_CONFIG
105
+ does not exist. If the environment variable GITWEB_CONFIG_SYSTEM is set
106
+ when gitweb.cgi is executed, then the file specified in the environment
107
+ variable will be loaded instead of the file specified when gitweb.cgi was
108
+ created. [Default: /etc/gitweb.conf]
103
109
104
110
105
111
Runtime gitweb configuration
106
112
----------------------------
107
113
108
114
You can adjust gitweb behaviour using the file specified in `GITWEB_CONFIG`
109
- (defaults to 'gitweb_config.perl' in the same directory as the CGI).
115
+ (defaults to 'gitweb_config.perl' in the same directory as the CGI), and
116
+ as a fallback `GITWEB_CONFIG_SYSTEM` (defaults to /etc/gitweb.conf).
110
117
The most notable thing that is not configurable at compile time are the
111
118
optional features, stored in the '%features' variable.
112
119
Original file line number Diff line number Diff line change @@ -369,7 +369,12 @@ sub filter_snapshot_fmts {
369
369
}
370
370
371
371
our $GITWEB_CONFIG = $ENV {' GITWEB_CONFIG' } || " ++GITWEB_CONFIG++" ;
372
- do $GITWEB_CONFIG if -e $GITWEB_CONFIG ;
372
+ if (-e $GITWEB_CONFIG ) {
373
+ do $GITWEB_CONFIG ;
374
+ } else {
375
+ our $GITWEB_CONFIG_SYSTEM = $ENV {' GITWEB_CONFIG_SYSTEM' } || " ++GITWEB_CONFIG_SYSTEM++" ;
376
+ do $GITWEB_CONFIG_SYSTEM if -e $GITWEB_CONFIG_SYSTEM ;
377
+ }
373
378
374
379
# version of the core git binary
375
380
our $git_version = qx( $GIT --version) =~ m / git version (.*)$ / ? $1 : " unknown" ;
You can’t perform that action at this time.
0 commit comments