<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/gnu/system/linux-container.scm, branch merge-deploy</title>
<subtitle>Personal branch of https://git.savannah.gnu.org/cgit/guix.git/ for implementing 'guix deploy'.
</subtitle>
<id>https://www.git.jakob.space/guix.git/atom?h=merge-deploy</id>
<link rel='self' href='https://www.git.jakob.space/guix.git/atom?h=merge-deploy'/>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/'/>
<updated>2019-07-19T09:53:47Z</updated>
<entry>
<title>linux-container: Add 'eval/container'.</title>
<updated>2019-07-19T09:53:47Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-07-15T14:14:31Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=bacfec8611530dc3e849fb804b51f50b299796f0'/>
<id>urn:sha1:bacfec8611530dc3e849fb804b51f50b299796f0</id>
<content type='text'>
* gnu/system/linux-container.scm (eval/container): New procedure.
* tests/containers.scm ("eval/container, exit status")
("eval/container, writable user mapping"): New tests.
</content>
</entry>
<entry>
<title>linux-container: Remove networking service when network is shared with host.</title>
<updated>2019-06-18T18:49:47Z</updated>
<author>
<name>Arun Isaac</name>
<email>arunisaac@systemreboot.net</email>
</author>
<published>2019-05-25T06:19:42Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=b84c4cda046589658c4d1ba4a9c0b292351fe5ca'/>
<id>urn:sha1:b84c4cda046589658c4d1ba4a9c0b292351fe5ca</id>
<content type='text'>
* gnu/system/linux-container.scm (dummy-networking-service-type): New
variable.
(containerized-operating-system): If network is shared with host, replace
static-networking-service-type with dummy-networking-service-type.
</content>
</entry>
<entry>
<title>linux-container: Check if nscd run directory exists when container is run.</title>
<updated>2019-05-25T05:36:22Z</updated>
<author>
<name>Arun Isaac</name>
<email>arunisaac@systemreboot.net</email>
</author>
<published>2019-05-21T20:16:54Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=d2928fa63f97844f8b60b9baf8e9a023ee7f2f80'/>
<id>urn:sha1:d2928fa63f97844f8b60b9baf8e9a023ee7f2f80</id>
<content type='text'>
* gnu/system/linux-container.scm (containerized-operating-system):
(container-script): Check for existence of the host nscd run directory in the
container script. This check should be run when the container is started, not
when the container script is created.
[network-mappings]: Delete variable.
[nscd-run-directory, nscd-mapping]: New variables.
</content>
</entry>
<entry>
<title>linux-container: Compute essential services for THIS-OPERATING-SYSTEM.</title>
<updated>2019-05-15T14:36:21Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-05-10T20:07:55Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=3f9bed04f031a4d4f8d3b6dc0a4de42b0c628496'/>
<id>urn:sha1:3f9bed04f031a4d4f8d3b6dc0a4de42b0c628496</id>
<content type='text'>
Previously, the 'essential-services' would correspond to the initial,
non-containerized OS.  Thus, all the file systems removed in
'container-essential-services' would actually still be there because the
essential services would be computed on the non-containerized OS.

This is a followup to 69cae3d3356a69b7fe69481338f760545995485e.

* gnu/system/linux-container.scm (container-essential-services): Call
'operating-system-default-essential-services' to get the baseline
services.
(containerized-operating-system): Pass THIS-OPERATING-SYSTEM, not OS, to
'container-essential-services'.
Add a dummy root file system to 'file-systems'.
(container-script)[mountable-file-system?]: New procedure.
Use it.
</content>
</entry>
<entry>
<title>linux-container: Do not add %CONTAINER-FILE-SYSTEMS to Docker image OSes.</title>
<updated>2019-05-15T14:36:21Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-05-10T16:16:45Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=6edd5c546c7c1bb5ee45436a0441a9daf1e5509c'/>
<id>urn:sha1:6edd5c546c7c1bb5ee45436a0441a9daf1e5509c</id>
<content type='text'>
Previously, 'guix system docker-image' would end up providing an OS that
would try to mount all of %CONTAINER-FILE-SYSTEMS as well as /gnu/store,
which is bound to fail in unprivileged Docker.

This patch makes it so that 'guix system container' still gets those
file systems, but 'guix system docker-image' doesn't.

* gnu/system/linux-container.scm (containerized-operating-system): Add
 #:extra-file-systems parameter and honor it.  Do not include
 %STORE-MAPPING and SHARED-NETWORK-FILE-MAPPINGS.
