<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openrc.git/src/librc, branch dynamic-deptree</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.vlhl.dev/navi/openrc/openrc.git/atom?h=dynamic-deptree</id>
<link rel='self' href='https://git.vlhl.dev/navi/openrc/openrc.git/atom?h=dynamic-deptree'/>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc/openrc.git/'/>
<updated>2024-07-20T01:19:56+00:00</updated>
<entry>
<title>librc-depend.c: dynamically generate services for multiplexed services.</title>
<updated>2024-07-20T01:19:56+00:00</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2024-07-19T13:41:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc/openrc.git/commit/?id=0eebf94c0d6d53d2199163a4c81232591b65da3c'/>
<id>urn:sha1:0eebf94c0d6d53d2199163a4c81232591b65da3c</id>
<content type='text'>
when generating back references, attempt to instantiate missing
services.

Signed-off-by: Anna (navi) Figueiredo Gomes &lt;navi@vlhl.dev&gt;
</content>
</entry>
<entry>
<title>librc-depend.c: split update function into subfunctions</title>
<updated>2024-07-20T01:19:47+00:00</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2024-07-19T09:42:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc/openrc.git/commit/?id=eb4eac88ebbbae5bf4bc3457b465ed537e6fe917'/>
<id>urn:sha1:eb4eac88ebbbae5bf4bc3457b465ed537e6fe917</id>
<content type='text'>
in preparation for dynamic service discovery, modularize the dependency
tree generation and update into distinct functions. also helps with
readability.

Signed-off-by: Anna (navi) Figueiredo Gomes &lt;navi@vlhl.dev&gt;
</content>
</entry>
<entry>
<title>librc-misc.c, rc.c, rc-status.c: fix memory leaks</title>
<updated>2024-07-20T01:15:17+00:00</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2024-07-19T14:16:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc/openrc.git/commit/?id=f4d79466a083fe238c9f04b4bb7e7d930fff395d'/>
<id>urn:sha1:f4d79466a083fe238c9f04b4bb7e7d930fff395d</id>
<content type='text'>
Signed-off-by: Anna (navi) Figueiredo Gomes &lt;navi@vlhl.dev&gt;
</content>
</entry>
<entry>
<title>librc, openrc-pam: instantiate user.&lt;username&gt; service automatically</title>
<updated>2024-07-20T01:15:17+00:00</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2024-07-18T15:29:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc/openrc.git/commit/?id=c3ccaeeddc4d92bfe34cedaa6b71cb6e830fe280'/>
<id>urn:sha1:c3ccaeeddc4d92bfe34cedaa6b71cb6e830fe280</id>
<content type='text'>
it's created in /run/openrc/dynamic and linked to the service in /etc at
login.

Signed-off-by: Anna (navi) Figueiredo Gomes &lt;navi@vlhl.dev&gt;
</content>
</entry>
<entry>
<title>librc/librc-depend.c: small refactor</title>
<updated>2024-07-20T01:15:17+00:00</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2024-07-18T08:08:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc/openrc.git/commit/?id=18be0d77dc00d2e9faa7d8718e80a2f137ec0bf7'/>
<id>urn:sha1:18be0d77dc00d2e9faa7d8718e80a2f137ec0bf7</id>
<content type='text'>
some changes for code redability, and fixing leaking the whole internals
of the deptree at the end of rc_deptree_update.

Signed-off-by: Anna (navi) Figueiredo Gomes &lt;navi@vlhl.dev&gt;
</content>
</entry>
<entry>
<title>openrc: dynamic paths for user services</title>
<updated>2024-07-19T18:40:28+00:00</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2024-03-20T22:45:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc/openrc.git/commit/?id=c34fcd63f05044f9034b26c52f19c91e04668da7'/>
<id>urn:sha1:c34fcd63f05044f9034b26c52f19c91e04668da7</id>
<content type='text'>
add two api functions, `rc_service_dir` and `rc_sysconf_dir`, both are
generate paths (and sub-paths) for resources, and meant to replace the
hardcoded variables like `RC_SVCDIR`.

those functions differ by dynamically switching between the system path,
or the user path, set in their home folder or runtime directory.

this lays out the intial support for user services.

