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

Re: [BUGFIX PATCH 1/4] git-instaweb: Fix issue with static files for 'plackup' server

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 29, 2010, 23:52 UTC
Message-ID
<7v1v50rvat.fsf@alter.siamese.dyndns.org>
In-Reply-To
<201012291747.01288.jnareb@gmail.com>
Jakub Narebski <jnareb@gmail.com> writes:
Show 40 quoted lines
> The default (in gitweb/Makefile) is to use relative paths for gitweb
> static files, e.g. "static/gitweb.css" for GITWEB_CSS.  But the
> configuration for Plack::Middleware::Static in plackup_conf assumed
> that static files must be absolute paths starting with "/gitweb/"
> prefix which had to be stripped, e.g. "/gitweb/static/gitweb.css".
> This in turn caused web server run by "git instaweb --httpd=plackup"
> to not access static files (e.g. CSS) correctly.
>
> This is a minimal fixup, making 'plackup' web server in git-instaweb
> work with default gitweb build configuration.
>
> Reported-by: Tadeusz Sośnierz <tadzikes@gmail.com>
> Signed-off-by: Jakub Narebski <jnareb@gmail.com>
> ---
> The regexp is probably too strict: qr{^/static/} should be enough,
> but I didn't want to change too much at once.
>
> This bug was not noticed because we don't have any test for
> git-instaweb, not mentioning tests for all web servers supported.  And
> the fact that I was checking "git instaweb -httpd=plackup" against
> gitweb.cgi built with custom configuration (including the fact that
> GITWEB_CSS="/gitweb/static/gitweb.css").
>
> tadzik, does that fix the issue you noticed?
>
> Junio, could you apply this before 1.7.4?  Thanks in advance.
>
>  git-instaweb.sh |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/git-instaweb.sh b/git-instaweb.sh
> index 10fcebb..bb57d81 100755
> --- a/git-instaweb.sh
> +++ b/git-instaweb.sh
> @@ -549,7 +549,7 @@ my \$app = builder {
>  	};
>  	# serve static files, i.e. stylesheet, images, script
>  	enable 'Static',
> -		path => sub { m!\.(js|css|png)\$! && s!^/gitweb/!! },
> +		path => qr{^/static/.*(?:js|css|png)\$},

I wonder if you meant qr{^/static/.*\\.(?:js|css|png)\$} here, to make sure that these three tokens are file suffixes, not just random substring.

Show 5 quoted lines
>  		root => "$root/",
>  		encoding => 'utf-8'; # encoding for 'text/plain' files
>  	# convert CGI application to PSGI app
> -- 
> 1.7.3
Previous: Junio C HamanoNext: Jakub Narebski
Message 4 of 9 in “git-instaweb: Three fixes and one improvement”
  1. 0/4 git-instaweb: Three fixes and one improvementJakub Narebski, Dec 29, 2010
  2. 1/4 git-instaweb: Fix issue with static files for 'plackup' serverJakub Narebski, Dec 29, 2010
  3. Junio C HamanoDec 29, 2010
  4. Junio C HamanoDec 29, 2010
  5. Jakub NarebskiDec 30, 2010
  6. 2/4 git-instaweb: Static files are under "static/" in gitweb_confJakub Narebski, Dec 29, 2010
  7. 3/4 git-instaweb: Add checks that web server can be started and is startedJakub Narebski, Dec 29, 2010
  8. 4/4 git-instaweb: Use "git-instaweb" as sitename (for page titles)Jakub Narebski, Dec 29, 2010
  9. Eric WongDec 30, 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.