This is the mail archive of the cygwin-apps@cygwin.com 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: broken setup.hint files


Charles Wilson <cwilson@ece.gatech.edu> 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@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 <janneke@gnu.org> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien       | http://www.lilypond.org


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