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: [PATCH] make setup mirror list more like web page not just urls

On 15/11/2017 21:35, Brian Inglis wrote:
I wondered if we could usefully add the mirrors.lst region and territory
(called area and location in the code) to the Setup display, to avoid users
having to refer to the web page to find out where mirrors are based geographically.

Thanks for the patch.

Nice idea. I hadn't noticed that this information is in mirrors.lst, but we're failing to use it.

The first change was to prefix the displayed_url member in
site_list_type::init "constructor" with "area - location - ".

The 'real solution' to this would be to drag setup into the present century and use a grid control to present this information.

Lots of work, though :(

The sort key was the mirror url host name with the domain components in reverse
order to sort non-country TLDs together before CC TLDs.
The code tested for TLD length == 3 to distinguish between CC and non-CC TLDs,
as this code is over 10 years old and there were only the original com, edu,
gov, mil, net, org non-CC domains, before other gTLDs were added.
That test was changed to handle all gTLDs with length >= 3, to prefix area and
location to the sort key member, reverse the domain components in the servername
field instead of the url host, and suffix the url protocol prefix to keep the
key unique where sites offer both ftp and http mirrors, rather than the whole
url in the original.

This code needs to handle manually added URLs with non-FQDNs.

Although we give no indication of it in the UI, I think you can also just add a path.

Can you test your changes in those cases?

It's also a long-standing defect here that if you add two URLs with the same protocol/host, they aren't distinguishable [1]


When this was displayed in setup, some of the urls were cut off by the list box
border, estimated about 3 ems too narrow.
The width of the list box and related controls in res.rc was increased by about
30 pixels, and the position of the Add button moved over the same amount, to
give an acceptable display.

The required patch is attached for discussion: some may not like the display of
the default mirror from /etc/setup/setup.rc last_mirror, which appears in the
list as " - - url", as the other mirrors.lst fields are not currently saved
under last_mirror, and more work may be needed to improve this.

Yeah, that's going to need fixing.

- If the URL matches one in the list, that item should be selected.
- Store area and location so we can populate those fields if it doesn't.

Please, please use git-format-patch in future.

The patch also has some spurious changes to the mode of the manifest files.

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