<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/tests/services.scm, branch v1.2.0</title>
<subtitle>Transactional package manager, declarative GNU/Linux distribution, reproducible deployment tool, and more! https://guix.gnu.org</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/'/>
<entry>
<title>guix system: Add 'reconfigure' module.</title>
<updated>2019-07-26T17:19:49+00:00</updated>
<author>
<name>Jakob L. Kreuze</name>
<email>zerodaysfordays@sdf.lonestar.org</email>
</author>
<published>2019-07-24T16:34:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=5c793753b31b1dcd9a554bce953124f7ae88ca9a'/>
<id>5c793753b31b1dcd9a554bce953124f7ae88ca9a</id>
<content type='text'>
* guix/scripts/system/reconfigure.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/system.scm (bootloader-installer-script): Export variable.
* gnu/machine/ssh.scm (switch-to-system, upgrade-shepherd-services)
(install-bootloader): Delete variable.
* gnu/machine/ssh.scm (deploy-managed-host): Rewrite procedure.
* gnu/services/herd.scm (live-service): Export variable.
* gnu/services/herd.scm (live-service-canonical-name): New variable.
* tests/services.scm (live-service): Delete variable.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/scripts/system/reconfigure.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/system.scm (bootloader-installer-script): Export variable.
* gnu/machine/ssh.scm (switch-to-system, upgrade-shepherd-services)
(install-bootloader): Delete variable.
* gnu/machine/ssh.scm (deploy-managed-host): Rewrite procedure.
* gnu/services/herd.scm (live-service): Export variable.
* gnu/services/herd.scm (live-service-canonical-name): New variable.
* tests/services.scm (live-service): Delete variable.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Remove duplicate field initializers.</title>
<updated>2019-01-24T19:47:21+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-01-24T18:18:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=2c5ee9bba4067fb0a9e68fb2af3a6e7fe36960cb'/>
<id>2c5ee9bba4067fb0a9e68fb2af3a6e7fe36960cb</id>
<content type='text'>
Fixes a regression introduced in
c2dcff41c2e47f5f978f467864d5ed7829939884, whereby many tests in
'tests/packages.scm' would trigger a syntax error due to duplicate field
intializers in forms like:

  (dummy-package "foo" (version "0"))

* guix/tests.scm (dummy-package, dummy-origin): Rewrite to inherit from
a base record.  This restores the semantics from before
c2dcff41c2e47f5f978f467864d5ed7829939884.
* tests/services.scm ("instantiate-missing-services, indirect"): Remove
duplicate 'extensions' field.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes a regression introduced in
c2dcff41c2e47f5f978f467864d5ed7829939884, whereby many tests in
'tests/packages.scm' would trigger a syntax error due to duplicate field
intializers in forms like:

  (dummy-package "foo" (version "0"))

* guix/tests.scm (dummy-package, dummy-origin): Rewrite to inherit from
a base record.  This restores the semantics from before
c2dcff41c2e47f5f978f467864d5ed7829939884.
* tests/services.scm ("instantiate-missing-services, indirect"): Remove
duplicate 'extensions' field.
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Adjust services tests to new 'shepherd-service-upgrade'.</title>
<updated>2018-09-27T21:58:05+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-09-27T21:58:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=7fed9353ece5974ff431fa666a530da237a12085'/>
<id>7fed9353ece5974ff431fa666a530da237a12085</id>
<content type='text'>
This is a followup to 4245ddcbc9f935804c17c97872b90ec1050c2d75.

