Pending patches for generic build script

Igor Pechtchanski pechtcha@cs.nyu.edu
Sun Feb 22 20:44:00 GMT 2004


On Sat, 21 Feb 2004, Rafael Kitover wrote:

> >-----Original Message-----
> >From: Igor Pechtchanski
> >Sent: Saturday, February 14, 2004 7:23 AM
> >Subject: Re: Pending patches for generic build script
> >
> >On Fri, 13 Feb 2004, Charles Wilson wrote:
> >
> >> Igor Pechtchanski wrote:
> >>
> >> >>false || true
> >> >>
> >> >>As a bonus, this construct documents that this particular line can
> >> >>return a false value.
> >> >
> >> >
> >> > I see.  Well, this does look reasonably readable...  Another problem with
> >> > "set +e" that I vaguely recall reading about is that it may not always be
> >> > propagated into functions...  If you're willing to test this and make sure
> >> > it always works properly, and if nobody else protests, I'll consider
> >> > patching the generic-build-script.
> >>
> >> Yes, I've never liked the silly looking '&& \' syntax in the gbs.  If
> >> propagation of 'set +e' into functions is a problem, then just have each
> >> function re-do it...
> >
> >Chuck,
> >
> >Ok, great!  Since you're in favor of it (and you're the ultimate authority
> >on the gbs, I'm just temporarily handling the maintainer duties), it makes
> >me much more confident.  I'll let Rafael test out the propagation of "set
> >+e" into functions, and then make the appropriate change.
> [SNIP]
> >
> >Umm, yes, since bash is in the "Base" category, any Cygwin machine will
> >have it, and it's not like the performance of the gbs itself is an
> >issue...
> >
> >I think I'll wait until all the others' patches have been applied, though,
> >and then do it in one shot as one big change.
> >
> >Rafael, if you're reading this, could you do the tests with both sh and
> >bash, and let me know if bash behaves better with respect to "set +e"?  If
> >it does, we can switch the gbs to use bash.
> >       Igor
>
> Of course, waiting for the various gbs patches to go through first makes
> perfect sense. I was just bringing up the issue for discussion, it's not an
> emergency, we have plenty of those over on the main list :)

Yeah, I know what you mean.  But changing the gbs via small incremental
improvements is the way to go, IMO.  Using the "set +e" approach vs. the
current '&&' one will improve readability and make the gbs more robust.
FWIW, I've emptied my patch queue for now, so feel free to start testing.

> What I was planning to do was make a canonical Cygwin package, kind of like GNU
> Hello, using Hello as a base, and call it "boffo" to match the setup
> documentation :) Eventually we'll be at a point were a new maintainer can get a
> copy of boffo, tweak it, make their package, and have the package script do
> some basic sanity checks. Also add some sort of selftest function for the gbs
> against the canonical package, making development of the gbs itself a bit
> easier (it can really suck when you have to wait half an hour for a build to go
> through to check a minor tweak in the package script...)

I'm not sure I parsed all of this correctly, but I'll probably get it once
the patches actually arrive. :-)

> Another feature I've dreamt up is have an "update-script" function for
> the gbs, such that you could run pkg/CYGWIN-PATCHES/pkg.sh update-script
> which would get the latest copy out of cvs or wherever is appropriate,
> and patch the maintainer's script with the latest tweaks, as an
> interactive patch if necessary.

Sure, just don't call it "${PKG}.sh", since that name is now recognized as
a postinstall script...  The latest version of the gbs makes it somewhat
easier, since it now contains the CVS Id tag.
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"I have since come to realize that being between your mentor and his route
to the bathroom is a major career booster."  -- Patrick Naughton



More information about the Cygwin-apps mailing list