This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] incremental rebase


On Nov 20 19:57, Achim Gratz wrote:
> Yaakov Selkowitz writes:
> > As things stand now, EVERY package should requires: cygwin, all
> > packages with DLLs should requires: _autorebase, and all packages with
> > info files should requires: _update-info-dir.  As you can see from
> > setup.ini, that's clearly not happening, nor have I managed to find
> > any rhyme or reason for those that do versus those that don't.
> 
> The real question is why upset is supposed to handle that rather than
> setup.exeâ I was under the impression that this had been the purpose of
> moving the regex library into setup.exe, but I may have misunderstood.

Good point, and that's where we're heading in the long run.  We should
get rid of autodeps, they only work barely as required anyway.

> >> I'm opposed to a complete manual assignment of this order on principle.
> >> First, it isn't needed for the majority of things
> >
> > Exactly: a few known tasks -- most of which are already handled by
> > cygport -- will need to be planned out, and everything else can go in
> > a range where order doesn't really matter.
> 
> Dependency order still matters, I suppose.
> 
> >> and second, it has the very real potential of requiring huge package rebuild
> >
> > We need _one_ anyway, but how do you foresee this requiring more later?
> 
> Even if we can't think of that need now, it will be present in the least
> convenient moment.

Here's an idea:

Assuming we only have a single rebaseall script along the lines of
autorebase.bat.

A simple mechanism which works with both of your proposals, without
much intelligence required, without clobbering, and with easy cygport
support, would be this:

autorebase.bat gets renamed to 2r-autorebase.bat (Achim) or 
02-autorebase.bat (Yaakov),

To handle the dependency issue, every package coming with DLLs will not
create the same 01-rebaseall.{sh,bat} script as Yaakov proposed, but
rather a script called, for instance,

   1r-needrebase-${packagename}.sh (Achim)
or 01-needrebase-${packagename}.sh (Yaakov)

These scripts run prior to the rebase script, and they do nothing but

  if [ -e /etc/postinstall/{2r,02}-autorebase.bat.done ]
  then
    mv /etc/postinstall/{2r,02}-autorebase.bat.done \
       /etc/postinstall/{2r,02}-autorebase.bat

All these scripts are on an earlier stratum, so they run earlier than
{2r,02}-autorebase.bat.  After they ran, they get renamed to
1r-needrebase-${packagename}.sh.done, so they are run only when the
package gets installed or updated.  {2r,02}-autorebase.bat gets run
every time any package got installed or updated.

Same thing for update-info-dir.  Am I missing something?


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: pgpMEpTiD7e4D.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]