Re: [systemd-devel] [PATCH 1/3] core: Move user generator directories to XDG_RUNTIME_DIR

2014-04-23 Thread Lennart Poettering
On Fri, 28.03.14 19:38, Hristo Venev (hri...@venev.name) wrote:

 Predictable names and more consistent.

This definitely feels like the right thing to do.

 ---
  src/core/manager.c | 48 +++-
  1 file changed, 11 insertions(+), 37 deletions(-)
 
 diff --git a/src/core/manager.c b/src/core/manager.c
 index ce8759e..b409738 100644
 --- a/src/core/manager.c
 +++ b/src/core/manager.c
 @@ -2550,50 +2550,24 @@ static int create_generator_dir(Manager *m, char 
 **generator, const char *name)
  if (*generator)
  return 0;
  
 -if (m-running_as == SYSTEMD_SYSTEM  getpid() == 1) {
 -/* systemd --system, not running --test */
 -
 -p = strappend(/run/systemd/, name);
 -if (!p)
 -return log_oom();
 -
 -r = mkdir_p_label(p, 0755);
 -if (r  0) {
 -log_error(Failed to create generator directory %s: 
 %s,
 -  p, strerror(-r));
 -free(p);
 -return r;
 -}
 -} else if (m-running_as == SYSTEMD_USER) {
 -const char *s = NULL;
 +if (m-running_as == SYSTEMD_SYSTEM  getpid() != 1) {
 +/* systemd --system --test */
  
 -s = getenv(XDG_RUNTIME_DIR);
 -if (!s)
 -return -EINVAL;
 -p = strjoin(s, /systemd/, name, NULL);
 +p = strjoin(/tmp/systemd-, name, .XX, NULL);
  if (!p)
  return log_oom();
 -
 -r = mkdir_p_label(p, 0755);
 -if (r  0) {
 -log_error(Failed to create generator directory %s: 
 %s,
 -  p, strerror(-r));
 -free(p);
 -return r;
 -}

  } else {
 -/* systemd --system --test */
 -
 -p = strjoin(/tmp/systemd-, name, .XX, NULL);
 +p = strjoin(manager_get_runtime_prefix(m), /systemd/, 
 name, NULL);
  if (!p)
  return log_oom();
 +}
  
 -if (!mkdtemp(p)) {
 -log_error(Failed to create generator directory %s: 
 %m,
 -  p);
 -free(p);
 -return -errno;
 -}

Hmm, we still need the mkdtemp() here for the --system --test case, no?
Or am I missing something?

 +r = mkdir_p_label(p, 0755);
 +if (r  0) {
 +log_error(Failed to create generator directory %s: %s,
 +  p, strerror(-r));
 +free(p);
 +return r;
  }
  
  *generator = p;

Lennart

-- 
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH 1/3] core: Move user generator directories to XDG_RUNTIME_DIR

2014-03-28 Thread Kay Sievers
On Fri, Mar 28, 2014 at 6:38 PM, Hristo Venev hri...@venev.name wrote:
 Predictable names and more consistent.
 ---
  src/core/manager.c | 48 +++-
  1 file changed, 11 insertions(+), 37 deletions(-)

 diff --git a/src/core/manager.c b/src/core/manager.c

 -p = strjoin(s, /systemd/, name, NULL);
 +p = strjoin(/tmp/systemd-, name, .XX, NULL);

/tmp is a shared namespace, and no place systemd should use for its
own data. That makes not much sense to me.

Kay
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH 1/3] core: Move user generator directories to XDG_RUNTIME_DIR

2014-03-28 Thread Hristo Venev
On Fri, 2014-03-28 at 19:00 +0100, Kay Sievers wrote:
 On Fri, Mar 28, 2014 at 6:38 PM, Hristo Venev hri...@venev.name wrote:
  Predictable names and more consistent.
  ---
   src/core/manager.c | 48 +++-
   1 file changed, 11 insertions(+), 37 deletions(-)
 
  diff --git a/src/core/manager.c b/src/core/manager.c
 
  -p = strjoin(s, /systemd/, name, NULL);
  +p = strjoin(/tmp/systemd-, name, .XX, NULL);
 
 /tmp is a shared namespace, and no place systemd should use for its
 own data. That makes not much sense to me.
 
 Kay

This line was added in b7def684 by Lennart Poettering in August 2012.
Don't blame me that diff is being stupid.


signature.asc
Description: This is a digitally signed message part
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH 1/3] core: Move user generator directories to XDG_RUNTIME_DIR

2014-03-28 Thread Kay Sievers
On Fri, Mar 28, 2014 at 7:41 PM, Hristo Venev hri...@venev.name wrote:
 On Fri, 2014-03-28 at 19:00 +0100, Kay Sievers wrote:
 On Fri, Mar 28, 2014 at 6:38 PM, Hristo Venev hri...@venev.name wrote:
  Predictable names and more consistent.
  ---
   src/core/manager.c | 48 +++-
   1 file changed, 11 insertions(+), 37 deletions(-)
 
  diff --git a/src/core/manager.c b/src/core/manager.c

  -p = strjoin(s, /systemd/, name, NULL);
  +p = strjoin(/tmp/systemd-, name, .XX, NULL);

 /tmp is a shared namespace, and no place systemd should use for its
 own data. That makes not much sense to me.

 Kay

 This line was added in b7def684 by Lennart Poettering in August 2012.
 Don't blame me that diff is being stupid.

Oops, sorry, did not realize that.

Kay
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel