per-version hints proposal

Jon Turney
Mon Jun 20 15:28:00 GMT 2016

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?)

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.


More information about the Cygwin-apps mailing list