From: Mark Rada <marada@uwaterloo.ca>
To: Jakub Narebski <jnareb@gmail.com>
Cc: Mark Rada <marada@uwaterloo.ca>,
Charles Bailey <charles@hashpling.org>,
git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
Eric Wong <normalperson@yhbt.net>
Subject: Re: [PATCHv5 2/6] Gitweb: add support for minifying gitweb.css
Date: Wed, 14 Apr 2010 15:17:44 -0400 [thread overview]
Message-ID: <4BC614D8.2000208@mailservices.uwaterloo.ca> (raw)
In-Reply-To: <201004141922.20213.jnareb@gmail.com>
On 10-04-14 1:22 PM, Jakub Narebski wrote:
> On Wed, 14 Apr 2010, Mark Rada wrote:
>> On 10-04-13 6:30 PM, Jakub Narebski wrote:
>>> On Tue, 13 April 2010, Charles Bailey wrote:
>>>> On 01/04/2010 06:36, Mark Rada wrote:
>
> [...]
>>>>> +gitweb.cgi: gitweb.perl $(GITWEB_JS) $(GITWEB_CSS)
>>>>>
>>>>
>>>> I have a question about this last line of the patch. Are GITWEB_JS and
>>>> GITWEB_CSS supposed to be a source path or a URI?
>>>>
>>>> The documentation for install (and my previous assumption) was that they
>>>> represented the path on the target web server. I'm used to overriding
>>>> them so that gitweb.cgi can live in my /cgi-bin directory, but the
>>>> static files are served from /gitweb which is readable but not executable.
>>>>
>>>> After this patch I had to removed $(GITWEB_JS) and $(GITWEB_CSS) from
>>>> the list of dependencies for gitweb.cgi otherwise make failed.
>>>>
>>>> Have I got the wrong end of the stick?
>>>
>>> Thanks a lot for noticing this bug.
>>>
>>>
>>> GITWEB_JS and GITWEB_CSS were originally meant to be URI to file with
>>> gitweb JavaScript code and default gitweb stylesheet,... but during work
>>> on minification of JavaScript code and CSS file it somehow got confused
>>> to mean source path.
>>>
>>> If I remember correctly the original patch, before adding required
>>> support for minified gitweb.js and gitweb.css to git-instaweb script,
>>> and before support for CSS minification had
>>>
>>> ifdef JSMIN
>>> gitweb.cgi: gitweb.perl gitweb.min.js
>>> else
>>> gitweb.cgi: gitweb.perl
>>> endif
>>>
>>> which should probably be replaced in current situation by
>>>
>>> ifdef JSMIN
>>> gitweb.cgi : gitweb.min.js
>>> endif
>>> ifdef CSSMIN
>>> gitweb.cgi : gitweb.min.css
>>> endif
>>>
>>> just adding prerequisites to gitweb.css target in gitweb/Makefile
>>>
>>>
>>> I guess that support for adding minifiction support to git-instaweb
>>> would need to be more complicated. [...]
>>
>> Aw, frig, never thought of using gitweb like that so I made some
>> assumptions to make things cleaner looking.
>>
>> I think this can be fixed by just using different variable names? Or
>> perhaps some nested ifdef's? I'm not sure which will be better.
>>
>> I wasn't at the computer today so I'm just getting to it now, I'll try
>> to have something when in the next day, going to bed now. Good night.
>
> I think the best solution for prerequisites would be to have multiple
> target-only (without commands) rules, which according to make
> documentation would get concatenated. This means the following code
> in gitweb/Makefile:
>
> ifdef JSMIN
> gitweb.cgi : gitweb.min.js
> endif
> ifdef CSSMIN
> gitweb.cgi : gitweb.min.css
> endif
>
> in place of
>
> gitweb.cgi: gitweb.perl $(GITWEB_JS) $(GITWEB_CSS)
>
Hmm, I like this because it is clear (if you know that dependancies
can be joined like that), I was thinking of trying to make a smaller fix
using pathsubst or subst, but that seems to not be as simple as I wanted it
to be.
> For git-instaweb I think that best solution would be to introduce new
> variables holding _source_ of gitweb JavaScript code and CSS, e.g.
>
> -e '/@@GITWEB_CSS@@/r $(GITWEB_CSS)' \
>
> in place of
>
> -e '/@@GITWEB_CSS@@/r $(GITWEB_CSS_SOURCE)' \
>
> ...although GITWEB_CSS might mean something different for Makefile
> and git-instaweb than for gitweb/Makefile and gitweb itself.
Did you get those lines mixed up? I might be not understanding something
here.
I was actually planning something along the lines of
-e '/@@GITWEB_CSS@@/r $(GITWEB_CSS_NAME)' \
-e 's|@@GITWEB_CSS_NAME@@|$(GITWEB_CSS_NAME)|' \
where I introduce the GITWEB_CSS_NAME variable, to be consistent with the
token in instaweb. This way we don't touch GITWEB_JS in the top level
makefile.
Also, I should update dependancies for instaweb, since those were
forgotten last time around. Just creating a short list of what the fix will
need for when I get home tonight.
--
Mark Rada
next prev parent reply other threads:[~2010-04-14 19:18 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-01 5:36 [PATCHv5 2/6] Gitweb: add support for minifying gitweb.css Mark Rada
2010-04-01 8:51 ` Jakub Narebski
2010-04-13 20:28 ` Charles Bailey
2010-04-13 22:30 ` Jakub Narebski
2010-04-14 5:40 ` Mark Rada
2010-04-14 17:22 ` Jakub Narebski
2010-04-14 19:17 ` Mark Rada [this message]
2010-04-14 20:04 ` Jakub Narebski
2010-04-14 23:58 ` Junio C Hamano
2010-04-15 0:18 ` Charles Bailey
2010-04-15 0:25 ` Jakub Narebski
2010-04-15 0:46 ` Junio C Hamano
2010-04-15 1:02 ` Jakub Narebski
2010-04-15 1:21 ` Mark Rada
2010-04-15 1:42 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BC614D8.2000208@mailservices.uwaterloo.ca \
--to=marada@uwaterloo.ca \
--cc=charles@hashpling.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jnareb@gmail.com \
--cc=normalperson@yhbt.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).