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: upset, genini: different version ordering

On Oct 20 12:03, Yaakov Selkowitz wrote:
> On Tue, 2015-10-20 at 17:50 +0200, Corinna Vinschen wrote:
> > > Adding epoch parsing would be additional work.  I'm not sure how much value
> > > that would have since (a) we are effectively limited to 2 package versions,
> > > and (b) we can force a given ordering using setup.hint
> > 
> > Yaakov thinks we need epoch.  Yaakov, could you briefly outline why we
> > should need it?  Do we have real-world examples in the distro where we
> > could need it?  I guess Achim's perl packages are particulary nice
> > examples?
> First, let's remember that this isn't just about upset getting prev: and
> curr: right, but also about setup knowing when to upgrade by default.
> Therefore, simply tweaking setup.hint files is insufficient.
> Besides sorting out our current discrepancies, here is a perfect example
> of a use for epoch:
> In short, xdelta was updated from 1.x to 3.x, then it was realized that
> both were needed, and so xdelta was reverted to 1.x and xdelta3 was
> created.  Instead of saying "oh btw you need to revert xdelta to 1.x
> yourself" (which is all we could do currently), the solution would be to
> bump epoch on xdelta-1.x, which would force it to be considered newer
> than the short-lived xdelta-3.x by both upset and setup.
> As for implementation, the idea would be to use a special character in
> the version number of tarballs as so (pseudocode):
>     char epoch[N] = {}, *sep;
>     if ((sep = strchr(version, SEPARATOR))) {
>       strncpy(epoch, version, sep - version);
>       version = sep + 1;
>     } else
>       epoch[0] = "0";
> Then compare epochs first, then version and release to determine which
> is newer.  As for the separator, in RPM it is ':' but as we will need to
> have this character in the tarball name and Windows doesn't allow that
> in filenames, we will need to pick something else.



> On the cygport side, this would be triggered by defining EPOCH in
> the .cygport file, *not* by using this character in VERSION.

And adding an extra test for the epoch doesn't seem overly tricky
in setup.  Upset, well, Jon?


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

Attachment: pgpUNC4SxX2o_.pgp
Description: PGP signature

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