This is the mail archive of the 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] manifest, and test release

Brian Dessent wrote:
Max Bowsher wrote:

There is one remaining issue - here is a ChangeLog entry from the current
release branch:

2004-11-28 Max Bowsher <>

* (check_for_cached): Re-introduce the silent skipping
wrong-sized package files in local caches, as a "quick fix" that is
worse than the status quo, to be able to make a release, whilst
work towards a proper fix continues on trunk.

Yuck... that sounds like one of those corner cases that's never fun to deal with - do you try to resume the transfer, and hope the md5sum is correct, or do you just delete ir or rename it out of the way.

OK, I've refreshed my memory on the situation.

Currently, setup just ignores wrongly sized files. I fixed that, but thinking it would be a rare situation, didn't bother with nice error handling, and just threw an exception.

To fix this, we just need to change to two cases where an exception is thrown in, with the message "Package validation failure"...., to instead just warn nicely, and move the bad file out of the way.

I think a MessageBox is sufficient for now, but it might want to become part of a report textbox, as a further refinement.

I will try to look more into the oddity reported earlier today...

+ name="RedHat.Cygwin.Setup"

... perhaps just "Cygwin.Setup" here ?

To be honest I have no idea, but was going by what the SDK says.  About
'name' it says: "Uniquely names the application or assembly. Use the
following format for the name: Organization.Division.Name. For example
Microsoft.Windows.mysampleApp. Required."

Then perhaps "Cygwin.Setup.Setup" ?

Actually, reading through those docs again I'm slightly worried about
the version thing again:

"Every side-by-side assembly must have a version. Each assembly version
is associated with a version number having four parts separated by
periods: If a change is made to an assembly
making it incompatible with existing versions, the major or minor parts
of the version number must be changed. A version number that changes
only in the build or revision parts indicates that the assembly is
backward compatible with prior versions."

We could, without too much hassle, run sed on the thing at build time to
subsitute the ChangeLog version in there, adding 0s as necessary for
missing fields.  However, I have to wonder what they really mean when
they say, "change is made to an assembly making in incompatible."  As
far as I know, that seems to apply more to their .NET stuff, where these
manifests actually contain useful information.  From what I can tell,
the only thing this is doing in our case is saying, "Yes, I'd like the
comctl32 version 6 please, thank you" and that's it.  So I guess it's
fine to leave the version at indefinitely.

I think it is fine.

It would only be necessary to do meaningful things with the version number if other SxS assemblies were going to be depending on *us*.


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