Guix Gets Grafts: Timely Delivery of Security Updates
paroneayea writes: GNU Guix, the functional package manager (and with GuixSD, distribution) got a nice feature yesterday: timely delivery of security updates with grafts. Guix's new grafts feature recursively produces re-linked packages as dependencies without waiting for all to compile when a time-sensitive security upgrade is an issue. This came just in time for this week's OpenSSL security issues, and has been successfully tested by the community. It worked so well that it was able to reproduce the ABI break issue that other traditional distributions experienced also!
The news seems to be something like this:
- GNU has a package manager. Didn't know that.
- The package manager is functional in many ways.
- Because it's functional in many ways, it also sucks in some ways.
- They managed to reduce the suckage, which is good for them.
What would be news for me is something like this:
- Why do I care?
Is Guix a window cleaner, a dessert topping, or both?
Il n'y a pas de Planet B.
GNU doesn't like dynamically linking to libraries, instead preferring to statically link all the code. This results in (obviously) all statically linked packages having to be recompiled from scratch every time something in a core package (like OpenSSL) changes.
Now, however they've figured out a way to dynamically link dependent packages so that their statically linked packages will recompile correctly. Oh, and wanton disabling SSLv2 breaks shit.
Custom electronics and digital signage for your business: www.evcircuits.com
thank you for finally explaining wtf the thing is that you want to tell us more about. congratulations slashdot, you did it!
Anons need not reply. Questions end with a question mark.
Another lovely fun fail from the OpenSSL people. They could have disabled/removed SSLv2 support while still exporting symbols like SSLv2_server_method but leaving them as NO-OP's. This way they would avoid TONS of immediate breakage all over the place.
This isn't a topic I follow closely, and so when I saw "functional package manager" I didn't immediately make the association with "functional programming". The SN comment was enlightening.
This is a case where insider terminology ("functional package manager") not only fails to convey meaning to outsiders, it doesn't even provide a hint that the outsiders are missing something -- "functional" masquerades quite well as a bit of marketing fluff. ("We're not like the dysfunctional PMs you've had to put up with in the past!") So, the fact that you don't get a bunch of "what does THAT mean?" comments doesn't mean that the summary has done a good job; in fact, the opposite is more likely.
I have tried guix for a few months. I installed it in parallel to my regular package manager, they coexist so you can try it out without upsetting anything. It's actively being developed. It's main thing, in the long term view is the absolute security and traceability of the software chain from source to executable. I think it will be big in the long term.