This change makes it so that event_handlers/mod_amqp is avoided when building
debian packages for Ubuntu 14.04 (Trusty). If this module is packaged there is
a dependency issue related to the rabbitmq libraries.
Avoiding the module was the simplest solution to achieve debian packaging on the
Ubuntu 14.04 OS.
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.
Commit e5d247d (packaging python-esl) added trailing whitespace to the
package definition. Our trivial parser in the bootstrap script is
sensitive to this, so the change rather broke debian/bootstrap.sh.
This fixes commit e5d247df29.
FS-7338: remove libsilk from tree, use system lib instead
FS-7338: change to always use system liblua
FS-7338: remove libbroadvoice from tree, use system lib instead
FS-7338: remove libilbc from tree, use system lib instead
FS-7338: remove libs using system libs from bootstrap
FS-7338: remove libg722_1 from tree, use system lib instead
FS-7338: remove mod_celt, it has be superseded by mod_opus
FS-7338: remove libcodec2 from tree, use system lib instead
FS-7338: remove libopus from tree, use system lib instead
FS-7338: remove libsoundtouch build from tree, use system lib instead
FS-7338: remove flite build from tree, use system lib instead
FS-7338: remove openldap build from tree, use system lib instead
FS-7338: remove libmongoc build from tree, use system lib instead
FS-7338: remove mod_mongo deps that are no longer actually required
FS-7338: remove some dup demo modules and don't include demo code in packages
The libtool binary used to be contained in the libtool package. As of
current sid/jessie the libtool package contains everything about
libtool but the libtool binary, and we need to install libtool-bin to
get the libtool binary itself. Which is to say that Debian decided to
make the libtool package architecture-independent.
Without this commit the FS debian packaging will not build/bootstrap
on sid/jessie.
This is a convenience option that can be passed to either
debian/bootstrap.sh or to debian/util.sh to include a module in the
build that would normally be excluded. This option, -p, can be passed
multiple times.
Right now mod_java fails to build on sid and jessie. We have a
possible solution, but we'll just disable the build of the module
while we test and verify.
Previously we were creating freeswitch-music, freeswitch-sounds,
freeswitch-sounds-en, and freeswitch-sounds-en-us metapackages and
also providing those names as virtual packages from the
freeswitch-{sounds,music} source packages. This is unnecessarily
confusing and meant that freeswitch-all wasn't depending on any sounds
in actuality as it was also providing freeswitch-sounds.
That is to say, declare all appropriate Provides/Conflicts/Replaces
for freeswitch-all and freeswitch-all-dbg by enumerating the binary
packages that we're going to produce during the build.
Conflicts is more appropriate than Breaks here as both packages will
continue to provide the same files on an ongoing basis and we would
like to force the removal of the other package.
At this point we never want someone running a module against a
different version of FS than the module was built for. It's also
conceivable that you could want to use the modules with libfreeswitch1
even if you weren't running FS itself.
We now build unimrcp, portaudio, portaudio-stream, skypopen, b64, and
dahdi-codec, so they should be included in meta-all. Also refactor a
bit so we install all lang and mod_say packages as well.
Languages are installed at /usr/share/freeswitch/lang so that they can
be referred to by the user's configuration in /etc/freeswitch. As a
Debian package user isn't going to have access to `make vm-sync` these
files need to be readily available somewhere.
libopenh323-dev is in squeeze and sid, but it doesn't look like it's
going to make it into wheezy at this point.
H323Plus claims to be a drop-in replacement, but this should probably
be tested thoroughly.
Note that mod_h323 is still in the avoid_mods list pending testing to
verify that it builds cleanly on each target.
Thanks-to: Steven Ayre <steveayre@gmail.com>
FS-4567 --resolve
It's broken too many of my recent builds. We can add it back in when
things stabilize or perhaps after we get it to swig with a recent
version of swig that we can make part of the clean bootstrap/build
process.
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.