* tests/services.scm ("shepherd-service-upgrade: one unchanged, one upgraded, one new")
("shepherd-service-upgrade: service depended on is not unloaded")
("shepherd-service-upgrade: obsolete services that depend on each
other"): Adjust to changes in 'shepherd-service-upgrade'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a followup to 4245ddcbc9f935804c17c97872b90ec1050c2d75.

* tests/services.scm ("shepherd-service-upgrade: one unchanged, one upgraded, one new")
("shepherd-service-upgrade: service depended on is not unloaded")
("shepherd-service-upgrade: obsolete services that depend on each
other"): Adjust to changes in 'shepherd-service-upgrade'.
</pre>
</div>
</content>
</entry>
<entry>
<title>services: 'instantiate-missing-services' reaches fixed point.</title>
<updated>2018-09-07T21:00:39+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-09-07T21:00:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=9b6c4355645534d1ae799bfef6761b75ed8b3a41'/>
<id>9b6c4355645534d1ae799bfef6761b75ed8b3a41</id>
<content type='text'>
Fixes a bug whereby services indirectly depended on would not be
automatically instantiated.

* gnu/services.scm (instantiate-missing-services): Loop back when the
length of ADJUSTED is greater than that of INSTANCES.
* tests/services.scm ("instantiate-missing-services, indirect"): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes a bug whereby services indirectly depended on would not be
automatically instantiated.

* gnu/services.scm (instantiate-missing-services): Loop back when the
length of ADJUSTED is greater than that of INSTANCES.
* tests/services.scm ("instantiate-missing-services, indirect"): New test.
</pre>
</div>
</content>
</entry>
<entry>
<title>services: Missing services are automatically instantiated.</title>
<updated>2018-01-20T23:24:03+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-01-20T23:05:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=d466b1fc8221a6224fe7ded53a828f9c29ed9457'/>
<id>d466b1fc8221a6224fe7ded53a828f9c29ed9457</id>
<content type='text'>
This simplifies OS configuration: users no longer need to be aware of
what a given service depends on.

See the discussion at
&lt;https://lists.gnu.org/archive/html/guix-devel/2018-01/msg00114.html&gt;.

* gnu/services.scm (missing-target-error): New procedure.
(service-back-edges): Use it.
(instantiate-missing-services): New procedure.
* gnu/system.scm (operating-system-services): Call
'instantiate-missing-services'.
* tests/services.scm ("instantiate-missing-services")
("instantiate-missing-services, no default value"): New tests.
* gnu/services/version-control.scm (cgit-service-type)[extensions]: Add
FCGIWRAP-SERVICE-TYPE.
* gnu/tests/version-control.scm (%cgit-os): Remove NGINX-SERVICE-TYPE
and FCGIWRAP-SERVICE-TYPE instances.
* doc/guix.texi (Log Rotation): Remove 'mcron-service-type' in example.
(Miscellaneous Services): Remove 'nginx-service-type' and
'fcgiwrap-service-type' in Cgit example.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This simplifies OS configuration: users no longer need to be aware of
what a given service depends on.

See the discussion at
&lt;https://lists.gnu.org/archive/html/guix-devel/2018-01/msg00114.html&gt;.

* gnu/services.scm (missing-target-error): New procedure.
(service-back-edges): Use it.
(instantiate-missing-services): New procedure.
* gnu/system.scm (operating-system-services): Call
'instantiate-missing-services'.
* tests/services.scm ("instantiate-missing-services")
("instantiate-missing-services, no default value"): New tests.
* gnu/services/version-control.scm (cgit-service-type)[extensions]: Add
FCGIWRAP-SERVICE-TYPE.
* gnu/tests/version-control.scm (%cgit-os): Remove NGINX-SERVICE-TYPE
and FCGIWRAP-SERVICE-TYPE instances.
* doc/guix.texi (Log Rotation): Remove 'mcron-service-type' in example.
(Miscellaneous Services): Remove 'nginx-service-type' and
'fcgiwrap-service-type' in Cgit example.
</pre>
</div>
</content>
</entry>
<entry>
<title>services: Add 'lookup-service-types'.</title>
<updated>2017-11-08T21:31:58+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-11-08T12:26:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=49483f71381ad32cdbe81b1c8ed2cc023329cc18'/>
<id>49483f71381ad32cdbe81b1c8ed2cc023329cc18</id>
<content type='text'>
* gnu/services.scm (lookup-service-types): New procedure.
* tests/services.scm ("lookup-service-types"): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/services.scm (lookup-service-types): New procedure.
* tests/services.scm ("lookup-service-types"): New test.
</pre>
</div>
</content>
</entry>
<entry>
<title>services: Service types can now specify a default value for instances.</title>
<updated>2017-04-15T22:48:08+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-04-15T21:53:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=1bb895eabf74a1e571887eb1521915e668a5c28d'/>
<id>1bb895eabf74a1e571887eb1521915e668a5c28d</id>
<content type='text'>
* gnu/services.scm (&amp;no-default-value): New variable.
(&lt;service-type&gt;)[default-value]: New field.
(&lt;service&gt;): Rename constructor from 'service' to 'make-service'.
(service): New macro.
(%service-with-default-value): New procedure.
(&amp;missing-value-service-error): New error condition.
* tests/services.scm ("services, default value"): New test.
* doc/guix.texi (Service Types and Services): Document 'default-value'.
(Service Reference): Explain default values.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/services.scm (&amp;no-default-value): New variable.
(&lt;service-type&gt;)[default-value]: New field.
(&lt;service&gt;): Rename constructor from 'service' to 'make-service'.
(service): New macro.
(%service-with-default-value): New procedure.
(&amp;missing-value-service-error): New error condition.
* tests/services.scm ("services, default value"): New test.
* doc/guix.texi (Service Types and Services): Document 'default-value'.
(Service Reference): Explain default values.
</pre>
</div>
</content>
</entry>
<entry>
<title>services: 'service-parameters' becomes 'service-value'.</title>
<updated>2017-04-15T22:48:07+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-04-15T20:12:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=efe7d19a9edafb793dca21dcefce89ead3465030'/>
<id>efe7d19a9edafb793dca21dcefce89ead3465030</id>
<content type='text'>
* gnu/services.scm (&lt;service&gt;)[parameters]: Rename to...
[value]: ... this.
Change calls to 'service-parameters' to 'service-value'.
* gnu/system.scm, gnu/tests/base.scm,
guix/scripts/system.scm, tests/services.scm: Likewise.
* doc/guix.texi (Service Reference): Adjust accordingly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/services.scm (&lt;service&gt;)[parameters]: Rename to...
[value]: ... this.
Change calls to 'service-parameters' to 'service-value'.
* gnu/system.scm, gnu/tests/base.scm,
guix/scripts/system.scm, tests/services.scm: Likewise.
* doc/guix.texi (Service Reference): Adjust accordingly.
</pre>
</div>
</content>
</entry>
<entry>
<title>services: shepherd: Add 'shepherd-service-upgrade', from 'guix system'.</title>
<updated>2016-08-31T13:44:20+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2016-08-31T13:40:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=7b44cae50aed1d6d67337e9eae9f449ccd00a870'/>
<id>7b44cae50aed1d6d67337e9eae9f449ccd00a870</id>
<content type='text'>
* guix/scripts/system.scm (service-upgrade): Move to...
* gnu/services/shepherd.scm (shepherd-service-upgrade): ... here.
* tests/system.scm ("service-upgrade: nothing to do", "service-upgrade:
one unchanged, one upgraded, one new", "service-upgrade: service
depended on is not unloaded", "service-upgrade: obsolete services that
depend on each other"): Move to...
* tests/services.scm: ... here.  Adjust to 'service-upgrade' rename.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/scripts/system.scm (service-upgrade): Move to...
* gnu/services/shepherd.scm (shepherd-service-upgrade): ... here.
* tests/system.scm ("service-upgrade: nothing to do", "service-upgrade:
one unchanged, one upgraded, one new", "service-upgrade: service
depended on is not unloaded", "service-upgrade: obsolete services that
depend on each other"): Move to...
* tests/services.scm: ... here.  Adjust to 'service-upgrade' rename.
</pre>
</div>
</content>
</entry>
<entry>
<title>services: shepherd: Add 'shepherd-service-lookup-procedure'.</title>
<updated>2016-08-31T13:44:20+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2016-08-31T10:38:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=a5d78eb64bcb87440a0b3ff25eec5568df0bc47c'/>
<id>a5d78eb64bcb87440a0b3ff25eec5568df0bc47c</id>
<content type='text'>
* gnu/services/shepherd.scm (shepherd-service-lookup-procedure): New
procedure.
(shepherd-service-back-edges)[provision-&gt;service]: Use it.
* tests/services.scm ("shepherd-service-lookup-procedure"): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/services/shepherd.scm (shepherd-service-lookup-procedure): New
procedure.
(shepherd-service-back-edges)[provision-&gt;service]: Use it.
* tests/services.scm ("shepherd-service-lookup-procedure"): New test.
</pre>
</div>
</content>
</entry>
</feed>
