On 15/10/11 04:03, Keith Marshall wrote:
> On 15/10/11 00:55, Charles Wilson wrote:
>> $ mingw-get upgrade msys-xz msys-liblzma
>> mingw-get.exe: *** ERROR *** upgrade msys-xz: package is not installed
>> There are two weird things here.
In fact, there are THREE anomalies, because...
>> And I can't "fix" it:
>> $ mingw-get install msys-liblzma-dll-1
>> mingw-get.exe: *** ERROR *** msys-liblzma-dll-1: unknown package
...is certainly something mingw-get needs to be able to accommodate.
>> First, the ERROR message is just
>> because "mingw-get upgrade msys-xz" expands to "all of the components of
>> the new version" ... so mingw-get tries to "upgrade" msys-xz-lang.
>> Since it isn't installed, upgrade reports an error for that component.
> ...and leaves it as "uninstalled". This may, or may not be what the
> user wants, but the error message isn't particularly enlightening. In
> the first place, it really should be no more than a WARNING in the case
> where it refers to just one component of a more generally specified
> package set, and in the second, it really needs to identify which
> particular component is not being upgraded, because it has not
> previously been installed.
I now have a solution for this; running in my sandbox, with your latest
package files and patch for msys-xz.xml:
mingw-get: *** WARNING *** upgrade msys-xz-lang: request ignored...
mingw-get: *** WARNING *** msys-xz-lang: package was not previously
mingw-get: *** WARNING *** msys-xz-lang: it will remain this way until
mingw-get: *** WARNING *** use 'mingw-get install msys-xz-lang' to
>> The other weird thing is that liblzma-dll-1 and liblzma-dll-5 are
>> treated as an upgrade -- e.g. -1 is removed, and -5 is installed.
> This is certainly neither desirable nor intended behaviour.
>> But that defeats the whole purpose of the dll numbering.
>> msys-liblzma-dll-1 -> msys-lzma-1.dll
>> msys-liblzma-dll-5 -> msys-lzma-5.dll
>> You're supposed to be able to have both installed at the same time,
>> because they are non-conflicting. Upgrade in this case should just
>> install the new -5 version, and leave the -1 version alone.
> It should; I'll need to investigate why it doesn't.
I've now identified the cause, and a partial fix for this anomaly; my
sandbox run of './mingw-get upgrade --trace=0x0200 msys-xz' will now
DTRT, provided the DLL number is given EXPLICITLY in the requirement
specification. It still needs a bit more attention, if we want it to be
able to handle a wild card specification.
>> ... we need to fix this mingw-get issue soonish, and rollout an
> Agreed. CVS is currently in good shape for a roll out to add the
> --download-only and --print-uris options, and the source and licence
> requests, with their associated --all-related option. If I can find
> and fix this bug reasonably quickly, I may delay the roll out until
> the fix can be accommodated.
I haven't even started to investigate the third issue, (the ability to
request a specific DLL number in the install request):
$ mingw-get install msys-liblzma-dll-1
However, given the severity of the DLL clobbering issue, maybe I should
focus on the release notes, and roll out an interim update.