quilt-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Quilt-dev] [PATCH 1/3] Avoid unnecessary rebuilds of the manpage an


From: Jean Delvare
Subject: Re: [Quilt-dev] [PATCH 1/3] Avoid unnecessary rebuilds of the manpage and README
Date: Wed, 03 Jun 2015 17:16:52 +0200

Le Wednesday 03 June 2015 à 15:27 +0200, Michal Marek a écrit :
> On 2015-06-03 15:17, Jean Delvare wrote:
> > Le Wednesday 03 June 2015 à 14:52 +0200, Michal Marek a écrit :
> >> On 2015-06-03 14:43, Michal Marek wrote:
> >>> On 2015-06-03 14:39, Jean Delvare wrote:
> >>>> Would the following alternative implementation work for you?
> >>>>
> >>>> ---
> >>>>  Makefile.in |    6 +++++-
> >>>>  1 file changed, 5 insertions(+), 1 deletion(-)
> >>>>
> >>>> --- a/Makefile.in
> >>>> +++ b/Makefile.in
> >>>> @@ -225,7 +225,11 @@ doc/reference : bin/quilt $(QUILT:%=quil
> >>>>          done |                                                          
> >>>> \
> >>>>          $(SED) -e 's/\$$EDITOR ([^)]*)/$$EDITOR/'                       
> >>>> \
> >>>>                 -e '/^$$/!s/^/  /'                                       
> >>>> \
> >>>> -               -e 's/^  Usage: *//' > $@
> >>>> +               -e 's/^  Usage: *//' > address@hidden
> >>>> +        @if test ! -e $@ || ! @DIFF@ -q address@hidden $@;              
> >>>>         \
> >>>> +        then                                                            
> >>>> \
> >>>> +                mv -f address@hidden $@;                                
> >>>>         \
> >>>> +        fi
> >>>
> >>> Yes.
> >>
> >> I take that back. This patch suffers from the same problem as an earlier
> >> version of mine: As soon as there is a change to one of the scripts, the
> >> 'reference' file will be regenerated on every make invocation, which
> >> takes some time (split second, but still noticeable). That's why I added
> >> the persistent .tmp file in the version I sent.
> > 
> > My testing says otherwise:
> > 
> > $ touch quilt/setup.in 
> > $ make
> > quilt/setup.in -> quilt/setup
> > $
> > 
> > If doc/reference was regenerated then we would see README and quilt.1
> > being regenerated too, which isn't the case above.
> > 
> > So doc/reference.tmp is regenerated (how would it not be if any script
> > changed?) but doc/reference is not.
> 
> Sorry, I meant doc/reference.tmp. The problem is that make does not know
> about it. It only sees doc/reference, which is older than quilt/setup
> and executes the rule to remake doc/reference. Which does not remake it,
> so the doc files will not be remade, but running all the scripts takes
> some time.

Ah, OK, I see it now. That's why "make" no longer replies "Nothing to be
done for 'default'" on subsequent calls. But your own patch suffers from
the same problem, as the doc/reference may not actually rebuild
doc/reference.

I start thinking that the cure does more bad than good :(

-- 
Jean Delvare
SUSE L3 Support




reply via email to

[Prev in Thread] Current Thread [Next in Thread]