public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Achim Gratz <Stromeko@nexgo.de>
To: cygwin-apps@cygwin.com
Subject: Re: Zstandard support for setup
Date: Thu, 23 Aug 2018 20:40:00 -0000	[thread overview]
Message-ID: <878t4wolz7.fsf@Rainer.invalid> (raw)
In-Reply-To: <874lg0d6l8.fsf@Rainer.invalid> (Achim Gratz's message of "Sat,	11 Aug 2018 21:52:03 +0200")

[-- Attachment #1: Type: text/plain, Size: 1825 bytes --]

[…]

Here's a bit of support scaffolding for anybody who wants to play with
this (if the looks of the scripts scare you, stay away from it :-),
obviously you'll also need to compile yourself a setup.exe with the
patches to use with.  It assumes the Cygwin local repo files / cache in
a directory named install and will produce a re-compressed copy in
install-zstd.  I have these in /mnt/upload in my examples (they're also
not exact copies of the Cygwin mirror repos since I maintain these with
another script in order to mix in local packages as needed, so I hope it
just works on a direct copy as well, but have not tested that).  The new
hierarchy should be initially empty and the scripts assume that there's
nothing else in there that you want to keep.  Again, anything already in
install-zstd can get deleted when running the scripts, so don't keep
your bitcoins there.  Then these invocations will re-compress all
archives from the original and rewrite the setup.ini files so you can
later point setup to install from install-zstd:

/mnt/upload/maint-zstd.pl | parallel /mnt/upload/recompress.pl
ls install/x86*/setup*xz | parallel /mnt/upload/rewrite-setup.pl

That is GNU parallel above, which uses all available CPU without any
parameters, you can do the same with moreutils parallel or xargs with
the appropriate invocation.  There's output to STDERR going around the
pipe that keeps you informed about what's going on.

After each update of the Cygwin repo you'll have to re-run the scripts,
which will then only act upon new or updated files (and remove those
files and directories that were deleted, if any).  It will always
re-calculate all the SHA512 checksums at the moment, though (I might
implement some sort of cache for that later, but it doesn't bother me
too much).


[-- Attachment #2: maint-zstd.pl --]
[-- Type: application/x-perl, Size: 2450 bytes --]

[-- Attachment #3: recompress.pl --]
[-- Type: application/x-perl, Size: 460 bytes --]

[-- Attachment #4: rewrite-setup.pl --]
[-- Type: application/x-perl, Size: 1204 bytes --]

[-- Attachment #5: Type: text/plain, Size: 191 bytes --]



Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Wavetables for the Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#BlofeldUserWavetables

  parent reply	other threads:[~2018-08-23 20:40 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-11 19:52 Achim Gratz
2018-08-12 13:28 ` Achim Gratz
2018-08-17 18:49 ` Achim Gratz
2018-08-20 18:11   ` Marco Atzeri
2018-08-20 19:54     ` Achim Gratz
2018-08-22 19:12   ` Achim Gratz
2018-08-23 20:40 ` Achim Gratz [this message]
2018-08-29 16:42 ` Jon Turney
2018-09-02  8:31   ` Achim Gratz
2018-09-02 17:03     ` Achim Gratz
2018-10-07 19:46       ` Jon Turney
2018-10-09 18:04         ` Achim Gratz
2018-10-07 22:09     ` Jon Turney
2018-10-09 18:05       ` Achim Gratz
2018-10-10 18:37   ` Achim Gratz
2018-10-13 17:19     ` Jon Turney
2018-10-14 11:29       ` Achim Gratz

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=878t4wolz7.fsf@Rainer.invalid \
    --to=stromeko@nexgo.de \
    --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).