* Add depends: to version descriptions
This is a version-specific list of required packages (as opposed to
requires:, which is per-package, and contains the union of the
dependencies for all versions).
I believe that historical setup versions will either ignore, or can
handle depends: (just containing package names, without version
relations) relatively sanely (see [1] et seq. for details).
* De-duplicate source archives
Source archives which are identical[2] between x86 and x86_64 will be
moved to paths starting src/ in the release area.
Doing post-hoc de-duplication is unfortunate, but worthwhile given the
potential size saving in mirrors (see [3] et seq.), until cygport can be
taught how to make suitable source packages (which has several
unresolved issues, also discussed at [3], [4] et seq.).
* Migrate from setup.hint to pvr.hint in release area
I also plan to migrate all remaining setup.hints to pvr.hints in the
release area (setup.hint in uploads have been automatically migrated
since [5]).
This should have no effect on the generated setup.ini, but enables some
complexity (some of which isn't implemented properly, see [6]) to be
removed from calm.
[1] https://cygwin.com/ml/cygwin-apps/2017-12/msg00020.html
[2] my current implementation considers two archives identical if they
have an identical set of members, with identical contents. Permitted
differences include the mtime, mode or owner of members.
[3] https://cygwin.com/ml/cygwin-apps/2017-04/msg00069.html
[4] https://cygwin.com/ml/cygwin-apps/2017-05/msg00012.html
[5] https://cygwin.com/ml/cygwin-apps/2017-11/msg00044.html
[6] https://cygwin.com/ml/cygwin-apps/2017-10/msg00123.html