per-version hints proposal

Corinna Vinschen
Tue Jun 21 12:03:00 GMT 2016

On Jun 20 16:28, Jon Turney wrote:
> Currently, the setup.hint file is shared between all versions.
> This means that manual intervention (by the package maintainer, or on
> sourceware) is needed when versions have different dependencies.
> To automate this problem out of existence, I suggest replacing the
> setup.hint file in an upload with a package-version-release.hint file.
> This will be basically identical to the existing setup.hint, with the
> advantage that it can't be trampled on by a future version, with the
> following changes:
> * 'skip' doesn't seem meaningful on a per-version basis.  Since it seems we
> can automatically detect packages which should have this applied anyhow (see
> the discussion in [1]), I'd suggest ignoring this hint, to be retired at
> some future date.
> * 'curr', 'prev' and 'test' don't make sense on a per-version basis.  So I
> suggest a separate file for these version overrides (versions.hint?)

Ideally we wouldn't need something like "prev" at all since the version
number itself is sufficient to specify what's curr and what's old.

As for test, IMHO it would make sense to specify "this is a test
release" right in the cygport file.  This in turn could create a
per-version hint with a test marker which is evaluated by calm
accordingly.  For instance, the name of the file could take over this
role.  Or even better, the package version number itself.

This would have an additional benefit:  We couldn't just move a package
from test to curr, it would have to be explicitely rebuilt as non-test

I think this is the cleanest solution.

> cygport will be updated to create a pvr.hint rather than setup.hint
> calm will be changed so that:
> * The requires: line written in setup.ini will contain the union of the
> requires: from each pvr.hint
> * The sdesc:, ldesc:, category: and message: lines in setup.ini will be
> taken from the pvr.hint for the curr version
> * While it's already effectively mandatory that a package has a curr
> version, this requirement will be documented and enforced.
> * The source: line in setup.ini for a package version will consider any
> external-source: from the corresponding pvr.hint
> * Uploads with a setup.hint will continue to work as before, for a
> transitional period.
> No setup changes are required.
> Immediately, this avoids the need for manual intervention when versions have
> different dependencies, and going forward, this is lays some groundwork for
> supporting per-version dependencies.

Sounds good to me.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <>

More information about the Cygwin-apps mailing list