From: indieterminacy <indieterminacy@libre.brussels>
To: kiasoc5 <kiasoc5@disroot.org>
Cc: "Ludovic Courtès" <ludo@gnu.org>,
"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>,
guix-devel@gnu.org
Subject: Re: Packages grow, no longer fit on a 💾
Date: Wed, 18 Jan 2023 09:43:38 +0100 [thread overview]
Message-ID: <aef58fd2a67e7d8561833368ed862630@libre.brussels> (raw)
In-Reply-To: <7e2f18d8-98e6-335e-bcef-8882f9a8f336@disroot.org>
On 18-01-2023 03:41, kiasoc5 wrote:
> On 1/17/23 11:25, Ludovic Courtès wrote:
>>
>> There are slight increases of each and every package, and there are
>> also
>> new big dependencies being pulled in for what, from a distance,
>> doesn’t
>> really add functionality.
>>
>> Examples include libgccjit in Emacs and mozjs in polkit.
>>
>> In a way, that’s the “unavoidable” (?) evolution of software, and the
>> problem extends largely beyond Guix.
>>
>> Still, even compared to contemporary distros, we’re doing pretty bad.
>> Debian most likely does better, and people often cite Alpine as the
>> distro providing the smallest packages. Do we have figures? What can
>> we learn from them? What tradeoffs to they make?
>
> We can achieve smaller packages by splitting them more. Here is my
> guess of the amount of package splitting by some distros, from least to
> most:
>
> Slackware < Arch < Fedora < Debian < Alpine
>
> - Slackware I believe does not split anything, everything is included.
> - Arch splits packages on a case by case basis (QEMU for example)
> - Fedora typically splits packages into package X and package X-devel,
> where X contains development headers, but usually not more.
> - Debian splits packages more aggressively. For example libreoffice is
> split into 6 packages, 1 for each suite (draw, write, etc). And
> programs may be separated from their outputs (eg zstd and libzstd are
> split)
> - Alpine splits even more aggressively, they also split out man pages
> and shell completions.
>
> We may wish to utilize multiple package outputs to a greater extent.
> Some Guix packages already have bin, doc, and lib outputs. We could
> make it a policy to split this for all packages.
>
> I also wonder how much of the space is taken by debug output. Would
> making graft derivations substitutable help?
>
> https://lists.gnu.org/archive/html/help-guix/2022-10/msg00225.html
I think Guix is missing a trick here.
All this effort to chain everything with inputs and yet we are using
conventional 'package-boxes'.
Why not 'Dutch Auction' it and set a maximum amount of inheritants
within one package file and then iteratively lower the threshhold (over
time!) until there are noises in the guix-devel ML
that this principal is being taken far.
The outcome could allow more of a layers and multifaceted representation
of tools and applications that give more of a distinction between lower
level utilities and applications.
--
Jonathan McHugh
indieterminacy@libre.brussels
next prev parent reply other threads:[~2023-01-18 8:44 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-14 22:07 Packages grow, no longer fit on a 💾 Ludovic Courtès
2023-01-15 5:51 ` kiasoc5
2023-01-15 8:07 ` Liliana Marie Prikler
2023-01-16 2:09 ` Maxim Cournoyer
2023-01-16 5:17 ` Liliana Marie Prikler
2023-01-16 13:27 ` Maxim Cournoyer
2023-01-17 16:15 ` Ludovic Courtès
2023-01-15 12:56 ` Akib Azmain Turja
2023-01-15 17:00 ` pelzflorian (Florian Pelz)
2023-01-17 16:25 ` Ludovic Courtès
2023-01-17 23:05 ` zimoun
2023-01-17 23:49 ` zimoun
2023-01-18 21:04 ` Grandfathering store paths considered harmful (was: Packages grow, no longer fit on a 💾) Liliana Marie Prikler
2023-01-19 14:28 ` Grandfathering store paths considered harmful Ludovic Courtès
2023-01-19 18:10 ` Liliana Marie Prikler
2023-01-19 14:14 ` Packages grow, no longer fit on a 💾 Ludovic Courtès
2023-01-20 10:51 ` Simon Tournier
2023-01-20 14:54 ` Maxim Cournoyer
2023-01-18 2:41 ` kiasoc5
2023-01-18 8:43 ` indieterminacy [this message]
2023-01-19 14:32 ` Ludovic Courtès
2023-01-20 11:06 ` Simon Tournier
2023-01-17 8:06 ` Efraim Flashner
2023-01-17 16:18 ` Ludovic Courtès
2023-01-17 21:54 ` John Kehayias
2023-01-19 15:30 ` Katherine Cox-Buday
2023-01-17 15:06 ` Simon Tournier
2023-01-19 14:34 ` Ludovic Courtès
2023-01-18 20:44 ` Paul Jewell via Development of GNU Guix and the GNU System distribution.
2023-01-19 13:04 ` Joshua Branson
2023-01-19 14:37 ` Ludovic Courtès
2023-01-19 16:12 ` Katherine Cox-Buday
2023-01-19 18:07 ` Akib Azmain Turja
2023-01-20 15:30 ` Csepp
2023-01-20 17:34 ` Akib Azmain Turja
2023-01-21 12:29 ` bokr
2023-01-21 15:55 ` Akib Azmain Turja
2023-01-20 12:11 ` Simon Tournier
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=aef58fd2a67e7d8561833368ed862630@libre.brussels \
--to=indieterminacy@libre.brussels \
--cc=guix-devel@gnu.org \
--cc=kiasoc5@disroot.org \
--cc=ludo@gnu.org \
--cc=pelzflorian@pelzflorian.de \
/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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.