Planned setup.ini changes for early 2018
Peter A. Castro
doctor@fruitbat.org
Fri Jan 12 18:13:00 GMT 2018
On Fri, 12 Jan 2018, Jon Turney wrote:
> On 11/01/2018 17:53, Peter A. Castro wrote:
>> On Wed, 10 Jan 2018, Jon Turney wrote:
>>> * Add depends: to version descriptions
>>>
>>> This is a version-specific list of required packages (as opposed to
>>> requires:, which is per-package, and contains the union of the
>>> dependencies for all versions).
>>>
>>> I believe that historical setup versions will either ignore, or can handle
>>> depends: (just containing package names, without version relations)
>>> relatively sanely (see [1] et seq. for details).
>>
>> As long as the behaviour you outline in [1] is consistent, then that means
>> I should be able to use older Setup with newer setup.ini, yes? That will
>> be useful for people who use the Time Machine. :)
>
> Yes, this doesn't break backwards compatibility.
Excellent!
> I'm not sure what reasons there are to use older setup on a circa from after
> the date of this change.
It's not quite as strange as you might think. Older environments can't
necessary run newer Setup (winXP anyone? :), but, on occasion, need some
package from a later circa that's associated with a newer, but
incompatable, Setup version. Yes, yes, I know, "don't do that". Caveat
emptor and all that.
> I hope this means that the time machine can/will preserve depends: lines.
It does. 'setup.ini' is preserved as originally distributed from
cygwin.com (and, of course, it's mirrors).
>>> * De-duplicate source archives
>>>
>>> Source archives which are identical[2] between x86 and x86_64 will be
>>> moved to paths starting src/ in the release area.
>>
>> I'm not quite visualizing this, Do you mean there will be a new directory
>> name 'src' that will be on the same level as 'x86' and 'x86_64' or will it
>> be higher up the directory tree? It matters to me
>
> This means src/ on the same level as x86/ x86_64/ and noarch/.
Thanks for the confirmation. I'll need to make some adjustments to the
Time Machine for this, but should be trivial. Do you have a schedule of
when you will start pushing this change out?
>> for the Time Machine as I'll need to be able to re-create the same
>> directory hierarchy for each circa. It's a selectively automated process
>> currently, but I need to know what symlink to place where. :)
>>
>>> Doing post-hoc de-duplication is unfortunate, but worthwhile given the
>>> potential size saving in mirrors (see [3] et seq.), until cygport can be
>>> taught how to make suitable source packages (which has several unresolved
>>> issues, also discussed at [3], [4] et seq.).
>>
>> Will this be done en masse upon the next setup.ini build cycle, or over
>> time as each new package is updated? Having a massive amount of "new"
>> packages show up under a "new" directory named 'src' will be quite a lot
>> for the mirrors to absorb all at once. For the Time Machine it might
>> effectively be double as I have to maintain the old hierarchy as well as
>> the new one (under the assumption that you'd apply the de-duplication
>> retroactively).
>
> The process will be gradual and retroactive.
Ok. Thanks for confirming. I'll watch for a mighty "gulp" in my pull
logs. :)
> I'm not quite sure yet how it's going to apply to new uploads. Often x86 and
> x86_64 packages are uploaded separately, so either it happens asynchronously,
> after the last upload of the pair has been accepted, or I defer accepting and
> deduping the upload until both are uploaded.
What of cases where the version for x86 and x86_64 uploaded aren't the
same (it happens)? Will those be skipped or am I misunderstanding how
this dedup process will work?
Anyway, thanks for the awesome effort to improve distribution of Cygwin.
--
--=> Peter A. Castro
Email: doctor at fruitbat dot org / Peter dot Castro at oracle dot com
"Cats are just autistic Dogs" -- Dr. Tony Attwood
More information about the Cygwin-apps
mailing list