unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Christopher Baines <mail@cbaines.net>
To: "Léo Le Bouter" <lle-bout@zaclys.net>
Cc: guix-devel@gnu.org
Subject: Re: Security patching and the branching workflow: a new security-updates branch
Date: Fri, 26 Mar 2021 22:13:29 +0000	[thread overview]
Message-ID: <87eeg1a7hy.fsf@cbaines.net> (raw)
In-Reply-To: <12b4006a4a28c9678c523ab129945850b4adf37f.camel@zaclys.net>

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


Léo Le Bouter <lle-bout@zaclys.net> writes:

> There is two ways to ship security fixes to packages:
>
> 1. Update to a patched version if upstream provides one
> 2. Apply or backport individual patches to fix the issues in the
> shipped version
>
> Grafts are most reliable for 2. but there's cases where using 2. is
> lots of work and we can't afford that right now. An example is
> ImageMagick where not all security issues get a CVE so essentially the
> only way of getting security fixes is to fetch master or get the latest
> release.
>
> There's also some types of packages where we are not sure whether we
> can use grafting or not, such as Python ones.
>
> For these reasons, I would like to propose a new branch called
> security-updates that would be based on master where we queue security
> fixes that introduce any arbitrary number of rebuilds without using
> grafts.
>
> We would merge the security-updates branch as soon as there is complete
> substitute availability for the branch and it's future merged version
> within master.
>
> The downsides of this approach are that:
>
> 1. Substitutes availability does not mean we can ship the updates
> quickly because this might mean hundreds of megabytes if not gigabytes
> of new substitutes to fetch to actually get the update.
> 2. Users that don't use substitutes will suffer big rebuilds on each
> security update shipped through this branch.
>
> For these reasons, grafting should still be preferred when possible,
> but there are cases where it cannot be used for technical reasons or
> lack of resources reasons but we still must provide a fix quickly.
>
> What do you think?

Can you clarify what specific problem or problems you're proposing this
security-updates branch to address?

You mention applying and backporting patches is lots of work, and
uncertainty around whether grafts work in particular
situations.

Personally I think staging and core-updates are quite a bit of work, and
adding more complexity to the process involves more work in my
mind. Additionally, this isn't going to provide more information about
areas where grafts can't be used (if those exist).

Now the software involved is getting better at rapidly building things
for substitutes, personally I see a way forward through trying to
measure and potentially increase the rate of change for outputs in
general. Going faster also involves more work probably, but in terms of
the process, that might just mean that updates to more packages can be
merged to master directly, without sitting on a non-master branch.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

  reply	other threads:[~2021-03-26 22:13 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-26 20:10 Security patching and the branching workflow: a new security-updates branch Léo Le Bouter
2021-03-26 22:13 ` Christopher Baines [this message]
2021-03-26 22:30   ` Léo Le Bouter
2021-03-27  8:56     ` Christopher Baines
2021-03-27 12:29 ` zimoun
2021-03-27 12:42   ` Léo Le Bouter
2021-03-27 13:56     ` zimoun
2021-03-27 14:14       ` Léo Le Bouter
2021-03-30 11:48         ` zimoun
2021-03-31  0:01           ` Léo Le Bouter
2021-03-31 21:29             ` Ludovic Courtès
2021-04-01 12:44               ` Léo Le Bouter
2021-04-01 14:58                 ` Ricardo Wurmus
2021-04-01 15:10                   ` Léo Le Bouter
2021-04-01 15:42                   ` Léo Le Bouter

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=87eeg1a7hy.fsf@cbaines.net \
    --to=mail@cbaines.net \
    --cc=guix-devel@gnu.org \
    --cc=lle-bout@zaclys.net \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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).