(container-script): Add %STORE-MAPPING and optionally NETWORK-MAPPINGS
to MAPPINGS and pass #:extra-file-systems.
</content>
</entry>
<entry>
<title>linux-container: Support container network sharing.</title>
<updated>2019-05-13T21:24:58Z</updated>
<author>
<name>Arun Isaac</name>
<email>arunisaac@systemreboot.net</email>
</author>
<published>2019-05-10T11:26:16Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=b33454ae0b488e79faafef75a06090be6b2ac6a2'/>
<id>urn:sha1:b33454ae0b488e79faafef75a06090be6b2ac6a2</id>
<content type='text'>
* gnu/system/linux-container.scm (container-essential-services): If network is
to be shared with the host, remove network configuration files from etc
service.
(containerized-operating-system): If network is to be shared with the host,
remove nscd service and map host's /var/run/nscd if it exists.
(container-script): If network is to be shared with the host, do not create
network namespace.
* guix/scripts/system.scm (system-derivation-for-action): Add
#:container-shared-network? argument.
(perform-action): Add #:container-shared-network? argument.
(show-help): Add "-N, --network" help information.
(%options): Add network option.
(process-action): Call perform-action with #container-shared-network? argument.
* doc/guix.texi (Invoking guix system): Document the "-N, --network" option.

Co-authored-by: Christopher Baines &lt;mail@cbaines.net&gt;
</content>
</entry>
<entry>
<title>linux-container: Improve filtering of unnecessary file systems.</title>
<updated>2019-05-10T21:29:18Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-05-10T16:11:25Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=76ae10a1f483a23ac2f88264d49011eb06c9da27'/>
<id>urn:sha1:76ae10a1f483a23ac2f88264d49011eb06c9da27</id>
<content type='text'>
* gnu/system/linux-container.scm (containerized-operating-system)[user-file-systems]:
Add trailing slash for the "/dev/" and "/sys/" prefixes.
</content>
</entry>
<entry>
<title>linux-container: Remove '%containerized-shepherd-service' hack.</title>
<updated>2019-04-23T14:38:12Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-04-23T13:08:31Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=86b8869ffffad96e06e98d523f287b25684a6fa6'/>
<id>urn:sha1:86b8869ffffad96e06e98d523f287b25684a6fa6</id>
<content type='text'>
This hack worked around a defect in the Shepherd 0.5.0 and is no longer
needed.

* gnu/services/shepherd.scm (%containerized-shepherd-service): Remove.
* gnu/system/linux-container.scm (container-essential-services): Don't
use it.
</content>
</entry>
<entry>
<title>system: Add 'essential-services' field to &lt;operating-system&gt;.</title>
<updated>2019-03-25T22:37:06Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-03-22T16:48:37Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=69cae3d3356a69b7fe69481338f760545995485e'/>
<id>urn:sha1:69cae3d3356a69b7fe69481338f760545995485e</id>
<content type='text'>
* gnu/system.scm (&lt;operating-system&gt;)[essential-services]: New field.
(operating-system-directory-base-entries): Remove #:container? keyword
and keep only the not-container branch.
(essential-services): Likewise.
(operating-system-services): Likewise, and call
'operating-system-essential-services' instead of 'essential-services'.
(operating-system-activation-script): Remove #:container?.
(operating-system-boot-script): Likewise.
(operating-system-derivation): Likewise.
* gnu/system/linux-container.scm (container-essential-services): New procedure.
(containerized-operating-system): Use it and set the
'essential-services' field.
(container-script): Remove call to 'operating-system-derivation'.
* gnu/system/vm.scm (system-docker-image): Likewise.
* doc/guix.texi (operating-system Reference): Document 'essential-services'.
</content>
</entry>
<entry>
<title>linux-container: 'containerized-operating-system' removes "useless" services.</title>
<updated>2019-03-13T22:12:44Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-03-13T22:10:19Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=b94c80ff5d844f7763738ab5359fee72f11f9367'/>
<id>urn:sha1:b94c80ff5d844f7763738ab5359fee72f11f9367</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/34211&gt;.
Reported by Efraim Flashner &lt;efraim@flashner.co.il&gt;.

* gnu/system/linux-container.scm (containerized-operating-system)
[useless-services]: New variable.
Add 'services' field.
</content>
</entry>
</feed>
