From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Sassmannshausen Subject: =?y?q?=5BPATCH=201/2=5D=20dmd=3A=20Use=20=7E/=2Edmd=2Ed/=20by=20default=20when=20not=20run=20as=20root=2E?= Date: Mon, 3 Feb 2014 18:37:44 +0100 Message-ID: <1391449065-19063-2-git-send-email-alex.sassmannshausen@gmail.com> References: <1391449065-19063-1-git-send-email-alex.sassmannshausen@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=y Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:58731) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WANTT-0002Sn-9X for guix-devel@gnu.org; Mon, 03 Feb 2014 12:38:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WANTO-0007jh-Ig for guix-devel@gnu.org; Mon, 03 Feb 2014 12:38:23 -0500 Received: from mail-ea0-x235.google.com ([2a00:1450:4013:c01::235]:64616) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WANTO-0007jd-BJ for guix-devel@gnu.org; Mon, 03 Feb 2014 12:38:18 -0500 Received: by mail-ea0-f181.google.com with SMTP id m10so3904121eaj.12 for ; Mon, 03 Feb 2014 09:38:17 -0800 (PST) In-Reply-To: <1391449065-19063-1-git-send-email-alex.sassmannshausen@gmail.com> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org * modules/dmd/support.scm: Add copyright. (user-dmddir): New variable. (default-logfile): Use it instead of user-homedir. (default-persistency-state-file): Use it instead of user-homedir. (default-configfile): Use it instead of user-homedir, use init.scm as default name for configfile, ensure .dmd.d exists. (default-socket-dir): Add check for root, if #f, use user-dmddir as base for socket. --- modules/dmd/support.scm | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/modules/dmd/support.scm b/modules/dmd/support.scm index 413e65b..f9c9989 100644 --- a/modules/dmd/support.scm +++ b/modules/dmd/support.scm @@ -1,4 +1,5 @@ -;; support.scm -- Various general support facilities, shared by deco and dmd. +;; support.scm -- Various support facilities, used by deco and dmd. +;; Copyright (C) 2014 A.Sassmannshausen ;; Copyright (C) 2013 Ludovic Courtès ;; Copyright (C) 2002, 2003 Wolfgang Jährling ;; @@ -158,21 +159,31 @@ There is NO WARRANTY, to the extent permitted by law."))) (getenv "HOME") "/")) +;; dmd default subdirectory if dmd is run as a normal user. +(define user-dmddir (string-append user-homedir "/.dmd.d")) + ;; Logfile. (define default-logfile (if (zero? (getuid)) (string-append %localstatedir "/log/dmd.log") - (string-append user-homedir "/.dmd.log"))) + (string-append user-dmddir "/dmd.log"))) ;; Configuration file. (define default-config-file (if (zero? (getuid)) (string-append Prefix-dir "/etc/dmdconf.scm") - (string-append user-homedir "/.dmdconf.scm"))) + (begin + (let ((config-file (string-append user-dmddir "/init.scm"))) + (cond ((not (file-exists? user-dmddir)) + (mkdir user-dmddir) + config-file) + (else config-file)))))) ;; The directory where the socket resides. (define default-socket-dir - (string-append %localstatedir "/run/dmd")) + (if (zero? (getuid)) + (string-append %localstatedir "/run/dmd") + (string-append user-dmddir "/run"))) ;; Unix domain socket for receiving commands in dmd. (define default-socket-file @@ -182,7 +193,7 @@ There is NO WARRANTY, to the extent permitted by law."))) (define default-persistency-state-file (if (zero? (getuid)) (string-append %localstatedir "/lib/misc/dmd-state") - (string-append user-homedir "/.dmd-state"))) + (string-append user-dmddir "/dmd-state"))) ;; Global variables set from (dmd). (define persistency #f) -- 1.7.9.5