all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: zimoun <zimon.toutoune@gmail.com>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: New “ungrafting” branch
Date: Mon, 14 Dec 2020 11:16:18 -0500	[thread overview]
Message-ID: <X9eP0m2LUqeFdMVD@jasmine.lan> (raw)
In-Reply-To: <86sg88oeze.fsf@gmail.com>

On Mon, Dec 14, 2020 at 11:32:05AM +0100, zimoun wrote:
> But if grafts is here, it is because of something.  Therefore, I do not
> understand what it does mean “ungraft”.  Avoid the grafting mechanism
> when it is possible?

Grafts are used to "hack" the package dependency graph. We try to make
some change in the dependency graph without having to recompile
everything as normal.

When we say "ungraft", we mean that we want to effect the same change in
the dependency graph, but without using a graft.

For example, if there was an urgent security update of OpenSSL to
version 42, we would create a new package 'openssl-42' and add
(replacement openssl-42) to the primary 'openssl' package. To ungraft,
we'd remove the (replacement openssl-42) field from the 'openssl'
package, and simply update the 'openssl' package to version 42.

Does that make sense?

Before Guix had a recursive grafting mechanism, we had to deploy urgent
security updates by rebuilding everything. We either had to wait for
everything to be rebuilt, which might take too long, or make users
rebuild everything themselves, which could also take too long, and might
not work at all on some computers.

When we added the recursive grafting feature, we intended to use it to
deploy urgent security updates quickly, but we also intended to
"ungraft" quickly, maybe in a week or two. We never planned to keep
packages grafted for several months as we do now — grafts were
considered a necessary but unfortunate violation of the functional
packaging model.


  reply	other threads:[~2020-12-14 16:18 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-08 11:29 New “ungrafting” branch Ludovic Courtès
2020-12-08 14:13 ` zimoun
2020-12-08 14:17   ` Andreas Enge
2020-12-08 18:20   ` Leo Famulari
2020-12-14 10:32     ` zimoun
2020-12-14 16:16       ` Leo Famulari [this message]
2020-12-14 20:03         ` Mark H Weaver
2020-12-14 21:00           ` Leo Famulari
2020-12-18 11:29             ` Andreas Enge
2020-12-18  2:33           ` zimoun
2020-12-08 19:02 ` Christopher Baines
2020-12-14  9:52   ` Ludovic Courtès
2020-12-10 23:13 ` Maxim Cournoyer
2021-01-15  5:57 ` Mark H Weaver
2021-01-15 21:02   ` Leo Famulari
2021-01-21 11:15     ` Ludovic Courtès
2021-01-21 21:33       ` Leo Famulari

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=X9eP0m2LUqeFdMVD@jasmine.lan \
    --to=leo@famulari.name \
    --cc=guix-devel@gnu.org \
    --cc=zimon.toutoune@gmail.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.
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.