Travis Cross 12e90ce989 Use systemd RuntimeDirectory for /run/freeswitch
This changes how we create the temporary directory /run/freeswitch
when starting FS with systemd.  The /run directory starts empty after
a system reboot, so we need to ensure this directory is present.

Originally for the FS systemd unit we created /run/freeswitch using
ExecStartPre and mkdir.  With commit adb5f0d this was changed to use
the tmpfiles.d(5) mechanism (but the ExecStartPre/mkdir code was not
removed).

As part of systemd.exec(5), systemd provides a mechanism to
automatically manage these directories under /run and to bind their
lifetime to the lifetime of the process.  This is actually what we
want here as compared to the more general tmpfiles.d(5) mechanism.

This commit moves to using the RuntimeDirectory= mechanism and removes
the obsolete ExecStartPre/mkdir code.

References-commit: adb5f0d278bae7ccda1d1807f094876a4671f94d
2015-09-22 04:41:00 +00:00

136 lines
3.2 KiB
Makefile
Executable File

#!/usr/bin/make -f
# -*- mode:makefile -*-
##### Author: Travis Cross <tc@traviscross.com>
export DH_VERBOSE=1
export VERBOSE=1
export V=1
FS_CC?=gcc
FS_CXX?=g++
FS_CPPFLAGS?=-D_FORTIFY_SOURCE=2
FS_CFLAGS?=-g3 -O2 -fPIC -fstack-protector --param=ssp-buffer-size=4
FS_CXXFLAGS?=$(FS_CFLAGS)
FS_LDFLAGS?=-Wl,-z,relro
export PATH?=/usr/lib/ccache:/usr/sbin:/usr/bin:/sbin:/bin
export CC:=$(FS_CC)
export CXX:=$(FS_CXX)
export CPPFLAGS:=$(FS_CPPFLAGS)
export CFLAGS:=$(FS_CFLAGS)
export CXXFLAGS:=$(FS_CXXFLAGS)
export LDFLAGS:=$(FS_LDFLAGS)
NJOBS=1
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NJOBS=$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
endif
show_vars= \
echo; \
echo "Making target $@"; \
echo "PATH='$(PATH)'"; \
echo "CC='$(CC)'"; \
echo "CXX='$(CXX)'"; \
echo "CPPFLAGS='$(CPPFLAGS)'"; \
echo "CFLAGS='$(CFLAGS)'"; \
echo "CXXFLAGS='$(CXXFLAGS)'"; \
echo "LDFLAGS='$(LDFLAGS)'"; \
echo "CCACHE_DIR='$(CCACHE_DIR)'"; \
echo;
binary:
@$(call show_vars)
dh $@
binary-arch:
@$(call show_vars)
dh $@
binary-indep:
@$(call show_vars)
dh $@
build-arch:
@$(call show_vars)
dh $@
build-indep:
@$(call show_vars)
dh $@
build: debian/.stamp-bootstrap
@$(call show_vars)
dh $@
clean:
dh $@
override_dh_auto_clean:
.stamp-bootstrap:
@$(call show_vars)
[ -f ./bootstrap.sh ] && ./bootstrap.sh -j || ./rebootstrap.sh -j
touch $@
.stamp-configure: .stamp-bootstrap
@$(call show_vars)
touch noreg
cp debian/modules_.conf modules.conf
./configure -C --enable-portable-binary --disable-dependency-tracking \
--host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
--prefix=/usr --localstatedir=/var --sysconfdir=/etc \
--with-gnu-ld --with-python --with-erlang --with-openssl \
--enable-core-odbc-support --enable-zrtp \
--enable-core-pgsql-support \
--enable-static-v8 --disable-parallel-build-v8
touch $@
override_dh_auto_configure: .stamp-configure
.stamp-build: .stamp-configure
@$(call show_vars)
make -j$(NJOBS)
make -C libs/esl pymod
touch $@
override_dh_auto_build: .stamp-build
override_dh_auto_test:
override_dh_strip:
dh_strip -a -k
./debian/util.sh create-dbg-pkgs
override_dh_auto_install:
dh_auto_install
dh_auto_install -- -C libs/esl pymod-install
mkdir -p debian/tmp/lib/systemd/system
install -m0644 debian/freeswitch-systemd.freeswitch.service debian/tmp/lib/systemd/system/freeswitch.service
rm -f debian/tmp/usr/share/freeswitch/grammar/model/communicator/COPYING
override_dh_installinit:
dh_installinit -pfreeswitch-sysvinit --name=freeswitch
dh_installinit -pfreeswitch-all --name=freeswitch
override_dh_makeshlibs:
dh_makeshlibs
sed \
-e '/^libfreeswitch 1/{s/freeswitch-all/libfreeswitch1/g}' \
-i debian/freeswitch-all/DEBIAN/shlibs
debian-bootstrap: debian/.stamp-bootstrap
debian/.stamp-bootstrap:
(cd debian && ./bootstrap.sh)
touch $@
build-depends: debian/.stamp-build-depends
debian/.stamp-build-depends:
./debian/util.sh install-build-depends
touch $@
binary-basetest:
@$(call show_vars)
echo "applications/mod_commands" > debian/modules.conf
(cd debian && ./bootstrap.sh)
dh binary
binary-quicktest:
@$(call show_vars)
echo "applications/mod_commands" > debian/modules.conf
(cd debian && ./bootstrap.sh)
dh binary