This is a followup to https://cygwin.com/ml/cygwin-apps/2011-04/msg00014.html,
in which Jon suggested splitting site selection into two pages, one for cygwin.com mirrors (including private mirrors) and one for URLs of other package repositories. The latter would be visible only if the user had previously checked a suitable checkbox. This patch series implements that suggestion. [I hope that I now understand the suggestion correctly.] The page for mirrors shows the area and location of official mirrors (from mirrors.lst), as suggested by Brian Inglis. Private mirrors are sorted last, with full URLs. [Brian, see the last patch, which is in your name. Feel free to improve it.] This version of the patch series introduces a new bool member site_list_type::is_mirror to distinguish mirrors (including private ones) from non-mirrors. TODO: Implement a way of validating purported mirrors. For example, we could make sure they are signed with the cygwin signing key. Or if the user has used the -X option to turn off signature checking, we could make sure that setup.ini contains "release: cygwin". Once we finish discussing this patch series, I'll look into that. Brian Inglis (1): Display area and location of official mirrors Ken Brown (5): Use the IDD_SITE dialog for cygwin.com mirrors only Use SitePage for cygwin.com mirrors only Create new page UserSitePage for user URLs Keep the mirror list sorted properly Display full URLs of user sites and private mirrors Makefile.am | 2 + main.cc | 4 + res.rc | 43 ++++++++-- resource.h | 6 ++ site.cc | 267 ++++++++++++++++++++++++++++++++++++++++++----------------- site.h | 10 ++- usersite.cc | 268 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ usersite.h | 43 ++++++++++ 8 files changed, 558 insertions(+), 85 deletions(-) create mode 100644 usersite.cc create mode 100644 usersite.h -- 2.15.1
