<feed xmlns='http://www.w3.org/2005/Atom'>
<title>init.git/cmd/runsvc, branch master</title>
<subtitle>Pygos init daemon</subtitle>
<id>https://git.infraroot.at/pygos/init.git/atom?h=master</id>
<link rel='self' href='https://git.infraroot.at/pygos/init.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/pygos/init.git/'/>
<updated>2020-04-06T13:44:15+00:00</updated>
<entry>
<title>cleanup: simplify runsvc environment config parsing</title>
<updated>2020-04-06T13:44:15+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>goliath@infraroot.at</email>
</author>
<published>2020-04-06T13:44:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/pygos/init.git/commit/?id=9b43890591da92497a104490efd4e63157cb7c53'/>
<id>urn:sha1:9b43890591da92497a104490efd4e63157cb7c53</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;goliath@infraroot.at&gt;
</content>
</entry>
<entry>
<title>cleanup: delete remains of libutil</title>
<updated>2020-03-31T16:19:27+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>goliath@infraroot.at</email>
</author>
<published>2020-03-31T16:19:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/pygos/init.git/commit/?id=87a524d9313428d55e5a04c2538042629bdc467a'/>
<id>urn:sha1:87a524d9313428d55e5a04c2538042629bdc467a</id>
<content type='text'>
 - exec_t belongs to service.h, the main place where it is used/needed
 - code for executing exec_t is moved to runsvc for the same reason
 - what is left are NORETURN and ARRAY_SIZE
   - the former can be replaced with direct attribute usage since
     the only relevant compilers all support the attribute.
   - the later is only used in 3 places and can be trivially replaced
     with direct usage of sizeof().

Signed-off-by: David Oberhollenzer &lt;goliath@infraroot.at&gt;
</content>
</entry>
<entry>
<title>cleanup runsvc: merge codepaths for execution, remove cleanup code</title>
<updated>2019-03-20T14:09:35+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>goliath@infraroot.at</email>
</author>
<published>2019-03-20T14:02:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/pygos/init.git/commit/?id=390175c4062b414520129f9bbdf6a15cdb47d210'/>
<id>urn:sha1:390175c4062b414520129f9bbdf6a15cdb47d210</id>
<content type='text'>
Simply execute the last entry in the list directly instead of forking and
remove the cleanup code.

If the list is empty, we return success.

If the list only has one entry, we directly execute that. No need to make a
distinction between single entry vs list anymore.

If the list is an actual list, we run it as before but execute the last one
directly. Typically, the last one is something like a daemon preceeded by
setup code. The daemon ends up directly underneath init, without a dummy
waiting runsvc stuck in the process list.

If we always do an exec, there is no point in doing cleanup. All our mapped
memory is evicted anyway. Same if we exit appruptly because of an error.

Signed-off-by: David Oberhollenzer &lt;goliath@infraroot.at&gt;
</content>
</entry>
<entry>
<title>Relicense what is left of the init system under OpenBSD style ISC license</title>
<updated>2018-11-23T12:16:08+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@tele2.at</email>
</author>
<published>2018-11-23T12:13:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/pygos/init.git/commit/?id=c14c3c0173d7bebeb3ccac687e49909164845d57'/>
<id>urn:sha1:c14c3c0173d7bebeb3ccac687e49909164845d57</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@tele2.at&gt;
</content>
</entry>
<entry>
<title>cleanup: let rdline_init open the file</title>
<updated>2018-11-04T14:02:11+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@tele2.at</email>
</author>
<published>2018-11-04T14:02:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/pygos/init.git/commit/?id=c0e8c7e245c09598478302155b37a15f3370571f'/>
<id>urn:sha1:c0e8c7e245c09598478302155b37a15f3370571f</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@tele2.at&gt;
</content>
</entry>
<entry>
<title>Configuration parser cleanup</title>
<updated>2018-10-10T14:45:11+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@tele2.at</email>
</author>
<published>2018-10-10T09:28:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/pygos/init.git/commit/?id=24c90b7700e18d0668799f8f343bc854a42dea20'/>
<id>urn:sha1:24c90b7700e18d0668799f8f343bc854a42dea20</id>
<content type='text'>
 - Do a getline() &amp; process in rdline instead of doing a read per character
   and feeding it through a state machine.
 - Move splitkv to rdcfg.c, the only place where it is used

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@tele2.at&gt;
</content>
</entry>
<entry>
<title>Add simple cron implementation</title>
<updated>2018-09-19T10:22:14+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@tele2.at</email>
</author>
<published>2018-09-16T19:52:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/pygos/init.git/commit/?id=f38163772cb8ca25c440393132e8678e65437320'/>
<id>urn:sha1:f38163772cb8ca25c440393132e8678e65437320</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@tele2.at&gt;
</content>
</entry>
<entry>
<title>Add output truncation flag</title>
<updated>2018-07-22T15:57:20+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@tele2.at</email>
</author>
<published>2018-07-22T15:57:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/pygos/init.git/commit/?id=056d3c8e6481088b8e5d9791d8c1762a3c8d1a83'/>
<id>urn:sha1:056d3c8e6481088b8e5d9791d8c1762a3c8d1a83</id>
<content type='text'>
This commit adds a "truncate" flag that can be added to a service
description between the "tty" keyword and the path string.

If the flag is set, the output file is truncated to 0 after opening.

This probably requires some remodeling in the future as the tty keyword
no longer deals with just tty devices.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@tele2.at&gt;
</content>
</entry>
<entry>
<title>Split configuration parser and utility library</title>
<updated>2018-06-09T13:32:29+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@tele2.at</email>
</author>
<published>2018-05-23T20:26:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/pygos/init.git/commit/?id=bf63f78b6698f33ed3acbd4aed8822a35688c1ba'/>
<id>urn:sha1:bf63f78b6698f33ed3acbd4aed8822a35688c1ba</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@tele2.at&gt;
</content>
</entry>
<entry>
<title>Add helper program for running services</title>
<updated>2018-04-22T11:41:18+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@tele2.at</email>
</author>
<published>2018-04-21T23:02:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/pygos/init.git/commit/?id=59731dd69bb4be66c721b3de66fb2ab80bec3e7e'/>
<id>urn:sha1:59731dd69bb4be66c721b3de66fb2ab80bec3e7e</id>
<content type='text'>
We no longer need to keep entire scripts in init program (i.e. saving space)
and reduce the code and complexity of the init program.

The runsvc tool can later be extended to do more complex child setup, such
as configuring namespaces or seccomp without adding complexity or memory
footprint to init.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@tele2.at&gt;
</content>
</entry>
</feed>