Signed-off-by: Anna (navi) Figueiredo Gomes &lt;navi@vlhl.dev&gt;
</content>
</entry>
<entry>
<title>librc: avoid using fixed-size buffers for paths</title>
<updated>2024-06-03T19:50:37+00:00</updated>
<author>
<name>Mike Gilbert</name>
<email>floppym@gentoo.org</email>
</author>
<published>2024-05-31T20:22:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc/openrc.git/commit/?id=70be1c02005b6d7a4805db57c2183fa32513ac46'/>
<id>urn:sha1:70be1c02005b6d7a4805db57c2183fa32513ac46</id>
<content type='text'>
Use heap allocations instead. This avoids warnings:

```
../src/librc/librc.c: In function ‘rc_service_mark’:
../src/librc/librc.c:817:58: warning: ‘/’ directive output may be truncated writing 1 byte into a region of size between 0 and 4095 [-Wformat-truncation=]
  817 |                         snprintf(was, sizeof(was), "%s/%s/%s",
      |                                                          ^
../src/librc/librc.c:817:25: note: ‘snprintf’ output 3 or more bytes (assuming 4098) into a destination of size 4096
  817 |                         snprintf(was, sizeof(was), "%s/%s/%s",
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  818 |                             file, dir-&gt;value, base);
      |                             ~~~~~~~~~~~~~~~~~~~~~~~
../src/librc/librc.c:822:58: warning: ‘snprintf’ output may be truncated before the last format character [-Wformat-truncation=]
  822 |                         snprintf(was, sizeof(was), "%s/%s", file, dir-&gt;value);
      |                                                          ^
../src/librc/librc.c:822:25: note: ‘snprintf’ output 2 or more bytes (assuming 4097) into a destination of size 4096
  822 |                         snprintf(was, sizeof(was), "%s/%s", file, dir-&gt;value);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
</content>
</entry>
<entry>
<title>Skip already processed files in rc_service_daemon_set</title>
<updated>2023-11-14T20:35:23+00:00</updated>
<author>
<name>Alexander Maltsev</name>
<email>keltar.gw@gmail.com</email>
</author>
<published>2023-11-12T07:29:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc/openrc.git/commit/?id=fda9dcd1f2421f3ff1a366aa75f14e0141e754c5'/>
<id>urn:sha1:fda9dcd1f2421f3ff1a366aa75f14e0141e754c5</id>
<content type='text'>
Fixes the problem described in https://bugs.gentoo.org/916947 -
start-stop-daemon hangs in infinite loop when stopping some daemons on
linux 6.6+

It appears linux 6.6 reworked tmpfs, and since then it triggers this
problem in openrc: when iterating over files via readdir, running rename
on a file could result in reading the same file again with next readdir
call.

The Open Group manual for readdir explicitly states "If a file is
removed from or added to the directory after the most recent call to
opendir() or rewinddir(), whether a subsequent call to readdir() returns
an entry for that file is unspecified.". Linux man page don't seem to
mention that, but don't seem to say anything to contradict that either.
So I presume we can't rely on some specific behaviour here.

Bug: https://bugs.gentoo.org/916947
</content>
</entry>
<entry>
<title>librc: allow overriding rc_interactive on kernel command line</title>
<updated>2023-05-11T01:39:25+00:00</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2023-05-10T15:00:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc/openrc.git/commit/?id=edf5f830e3623f80af2bfd2f9e4fd3df7b8d4414'/>
<id>urn:sha1:edf5f830e3623f80af2bfd2f9e4fd3df7b8d4414</id>
<content type='text'>
This was originally introduced in 14625346c07a2a66fe77ce578c9423918bec1d97 with
an example list (just one for rc_parallel) of options. Let's add in rc_interactive
as it's a pretty obvious thing one might want to override.

See https://forums.gentoo.org/viewtopic-p-8694588.html.
</content>
</entry>
<entry>
<title>Rename attribute macros to namespaced RC_*</title>
<updated>2023-04-19T20:44:51+00:00</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2023-04-19T03:29:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc/openrc.git/commit/?id=eb8831a1416ab2ee8123b3add78421c2aa316b39'/>
<id>urn:sha1:eb8831a1416ab2ee8123b3add78421c2aa316b39</id>
<content type='text'>
This conflicts with linux-headers which uses __unused for some padding members
on ppc64le at least.

Closes: https://github.com/OpenRC/openrc/issues/622
</content>
</entry>
</feed>
