diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-09-02 13:46:05 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-09-02 13:46:05 -0600 |
commit | 961ed91fa17ecc4349a8a942e78db50288bd7d61 (patch) | |
tree | 570df34c4c72fb5fc1997446a50bbb43c721c974 | |
parent | 212105ea42362d49416e9d32261e2e099632c38c (diff) |
Make the daemon user and group compile-time configurable
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile | 22 | ||||
-rw-r--r-- | nshd.service.in | 4 | ||||
-rw-r--r-- | nshd.socket.in (renamed from nshd.socket) | 4 |
4 files changed, 20 insertions, 11 deletions
@@ -2,5 +2,6 @@ /bin /src/*.*/ /nshd.service +/nshd.socket /.Makefile.var.* /.tmp.Makefile.var.* @@ -3,14 +3,20 @@ bindir = $(prefix)/bin libdir = $(prefix)/lib systemddir = $(libdir)/systemd -GOPATH := $(realpath $(dir $(lastword $(MAKEFILE_LIST)))) +user = nshd +group = nshd CFLAGS = -std=c99 -Wall -Wextra -Werror -pedantic CGO_CFLAGS = $(CFLAGS) -Wno-unused-parameter -export CGO_ENABLED = 1 - +CGO_ENABLED = 1 +export CGO_ENABLED + cgo_variables = CGO_ENABLED CGO_CFLAGS CGO_CPPFLAGS CGO_CXXFLAGS CGO_LDFLAGS CC CXX +GOPATH := $(realpath $(dir $(lastword $(MAKEFILE_LIST)))) + +vp = .Makefile.var.% + deps = gopkg.in/yaml.v2 subdirs = src/nslcd_proto @@ -21,7 +27,7 @@ include $(addsuffix /Makefile,$(subdirs)) secondary += download += $(addprefix src/,$(deps)) generate += -build += bin/nshd nshd.service +build += bin/nshd nshd.service nshd.socket install += $(addprefix $(DESTDIR),$(bindir)/nshd $(systemddir)/system/nshd.socket $(systemddir)/system/nshd.service) download: $(download) @@ -44,11 +50,13 @@ $(foreach d,$(deps),$(eval src/$d: NET; GOPATH='$(GOPATH)' go get -d -u $d)) .PHONY: NET bin/nshd: $(download) $(generate) $(shell find src -name .git -prune -o -print) $(addprefix .Makefile.var.,$(cgo_variables)) - @true $(foreach f,$(filter .Makefile.var.%,$^), && test $@ -nt $f ) || rm -rf -- bin pkg + @true $(foreach f,$(filter $(vp),$^), && test $@ -nt $f ) || rm -rf -- bin pkg GOPATH='$(GOPATH)' CGO_CFLAGS='$(CGO_CFLAGS)' go install nshd -nshd.service: nshd.service.in .Makefile.var.bindir - < $< sed 's|@bindir@|$(bindir)|g' > $@ +%: %.in + < $< sed $(foreach v,$(patsubst $(vp),%,$(filter $(vp),$^)), -e 's|@$v@|$($v)|g' ) > $@ +nshd.service: .Makefile.var.bindir .Makefile.var.user .Makefile.var.group +nshd.socket: .Makefile.var.user .Makefile.var.group $(DESTDIR)$(bindir)/%: bin/% install -Dm755 $< $@ diff --git a/nshd.service.in b/nshd.service.in index 3446c7e..caf5508 100644 --- a/nshd.service.in +++ b/nshd.service.in @@ -8,8 +8,8 @@ Type=notify Sockets=nshd.socket ExecStart=@bindir@/nshd -User=nshd -Group=nshd +User=@user@ +Group=@group@ [Install] WantedBy=multi-user.target diff --git a/nshd.socket b/nshd.socket.in index 4893bc6..a514391 100644 --- a/nshd.socket +++ b/nshd.socket.in @@ -6,8 +6,8 @@ ListenStream=/var/run/nslcd/socket PassCredentials=yes PassSecurity=yes -SocketUser=nshd -SocketGroup=nshd +SocketUser=@user@ +SocketGroup=@group@ [Install] WantedBy=sockets.target |