git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC] Splitting gitweb and build-time configuration variables

From
Jakub Narebski <jnareb@gmail.com>
Date
Aug 18, 2010, 08:05 UTC
Message-ID
<201008181005.49524.jnareb@gmail.com>
In-Reply-To
<20100818030321.GB21185@burratino>
On Wed, 18 Aug 2010, Jonathan Nieder wrote:
Show 22 quoted lines
> Jakub Narebski wrote:
> 
> > 1. Description of build-time configuration variable is in the module
> >    that defines it, and each block of variables coming from the same
> >    module would have notice where one can find description of those
> >    variables
> [...]
> > 2. Description of build-time configuration variables is in gitweb.perl,
> >    and in each module there is comment that full description of those
> >    variables can be found there, e.g. (proposal):
> > 
> >      # Values of those variables are set during build time in 
> >      # gitweb/gitweb.perl (main script).  You can find their description
> >      # there.
> [...]
> > 3. Duplicate description of those variables
> 
> With #2, a person reading the Makefile can grep for some particular
> substitution (++GITWEB_PROJECTROOT++) and quickly find the name and
> description of the variable it is used for.  If there were a 1:1
> correspondence between the variables in gitweb.perl and the Makefile,
> I would even suggest moving the description to the Makefile.

There is a bit of difference between Perl variables in gitweb.perl and make build-time variables in gitweb/Makefile, namely:

  our $GIT = "++GIT_BINDIR++/git";
  our $site_name = "++GITWEB_SITENAME++"
                 || ($ENV{'SERVER_NAME'} || "Untitled") . " Git";
  our @stylesheets = ("++GITWEB_CSS++");
  our @git_base_url_list = grep { $_ ne '' } ("++GITWEB_BASE_URL++");
  our $GITWEB_CONFIG = $ENV{'GITWEB_CONFIG'} || "++GITWEB_CONFIG++";
  our $GITWEB_CONFIG_SYSTEM = $ENV{'GITWEB_CONFIG_SYSTEM'}
                            || "++GITWEB_CONFIG_SYSTEM++";

Perl variables can be overriden in run-time configuration (testsuite uses this to test _source_ version i.e. gitweb.perl rather than generated gitweb.cgi), so they have to be described anyway.

I think that adding description of make variables to gitweb/Makefile, similar to what main Makefile does, would be a good idea, though I don't like that it leads to some duplication.

> 
> In practice, I suspect the run-time configuration is more important to
> people.  That is already fairly well documented in gitweb/README.

Build-time configuration is also described in gitweb/README, in more detail.

-- 
Jakub Narebski
Poland
Previous: Jonathan Nieder
Message 3 of 3 in “[RFC] Splitting gitweb and build-time configuration variables”
  1. Jakub NarebskiAug 17, 2010
  2. Jonathan NiederAug 18, 2010
  3. Jakub NarebskiAug 18, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.