Mailing-List: contact cygwin-apps-help AT cygwin DOT com; run by ezmlm Sender: cygwin-apps-owner AT cygwin DOT com List-Subscribe: List-Archive: List-Post: List-Help: , Delivered-To: mailing list cygwin-apps AT cygwin DOT com To: Charles Wilson Cc: cygwin-apps AT cygwin DOT com Subject: Re: broken setup.hint files References: <3C126412 DOT 1060903 AT ece DOT gatech DOT edu> <3C1283D0 DOT 3090201 AT ece DOT gatech DOT edu> Organization: Jan at Appel From: Jan Nieuwenhuizen Date: 09 Dec 2001 00:51:17 +0100 In-Reply-To: <3C1283D0.3090201@ece.gatech.edu> (Charles Wilson's message of "Sat, 08 Dec 2001 16:19:12 -0500") Message-ID: Lines: 96 User-Agent: Gnus/5.090003 (Oort Gnus v0.03) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Charles Wilson writes: > You are right: the *setup.ini* grammar as parsed by *setup.exe* requires > colons. However, setup.ini is created on sourceware by a script > called "upset". And, the *setup.hint* grammar as parsed by upset > doesn't require colons. Ah, but it does as I parse http://cygwin.com/setup.html. Anyway, it's a lot easier if the syntaxes match! > Ah -- upset is the setup.hint parser that creates setup.ini. You seem > to have written your own setup-ini builder and called it > 'gen-ini.sh'. Yes, I looked around and asked once before but. > I am not going to "fix" my setup.hint files to make your parser happy -- > the only parser I care about is the REAL one, upset. Now that you've sent the code to upset, that seems a lot more reasonable. > Also, us normal cygwin maintainers CANNOT force the upstream > maintainers to use a sane naming scheme (see below). Ok, but cygwin could do some sanatising? Some mainainers don't understand that package names don't have capitals (mysql?) or spaces... > And when upset creates setup.ini, it first uses the filenames of the > archives -- but then setup.hint can be used to OVERRIDE it when > necessary. Ok. > Here's a (real life) example: > openssh-2.9p2-3 (released on Jul 26, 2001) > openssh-2.9.9p2-1 (released on Sep 28, 2001) > > if you sort this using normal (computer) lexical sorting, you end up with: > > prev: openssh-2.9.9p2-1 > curr: openssh-2.9p2-3 Ha, my tarball-sort gets this right: 00:37:22 fred AT appel:~/usr/src/cygwin-cross-1.3.6.2$ echo -e 'openssh-2.9p2-3\nopenssh-2.9.9p2-1\nopenssh-1.0' | ./bin/tarball-sort.sh openssh-1.0 openssh-2.9p2-3 openssh-2.9.9p2-1 but I see your point, there are situations > foo-20010531 and not foo-1.3.5 where smart algorithms won't work. Still, I haven't seen that situation in Cygwin, and I'm always looking for thing to do better, smaller or smarter. Thought this was such a little thing too. > the new *recommendation* is to NOT specify curr/prev in setup.hint > and rely on upset's parsing of archive names. [..] If your parser > doesn't work, that's not my problem. Ok. Too bad I didn't have update before. > It's not principle or want of time. AFAICT, there is no mess. I would never have introduced bz2, or if I had, I would surely have run a small script like: gzip -dc $foo.gz | bzip2> $foo.bz2 over the archive. There are now two flavours of -src.tar.* packages. There are quite some packages (patched!) that don't do --srcdir builds anymore. etc. Small things that make `make world' mode hairy. > How about don't "kludge around it" -- try fixing your parser. Sure. But I still think that running a script once, that replaces some spaces with commas, is way better than writing (and carrying along) more (hairy) code... > the precursor to cgf's current upset. Thanks! [Why] isn't this is cvs!? > #!/usr/bin/perl > # -*- perl -*- Ah, not fair, 200 lines of perl, where I only have 100 lines of bash. No wonder my scripts lacks some features. Jan. -- Jan Nieuwenhuizen | GNU LilyPond - The music typesetter http://www.xs4all.nl/~jantien | http://www.lilypond.org