This is the mail archive of the
mailing list for the Cygwin project.
Re: [PATCH 1/3] Compare package versions, not setup.ini timestamps
On 6 November 2010 18:57, Ken Brown wrote:
> On 11/6/2010 1:52 PM, Christopher Faylor wrote:
>> On Sat, Nov 06, 2010 at 05:05:13PM +0000, Jon TURNEY wrote:
>>> Currently, when two mirrors offer different versions of a package for a
>>> level, the one from the setup.ini with the latest timestamp is chosen.
>>> This works
>>> adequately when the mirrors are exactly that, so the one which has been
>>> updated most
>>> recently has the most up-to-date version for all packages. ÂBut this
>>> makes it difficult
>>> to have an overlay, a site which offers updated versions of a subset of
>>> as there's no way to reliably ensure setup selects those updated versions
>>> massaging the timestamps in the setup.ini files after downloading them)
>>> So, instead of comparing the setup.ini timestamps, compare the package
>>> version numbers
>>> to determine which package is most recent.
>>> This shouldn't change the current behaviour in the simple case where only
>>> one mirror
>>> is selected (provided no packages have negative version numbers).
>> I'm not against this idea but I'd like to see what others think about
>> I know that cygwinports and other sites use setup.exe for their own
>> purposes but setup.exe was never really intended (Red Hat itself not
>> withstanding) to be used as anything other than a mechanism for
>> installing the cygwin distribution. ÂSo, while, again, I am not against
>> this idea, I'd like to see what others think about this. ÂIt doesn't
>> seem like we'd lose any functionality if we adopted this change but I
>> may be missing something.
> I like the idea. ÂI make my own repository for installing and testing new
> builds of emacs, and I've had the same problem as Jon.
Good idea to test packages that way. I guess this could also be used
by maintainers to get experimental packages to users on a quicker
turnaround cycle than via the official channel.
I've applied Jon's patches, rebuilt setup.exe, started it with -X, and
pointed it at my local Cygwin Ports mirror. I'd never quite got round
to this before, largely because of the installation steps with the
timestamp hack that so far "you must follow exactly *every time* you
update your installation". It really is quite amazing just how much
stuff Yaakov offers in Ports, and I think it would be great to make
that more easily accessible to users.
Opensuse have a similar thing going on with the PackMan project, where
you have to manually add the PackMan repository to Yast/zypper.
I installed and uninstalled a few things and didn't spot any problems
so far, except that the number of packages in Ports badly exposes
setup.exe's inefficiency, but of course that's nothing new.