public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail•com>
To: Junio C Hamano <gitster@pobox•com>
Cc: git@vger•kernel.org,
	Pavan Kumar Sunkara <pavan.sss1991@gmail•com>,
	Petr Baudis <pasky@ucw•cz>,
	Christian Couder <chriscool@tuxfamily•org>
Subject: Re: [PATCHv2/RFC] gitweb: Prepare for splitting gitweb
Date: Wed, 7 Jul 2010 22:20:18 +0200	[thread overview]
Message-ID: <201007072220.18824.jnareb@gmail.com> (raw)
In-Reply-To: <7viq4rxnro.fsf@alter.siamese.dyndns.org>

On Wed, 7 Jul 2010, Junio C Hamano wrote:
> Jakub Narebski <jnareb@gmail•com> writes:
> 
> > diff --git a/gitweb/Makefile b/gitweb/Makefile
> > index 2fb7c2d..84a1d71 100644
> > --- a/gitweb/Makefile
> > +++ b/gitweb/Makefile
> > @@ -145,12 +146,23 @@ gitweb.cgi: gitweb.perl GITWEB-BUILD-OPTIONS
> >  
> >  ### Installation rules
> >  
> > -install: all
> > +install: all install-modules
> >  	$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitwebdir_SQ)'
> >  	$(INSTALL) -m 755 $(GITWEB_PROGRAMS) '$(DESTDIR_SQ)$(gitwebdir_SQ)'
> >  	$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitwebstaticdir_SQ)'
> >  	$(INSTALL) -m 644 $(GITWEB_FILES) '$(DESTDIR_SQ)$(gitwebstaticdir_SQ)'
> >  
> > +install-modules:
> > +	install_dirs=$(sort $(dir $(GITWEB_MODULES))) && \
> > +	for dir in $$install_dirs; do \
> > +		test -d '$(DESTDIR_SQ)$(gitwebdir_SQ)/$$dir' || \
> > +		$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitwebdir_SQ)/$$dir'; \
> > +	done
> > +	gitweb_modules=$(GITWEB_MODULES) && \
> > +	for mod in $$gitweb_modules; do \
> > +		$(INSTALL) -m 644 $$mod '$(DESTDIR_SQ)$(gitwebdir_SQ)/$$(dirname $$mod)'; \
> > +	done
> > +
> 
> Sorry, but you lost me here.  Where is GITWEB_MODULES defined (iow, what
> commit is this patch supposed to be applied)?

This is preparatory patch either for Pavan GSoC2010 work on splitting
gitweb and adding committool / admin write capabilities, or for mine
gitweb caching series split into modules (based on J.H. patch for 
git.kernel.org).

So currently $(GITWEB_MODULES) is not defined / empty.

> I also suspect that your assignment to "install_dirs" is completely bogus
> when the files listed in GITWEB_MODULES span multiple directories.

install_dirs contains _list_ of directories gitweb modules are to be
installed into.  `$(dir NAMES...)' extracts the directory-part of each
file name in NAMES ('./' if there is no '/' in a file name), and
`$(sort LIST)' is used to remove duplicate words in LIST.

It was actually tested that it works for modularized gitweb caching,
in the older form using `$(foreach ...)' rather than current shell
'for' loop.


For example with the following Makefile:

  GITWEB_MODULES += GitwebCache/SimpleFileCache.pm
  GITWEB_MODULES += GitwebCache/Capture.pm
  GITWEB_MODULES += GitwebCache/Capture/SelectFH.pm
  GITWEB_MODULES += Gitweb/Config.pm
  
  all:
  	@echo $(sort $(dir $(GITWEB_MODULES)))

running 'make' results in:

  Gitweb/ GitwebCache/ GitwebCache/Capture/
-- 
Jakub Narebski
Poland

  reply	other threads:[~2010-07-07 20:20 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-07  9:57 [PATCHv2/RFC] gitweb: Prepare for splitting gitweb Jakub Narebski
2010-07-07 10:30 ` Ævar Arnfjörð Bjarmason
2010-07-07 20:05   ` Jakub Narebski
2010-07-08  7:01     ` Jakub Narebski
2010-07-13 22:24     ` Jakub Narebski
2010-07-13 22:30       ` Ævar Arnfjörð Bjarmason
2010-07-14  9:24         ` Jakub Narebski
2010-07-14 10:05           ` Ævar Arnfjörð Bjarmason
2010-07-14 21:21             ` Jakub Narebski
2010-07-07 16:25 ` Junio C Hamano
2010-07-07 20:20   ` Jakub Narebski [this message]
2010-07-08  0:30     ` Junio C Hamano
2010-07-08  6:59       ` Jakub Narebski
2010-07-08  7:20         ` [PATCHv3/RFC] " Jakub Narebski

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=201007072220.18824.jnareb@gmail.com \
    --to=jnareb@gmail$(echo .)com \
    --cc=chriscool@tuxfamily$(echo .)org \
    --cc=git@vger$(echo .)kernel.org \
    --cc=gitster@pobox$(echo .)com \
    --cc=pasky@ucw$(echo .)cz \
    --cc=pavan.sss1991@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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