the freeswitch-all package should be operationally the same as
freeswitch-meta-all it should not conflict with any other freeswitch
pacakge it should install them all via dependancy. This patch does just
that... There is probably a better way to do it, but this is needed to
avoid issues where a dep may have been added to a sub-module (say
mod_av, but it was not added to the freeswitch-all package. This will
also allow for someone to install freeswitch-all or any part there of
without forcing a deinstall of other parts of the over all FreeSWITCH
software package.
debian/bootstrap.sh:
* only build one of freeswitch-sysvinit or freeswitch-systemd
* squeeze is removed from supported releases
* added stretch to supported releases
* avoid_mods_wheezy extended to modules which fail to build on wheezy
* use systemd by default for future distros
* new command-line option -v to enforce sysvinit
* added dependency on dh-systemd for systemd-powered distros
* freeswitch-init is now a virtual package
* freeswitch-sysvinit and freeswitch-systemd are set to conflict with each other
debian/freeswitch.postinst:
* no need to call systemctl explicitly. dh-systemd does it in a standard way
debian/rules:
* integrated dh-systemd in override_dh_installinit
debian/freeswitch-systemd.freeswitch.default renamed to
freeswitch-sysvinit.freeswitch.default:
* /etc/default/freeswitch is not installed by freeswitch-systemd, but still
respected if there is a need to modify the startup options
debian/freeswitch-systemd.freeswitch.service:
* proper expansion of DAEMON_OPTS
freeswitch-systemd.freeswitch.service:
* starting the daemon as root and switchig to freeswitch user
* respecting the options in /etc/default/freeswitch
* RuntimeDirectory parameter is replaced with a tmpfiles.d entry
because /run/freeswitch has to be owned by freeswitch user
* instructions how to start it as non-root
debian/freeswitch-systemd.freeswitch.tmpfile:
* this defines the PID directory with correct permissions
debian/bootstrap.sh, debian/rules:
* proper handling of freeswitch.service
* deleted debian/freeswitch-systemd.install because it caused an error
in dh_install because it's run before dh_installinit
* renamed: freeswitch-sysvinit.freeswitch.default -> freeswitch-systemd.freeswitch.default
because sysvinit support will eventually die out
debian/freeswitch.postinst:
* run "systemctl enable freeswitch" if systemctl is available
CAVEAT: only one option is supported in /etc/default/freeswitch because the
variable ${DAEMON_OPTS} is expanded as a single token. This will be fixed
as soon as freeswitch-sysvinit is removed from freeswitch-all.
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: adb5f0d278
With this commit we allow getting `make -jN` behavior by setting
`parallel=N` in `DEB_BUILD_OPTIONS`. Setting `parallel=` will result
in `make -j` being run (i.e. no limit on the number of jobs). The
default is to run one job at a time; this is still the safest bet when
building all modules.
Thanks to Peter Wu for suggesting a different way to do this.
ref: https://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options
The freeswitch-all package provides libfreeswitch1, so any
shlibs-generated dependency should be for libfreeswitch1 rather than
freeswitch-all.
Because dh_shlibdeps / dpkg-shlibdeps searches for shlibs files in
debian/*/DEBIAN/ it was sometimes using freeswitch-all rather than
libfreeswitch1 to satisfy dependencies for freeswitch.so.1.
FS-6029 --resolve
The various sounds and music have their own source packages now as
they have their own conventions and version numbers which fortunately
update less frequently than FreeSWITCH itself.
Debian expects all copyright information to be in one place, so we
copy the license details to debian/copyright and remove the COPYING
files when we install components.
We believe there may be a race condition in bootstrap.sh when run with
-j. We know that running it without -j should be at least
deterministic (whether or not correct), so we'll go with that in
anticipation of releasing v1.2.