Upload
trinhtuyen
View
228
Download
0
Embed Size (px)
Citation preview
“Debian and other distributionsare going to be that thing yourun docker on, little more.”
— Jos Poortvliet, ownCloud developer
http://lwn.net/Articles/670566/
“This is, to put it diplomatically, aheaping pile of steaming bullshit[...] served by the Canonical pressdepartment.”
“There is in fact another systemwith very similar goals, which isnow called Flatpak [...]”
— Adam Williamson (Red Hat, Fedora)
https://www.happyassassin.net/
“This is, to put it diplomatically, aheaping pile of steaming bullshit[...] served by the Canonical pressdepartment.”
“There is in fact another systemwith very similar goals, which isnow called Flatpak [...]”
— Adam Williamson (Red Hat, Fedora)
https://www.happyassassin.net/
“app bundles” are headed wrong
I difficulty to compose software packagesI no “big picture” integration workI where’s the Corresponding Source?I “app” model/free software commons
mismatch
Guix
1. transactional package manager2. software environment manager3. APIs & tools to customize
environments4. packaging tools
$ guix package -i gcc-toolchain coreutils sed grep
...
$ eval ‘guix package --search-paths‘
...
$ guix package --manifest=my-software.scm
...
gimp-2.8.14
pkg-config-0.29
intltool-0.51.0
babl-0.1.10
glib-2.46.1
libtiff-4.0.6 libjpeg-8d
atk-2.18.0
gtk+-2.24.28
libexif-0.6.21
lcms-2.6
librsvg-2.40.13
python-2.7.10
python2-pygtk-2.24.0
gegl-0.2.0
file-5.25
gettext-0.19.7
perl-xml-parser-2.44
perl-5.22.1
dbus-1.10.0
python-wrapper-3.4.3
bash-4.3.42
coreutils-8.24
libffi-3.2.1
zlib-1.2.8
tzdata-2015g
libjpeg-9a
gobject-introspection-1.46.0 cups-2.1.0
libxcomposite-0.4.4libxcursor-1.1.14 libxdamage-1.1.4libxi-1.7.4libxinerama-1.1.3 libxrandr-1.4.2
gdk-pixbuf-2.32.3
pango-1.38.1
libxml2-2.9.3
bzip2-1.0.6
cairo-1.14.2
libcroco-0.6.8
libgsf-1.14.34
openssl-1.0.2e
gdbm-1.11 sqlite-3.10.0
readline-6.3tcl-8.6.4
tk-8.6.4
python2-pycairo-1.10.0
python2-pygobject-2.28.6
libpng-1.5.26
expat-2.1.0 libx11-1.6.2
python-3.4.3
ncurses-6.0
bison-3.0.4
acl-2.2.52 gmp-6.1.0libcap-2.24
inputproto-2.3.1xextproto-7.3.0
xtrans-1.3.5
kbproto-1.0.6libxcb-1.11
python-minimal-wrapper-3.4.3
xcb-proto-1.11libxslt-1.1.28
libpthread-stubs-0.3
libxau-1.0.8 libxdmcp-1.1.1
python-minimal-3.4.3
libgcrypt-1.6.4 xproto-7.0.26
libgpg-error-1.21 util-macros-1.19.0
libxft-2.3.2
fontconfig-2.11.94 libxext-1.3.3libxrender-0.9.8
freetype-2.6 gs-fonts-8.11
renderproto-0.11.1
m4-1.4.17
flex-2.6.0
bison-2.7.1indent-2.2.10
attr-2.4.47
ghostscript-9.14.0
libspectre-0.2.7
poppler-0.37.0
pixman-0.32.8
libpaper-1.1.24
openjpeg-1.5.2
cairo-1.14.2 avahi-0.6.31
gnutls-3.4.7
cups-filters-1.4.0
libxfixes-5.0.1 compositeproto-0.4.2
damageproto-1.2.1xineramaproto-1.2.1
randrproto-1.4.0
harfbuzz-1.0.5
libdaemon-0.14
which-2.21 guile-2.0.11
libtasn1-4.7
libidn-1.32nettle-3.1.1
font-dejavu-2.34
ijs-9.14.0
qpdf-5.1.3
cups-minimal-2.1.0
libunistring-0.9.6libltdl-2.4.6libgc-7.4.2
libatomic-ops-7.4.2
tar-1.28
libtool-2.4.6
automake-1.15
autoconf-2.69pcre-8.38
autoconf-wrapper-2.69 autoconf-wrapper-2.69
fixesproto-5.0
graphite2-1.3.3
icu4c-55.1
python2-fonttools-2.5
python2-setuptools-18.3.1
python-waf-1.8.8
$ guix environment --container gimp
...
$ guix environment --container gimp \
--ad-hoc git autoconf automake gdb
...
$ guix package -i emacs \
--with-source=./emacs-25.1rc0.tar.gz
...
$ guix package -i git \
--with-input=openssl=libressl
...
$ guix package -i emacs \
--with-source=./emacs-25.1rc0.tar.gz
...
$ guix package -i git \
--with-input=openssl=libressl
...
gimp-2.8.14
pkg-config-0.29
intltool-0.51.0
babl-0.1.10
glib-2.46.1
libtiff-4.0.6 libjpeg-8d
atk-2.18.0
gtk+-2.24.28
libexif-0.6.21
lcms-2.6
librsvg-2.40.13
python-2.7.10
python2-pygtk-2.24.0
gegl-0.2.0
file-5.25
gettext-0.19.7
perl-xml-parser-2.44
perl-5.22.1
dbus-1.10.0
python-wrapper-3.4.3
bash-4.3.42
coreutils-8.24
libffi-3.2.1
zlib-1.2.8
tzdata-2015g
libjpeg-9a
gobject-introspection-1.46.0 cups-2.1.0
libxcomposite-0.4.4libxcursor-1.1.14 libxdamage-1.1.4libxi-1.7.4libxinerama-1.1.3 libxrandr-1.4.2
gdk-pixbuf-2.32.3
pango-1.38.1
libxml2-2.9.3
bzip2-1.0.6
cairo-1.14.2
libcroco-0.6.8
libgsf-1.14.34
openssl-1.0.2e
gdbm-1.11 sqlite-3.10.0
readline-6.3tcl-8.6.4
tk-8.6.4
python2-pycairo-1.10.0
python2-pygobject-2.28.6
libpng-1.5.26
expat-2.1.0 libx11-1.6.2
python-3.4.3
ncurses-6.0
bison-3.0.4
acl-2.2.52 gmp-6.1.0libcap-2.24
inputproto-2.3.1xextproto-7.3.0
xtrans-1.3.5
kbproto-1.0.6libxcb-1.11
python-minimal-wrapper-3.4.3
xcb-proto-1.11libxslt-1.1.28
libpthread-stubs-0.3
libxau-1.0.8 libxdmcp-1.1.1
python-minimal-3.4.3
libgcrypt-1.6.4 xproto-7.0.26
libgpg-error-1.21 util-macros-1.19.0
libxft-2.3.2
fontconfig-2.11.94 libxext-1.3.3libxrender-0.9.8
freetype-2.6 gs-fonts-8.11
renderproto-0.11.1
m4-1.4.17
flex-2.6.0
bison-2.7.1indent-2.2.10
attr-2.4.47
ghostscript-9.14.0
libspectre-0.2.7
poppler-0.37.0
pixman-0.32.8
libpaper-1.1.24
openjpeg-1.5.2
cairo-1.14.2 avahi-0.6.31
gnutls-3.4.7
cups-filters-1.4.0
libxfixes-5.0.1 compositeproto-0.4.2
damageproto-1.2.1xineramaproto-1.2.1
randrproto-1.4.0
harfbuzz-1.0.5
libdaemon-0.14
which-2.21 guile-2.0.11
libtasn1-4.7
libidn-1.32nettle-3.1.1
font-dejavu-2.34
ijs-9.14.0
qpdf-5.1.3
cups-minimal-2.1.0
libunistring-0.9.6libltdl-2.4.6libgc-7.4.2
libatomic-ops-7.4.2
tar-1.28
libtool-2.4.6
automake-1.15
autoconf-2.69pcre-8.38
autoconf-wrapper-2.69 autoconf-wrapper-2.69
fixesproto-5.0
graphite2-1.3.3
icu4c-55.1
python2-fonttools-2.5
python2-setuptools-18.3.1
python-waf-1.8.8
4 years!
I Aug. 2012 — GNU Hackers Meeting, DusseldorfI Nov. 2012 — dubbed GNUI Jan. 2013 — 0.1I ...I July 2014 — 0.7, installable operating systemI ...I Nov. 2015 — 0.9.0, new service framework, etc.I Jan. 2016 — successful fundraiser for new build farmI Mar. 2016 — 0.10.0, grafts, GNOMEI Aug. 2016 — 0.11.0, system tests, more services
growth!
I 3,800+ packagesI 4 architecturesI binaries at https://hydra.gnu.orgI ≈500 new packages per release
importers & updaters
I guix importI 8.5 importers: GNU, Nix, PyPI, CPAN, CRAN, Hackage,
ELPA, Gem, npm (GSoC 2016)I guix refresh
I 11 updaters: GNU, GNOME, KDE, Xorg, ELPA, CRAN,Bioconductor, Hackage, PyPI, Gem, GitHub
I guix lint -c cve (vulnerabilities)
contributions
I documented processes, code of conductI consensus-based decision makingI tools: guix lint (12 checkers!), guixbuild --rounds=2, etc.
I good reviews & mentoring
I 30 committers, but 5–10 frequent reviewersI 50+ emails per day, hard to track patches
I Patchwork? QEMU’s patches? suggestions?
contributions
I documented processes, code of conductI consensus-based decision makingI tools: guix lint (12 checkers!), guixbuild --rounds=2, etc.
I good reviews & mentoringI 30 committers, but 5–10 frequent reviewers
I 50+ emails per day, hard to track patchesI Patchwork? QEMU’s patches? suggestions?
contributions
I documented processes, code of conductI consensus-based decision makingI tools: guix lint (12 checkers!), guixbuild --rounds=2, etc.
I good reviews & mentoringI 30 committers, but 5–10 frequent reviewersI 50+ emails per day, hard to track patches
I Patchwork? QEMU’s patches? suggestions?
maintainership, responsibilities
I Ricardo Wurmus co-maintainer since July!I currently ≈3 build farm sysadmins
I ... but heading towards distributed sysadmin!I run GuixSD everywhere, version-control thatI eventually: guix deploy
build farm & funding
I hardware donated by FSF, TUM,GNU Spain, individuals
I 2 Novena boards (ARMv7) donated byBunnie
I raised $8,000+ in January 2016I 5,000 EUR donated by IgaliaI “Guix Europe” NPO created in France in
2016
build farm & funding
I hardware donated by FSF, TUM,GNU Spain, individuals
I 2 Novena boards (ARMv7) donated byBunnie
I raised $8,000+ in January 2016I 5,000 EUR donated by IgaliaI “Guix Europe” NPO created in France in
2016
Thank You! :-)
getting to 1.0
I guix pull & authenticated checkoutsI performance & usability improvementsI GuixSD
I encrypted root file systemI LVM supportI more system servicesI fix bugs and glitches!
I self-hosted infra: guix publish and Cuirass
I install the distributionI use it, report bugs, add packagesI help with the infrastructure + adminI donate hardware/moneyI share your ideas!
your help needed!
Copyright c© 2010, 2012–2016 Ludovic Courtes [email protected].
GNU GuixSD logo, CC-BY-SA 4.0, http://gnu.org/s/guix/graphicsCopyright of other images included in this document is held by their respective owners.
This work is licensed under the Creative Commons Attribution-Share Alike 3.0 License. To view acopy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter toCreative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
At your option, you may instead copy, distribute and/or modify this document under the terms of theGNU Free Documentation License, Version 1.3 or any later version published by the Free SoftwareFoundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of thelicense is available at http://www.gnu.org/licenses/gfdl.html.
The source of this document is available from http://git.sv.gnu.org/cgit/guix/maintenance.git.