[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Grafts
From: |
Mark H Weaver |
Subject: |
Re: Grafts |
Date: |
Tue, 14 Oct 2014 22:15:35 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.94 (gnu/linux) |
address@hidden (Ludovic Courtès) writes:
> I pushed ‘wip-grafts’, a branch that implements “grafts.”
>
> Normally security updates deep in the DAG, such as an update of Bash or
> libc, cause a rebuild of everything, which can some time, as we’ve seen
> lately.
>
> The idea of grafts is to graft the fixed package on any packages users
> may want to install. So, suppose there’s a libc fix; when installing
> IceCat, you’ll just be starting from the (pre-built) IceCat, and an
> additional derivation will patch the files in it to replace references
> to the old libc with references to the fixed libc (in practice this only
> works if the file name of the old and fixed libc have the same length.)
Thanks for working on this! I think it will be quite important.
> ‘wip-grafts’ adds a ‘graft’ field to package records. In the example
> above, we’d just add a ‘graft’ field to glibc, pointing to the fixed
> glibc, and the graft would just be automagically applied. The branch
> has an example of that with Bash:
>
> --- a/gnu/packages/bash.scm
> +++ b/gnu/packages/bash.scm
> @@ -185,7 +185,13 @@ allows command-line editing, unlimited command history,
> shell functions and
> aliases, and job control while still allowing most sh scripts to be run
> without modification.")
> (license gpl3+)
> - (home-page "http://www.gnu.org/software/bash/"))))
> + (home-page "http://www.gnu.org/software/bash/")
> + (graft bash-fixed))))
> +
> +(define bash-fixed ;FIXME: Use something real.
> + (package (inherit bash)
> + (version "4.3.42")
> + (graft #f)))
If you want a real example, upstream bash is at 4.3.30, whereas we only
have 4.3.27.
Thanks!
Mark
- Grafts, Ludovic Courtès, 2014/10/13
- Re: Grafts,
Mark H Weaver <=
- Re: Grafts, Ludovic Courtès, 2014/10/17