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: per-version hints proposal

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

Attachment: signature.asc
Description: PGP signature

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