On Fri, Jul 8, 2016 at 11:53 AM, ng0 <n...@we.make.ritual.n0.is> wrote: > I need some feedback on the git-service. > The inserted patch gives me this output: > > > +(define-record-type* <git-configuration> > + git-configuration make-git-configuration > + git-configuration? > + (git git-configuration-git ; <package> > + (default git)) > + (base-path git-configuration-base-path) ; string > + (port git-configuration-port)) ; string
So, this is a record type... > + > +(define git-shepherd-service > + (match-lambda > + (($ <git-configuration> git base-path port) > + (let ((conf (string-append > + "--base-path="base-path > + "--port="(number->string port)))) > + (list (shepherd-service > + (provision '(git)) > + (requirement '(networking loopback syslogd)) > + (documentation "Run the git-daemon server for git > repositories") > + (start #~(make-forkexec-constructor > + (list (string-append #$git "/bin/git") > + "daemon" "--syslog" "--informative-errors" > + #$conf))) ...and you (ungexp conf), where conf is an instance of that record type, into what is supposed to be a list of strings that form command line arguments for git. See the issue? > + (stop #~(make-kill-destructor)))))))) - Dave