public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: "Peter A. Castro" <doctor@fruitbat.org>
To: Cygwin Apps <cygwin-apps@cygwin.com>
Subject: Re: Planned setup.ini changes for early 2018
Date: Fri, 12 Jan 2018 18:13:00 -0000	[thread overview]
Message-ID: <alpine.LNX.2.00.1801121000010.11764@ming.fruitbat.org> (raw)
In-Reply-To: <148c2b29-5eae-9bc9-eef0-8504368fcb43@dronecode.org.uk>

[-- Attachment #1: Type: TEXT/PLAIN, Size: 3907 bytes --]

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

  reply	other threads:[~2018-01-12 18:13 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-10 22:44 Jon Turney
2018-01-10 23:27 ` David Stacey
2018-01-13 17:21   ` Jon Turney
2018-01-11 17:55 ` Peter A. Castro
2018-01-12 15:48   ` Jon Turney
2018-01-12 18:13     ` Peter A. Castro [this message]
2018-01-13 17:22       ` Jon Turney
2018-01-11 18:30 ` Achim Gratz
2018-01-13 18:43   ` Achim Gratz
2018-01-13 18:35 ` Achim Gratz
2018-01-15 19:02   ` Jon Turney
2018-01-16 18:12     ` Achim Gratz
2018-01-22 23:13 ` Jon Turney
2018-01-23 18:30   ` Achim Gratz
2018-01-24 20:30     ` Jon Turney
2018-01-24 20:57       ` Achim Gratz
2018-01-28 15:07   ` Jon Turney
2018-03-01 16:01 ` Jon Turney
2018-03-01 16:39   ` Marco Atzeri
2018-03-01 17:02     ` Jon Turney
2019-05-30 14:08   ` Jon Turney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LNX.2.00.1801121000010.11764@ming.fruitbat.org \
    --to=doctor@fruitbat.org \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).