upset, genini: different version ordering

Achim Gratz
Thu Jul 23 19:38:00 GMT 2015

Corinna Vinschen writes:
> Yes.  In the function itself prematch is generated from some regex if
> it's not given as parameter.  There are three places calling Normalize,
> two of them with a 2nd parameter.
> On closer inspection it seems there's already some provisioning for
> different versioning schemes.  At one point the second parameter
> is constructed from an entry in setup.hint called "verpat" and a keyword
> "verpat" is recognized for that.  If "verpat: ,,," is not given for a package,
> the pattern used as 2nd parameter is set to the package name, a dash,
> followed by any character string,

Any character string or starting with a digit?

In any case, that second parameter is then basically telling how to
split the package name up into its constituents.

> followed by ".tar", followed by an
> arbitrary string.
> Paramter 1 can be a path, not only a filename, btw.

Should be, yes.

> Uh oh.  There's also a snippet of code at the end of Normalize which
> "normalizes" the file suffix.  All .tar* variants are "normalized" into
> .tar.gz, presumably for sorting purposes.

Except for some of the code details and "verpat:" (which I don't think
have ever been described or used anywhere i can remember), that closely
resembles what setup.exe is doing.  Actually, setup parses like this:

path goes from the start of string to the last path separator

package name from the remainder of the string until the first "-" that's
followed by a digit (exclusive the actual "-")

package release from the last "-" until the ".tar.*" extension.

Packages can have a "-src" and a "-patch" suffix.  Only the "-src"
suffix is currently used AFAIK, althoug I'd wish that "-debuginfo",
"-devel" and  maybe "-doc" could also be treated like that.

> I'm really sorry, but AFAICS the code should be able to win the
> obfuscated perl contest hands down.  No noticable commenting either.

Perl that doesn't look like line noise even to the person that wrote it
four weeks ago is inefficient.  :-)

> We could really need help from somebody knowing perl well enough
> to understand and describe code :}

I'd rather write new code when the objectives can be agreed upon.

+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Wavetables for the Terratec KOMPLEXER:

More information about the Cygwin-apps mailing list