per-version hints proposal
Jon Turney
jon.turney@dronecode.org.uk
Tue Aug 30 12:24:00 GMT 2016
On 20/06/2016 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.
I deployed an update to calm today which adds support for this proposal,
with some minor adjustments noted below.
Nobody can actually use this until a cygport with the corresponding
changes is released, which still needs some testing, after which I will
update the website documentation.
> 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.
skip is honoured, if present, but not required.
> * '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?)
This file is called override.hint.
> cygport will be updated to create a pvr.hint rather than setup.hint
I'll send a patch to update cygport separately.
> 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.
calm will issue a warning, not an error, when a package doesn't have a
current version. For the purpose above, information from the highest
version will be used in place of information from the curr version.
per the discussion [1], it's possibly useful in mksetupini, so the
warning can be suppressed there.
[1] https://cygwin.com/ml/cygwin-apps/2016-07/msg00052.html
> * 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.
>
>
> [1] https://cygwin.com/ml/cygwin-apps/2016-02/msg00017.html
More information about the Cygwin-apps
mailing list