Fixed the handling of -T and -t, and added debian/apt_sources.list
that needs to build 1.7 master. The following commands need to be
used to build Jessie packages:
apt-get update && apt-get install -y git curl
mkdir -p /usr/src/freeswitch
cd /usr/src/freeswitch/
git clone https://stash.freeswitch.org/scm/fs/freeswitch.git /usr/src/freeswitch/src
curl http://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key add -
cd /usr/src/freeswitch/src
./debian/util.sh build-all -i -z1 -aamd64 -cjessie -T /usr/src/freeswitch/src/debian/apt_sources.list
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
add the ability to pass -T[path to custom sources path] and -K[custom keyfile path]
options to build the FS packages with a custom sources and keyring path.
FS-7373
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.
If -t is passed to debian/util.sh, then we will import the
/etc/apt/sources.list mirrors and all apt keys into the
pbuilder/cowbuilder build environment.
This is useful e.g. when the FS build depends on a library not
available in Debian yet.
Normally we override the config of each pbuilder/cowbuilder image when
we update the image before using it for the build. Passing this
option allows for using an existing cowbuilder image (assuming it's in
the correct location) with some existing desirable configuration.
Sometimes while the debian repositories are updating there are
sporadic signature failures. It's annoying to have these break the
build, and the only thing to do is to retry, so we'll retry here
automatically. We were already retrying on the update operation that
can fail in a similar manner.
./debian/util.sh build-all will do a number of builds in sequence or
parallel. We now track if any of those builds fail to return a
.changes file and exit non-zero.
This lets us set the suite name in the changelog file to
e.g. sid-experimental. This way we can share a single debian repo URL
for all versions, but make sure that incoming files are directed to
the correct distro.
Apparently the Raspberry Pi blows up (out of memory) if you call
dpkg-source -z9 as it implicitly calls xz -9. Thanks to Ken Rice for
running headlong into this.
Also note that while xz takes -0, dpkg-source won't take -z0, so we
check for this and make sure we call dpkg-source correctly.
If updating the base image fails, retry a few times. If that doesn't
work, simply move on; the update usually fails because Debian is
updating its mirrors; it's not important that we be absolutely up to
date.