[Freeswitch-users] Alternative Debian package builder
Cal Leeming [Simplicity Media Ltd]
cal.leeming at simplicitymedialtd.co.uk
Sat Mar 16 21:47:41 MSK 2013
On Sat, Mar 16, 2013 at 7:16 PM, Ken Rice <krice at freeswitch.org> wrote:
> So that’s 1 for 10AM Eastern (CDT) or 2PM GMT Wed.
>
> The problem with installing all the modules is that you don’t always need
> or want them installed on the system. And there are a huge number of people
> doing embedded work with FreeSWITCH. Take Apache as another example a quit
> apt-cache search apache2 shows dozens of apache2 packagesthat you must
> install to get that functionality after the fact.
>
Actually you do have a good point here.
$ apt-cache search apache2 | grep apache | wc -l
97
>
> The whole point of meta packages or config packages for FreeSWITCH is to
> try and keep this consistant across all platforms be it RHEL/Centos or
> Debian or even Ubuntu. This reduces the amount of bandwidth required to
> supporting the various things after FS has been installed.
>
> Personally if it were up to me I would say screw all the different
> variations between how FHS and other file layouts work and say pick one of
> the following, /opt/freeswitch or /usr/local/freeswitch we are going to
> install everything in those locations. This would drastically reduce
> support issues and greatly improve the ability of users to backup and
> change things in FS w/out having to search the entire filesystem to figure
> out where something as simple as freeswitch/db/zrtp.dat is located.
>
In Debian packaging etiquette (afaik), /opt/ is used usually for non-free
packages, or packages where the source code is not given out and moving
files around would break the pre-compiled binary. If the end goal was to
get FS included in the Debian mirrors, then you'd need to go beyond just
/usr/local/freeswitch.. it'd have to be split into /etc/freeswitch,
/var/log/freeswitch etc.
>
> Yes I know that last statement will cause a ton of arguments with people
> as getting started on where things should go on a file system layout is as
> toxic as starting a debat on religion or politics, but that’s not the
> point, we are not a distribution, we are a project developing a specific
> software package. That being said I honestly believe the single install
> location is the proper thing to do, but we can have support for FHS install
> locations etc in the build/packaging scripts to ease distro packagers lives
> for getting packages into the main distro repo’s. But even then we will
> still have to maintain packages for FreeSWITCH proper repos as you already
> know how hard it is to get the latest release of software for many thing
> (for crying out loud, centos still ships Postgresql 8, and they are up to
> 9.2.3)
>
It really depends what the agreed end goal is.
If we want to one day have it in the various OS mirrors, then it'll have to
be done properly. This will increase complexity, and end up with more time
needing to be spent. Packaging is a skill/art in its own rights, and you'd
need dedicated people to work on packaging for the various OS's.
Personally, I think the only benefit for splitting up the layout would be
if you want to get it included in the official OS mirrors. However if this
is not the case, then having it all inside a single directory is going to
be quicker and easier, leaving people with more time to focus on other
things.
If having it under a single dir is agreed, according to [3], /etc/opt is
expected to store configuration files related to packages inside /opt, the
use of /usr/local [1] and /opt [2] appears to be OS specific [4]. I don't
have any strong opinions of whether it should be /opt or /usr/local.
[1] /usr/local -
http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard#cite_note-29
[2] /opt -
http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard#cite_note-.2Fopt-27
[3] http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
[4]
http://stackoverflow.com/questions/12649355/what-does-opt-mean-as-in-the-opt-directory-is-it-an-abbreviation
> K
>
>
>
> On 3/16/13 11:14 AM, "Cal Leeming [Simplicity Media Ltd]" <
> cal.leeming at simplicitymedialtd.co.uk> wrote:
>
> Sure I'm up for that, though I think discussing a bit more on email before
> hand would be a good idea too.
>
> I can do 10am Eastern on Wednesday, which would be 2pm GMT/UK time for us.
>
> To clarify my own position on packaging.. Having the packages split into
> their individual modules is a nice idea in theory, but it doesn't feel like
> the 'Debian way'. Most Debian users are used to only installing just a few
> packages, and the package maintainer decides what should be compiled in by
> default (take nginx for example). The application then decides which
> modules should be loaded in using the .so files (for example Apache). The
> exception to this is Python, where you have external Python modules (such
> as python-curl), however these not part of the Python core, thus why they
> are kept separate. Standard python modules (such as zlib) are all included
> by default.
>
> I don't know enough about how FreeSWITCH module linking works, but I would
> have thought that if a module is compiled dynamically, then it won't be
> linked in unless it's specified in modules.conf.xml. In which case, you
> could just have a single package with all the dynamic modules compiled in,
> and you would change which modules are loaded in by editing your
> modules.conf.xml. On that basis, I think that the modules should be
> compiled as a single package.
>
> Any thoughts?
>
> Cal
>
> On Sat, Mar 16, 2013 at 5:18 PM, Ken Rice <krice at freeswitch.org> wrote:
>
> Debian Packages... Why don’t you guys all get together on the FS conf
> bridge, and lets get everyone working together to get these done in a
> common way... Hows Say Noon Eastern on Tuesday for 10 Eastern on Wed (an
> hour before the regular weekly call) to get all you guys in 1 bridge to
> nail this down.
>
>
>
> On 3/15/13 6:21 PM, "Anthony Minessale" <anthony.minessale at gmail.com <
> http://anthony.minessale@gmail.com> > wrote:
>
> Work with ken and we can combine forces and release packages too.
>
> On Mar 15, 2013 6:29 PM, "Andrew Cassidy" <andrew at cassidywebservices.co.uk<
> http://andrew@cassidywebservices.co.uk> > wrote:
>
> I just wrote a script that chroots and builds for each env I have
> installed using the provided build scripts.
>
> On 15 March 2013 20:27, Cal Leeming [Simplicity Media Ltd] <
> cal.leeming at simplicitymedialtd.co.uk <
> http://cal.leeming@simplicitymedialtd.co.uk> > wrote:
>
> Hello,
>
> I've recently released an alternative Debian package builder for
> FreeSWITCH.
>
> https://github.com/foxx/freeswitch-debian
>
> Although FreeSWITCH does already have suitable Debian packages (and a
> builder), it might not be suitable for your needs (and in our specific use
> case, we required an alternative approach).
>
> Some of the reasons for this might be;
>
> * Build your own packages with custom patches applied
> * Your build system requires an easy to use, 1 command buider
> * Building your own source packages from GIT for security reasons
> * Have a single Debian package to install rather than 100+
>
> It supports the following features;
>
> * Uses 'get-packaged-orig-source' to fetch original source from FreeSWITCH
> git
> * Builds as non-native, all arch package using quilt 3.0 patching (in
> accordance with Debian guidelines)
> * Uses start-stop-daemon
> * Uses pbuilder to ensure a clean build
> * Creates 'freeswitch' system user and enforces permissions on FreeSWITCH
> files
> * Installs into /opt/freeswitch, rather than system dirs
> * Removing/purging package will NOT remove data/logs dir or delete
> 'freeswitch' system user (in accordance with Debian guidelines)
> * Enforces all necessary dependancies
>
> Usage:
>
> # Replace GIT_REF with the ref from GIT you wish to compile against
> # Replace FS_VERSION with the version of FreeSWITCH we are compiling
>
> $ apt-get install git
> $ git clone https://github.com/foxx/freeswitch-debian.git
> $ cd freeswitch-debian
> $ GIT_REF=master FS_VERSION=1.3.16 make
>
> Hope this helps someone else!
>
> Cal
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org <http://consulting@freeswitch.org>
> http://www.freeswitchsolutions.com
>
>
>
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org <
> http://FreeSWITCH-users@lists.freeswitch.org>
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
>
>
> --
> Ken
> *http://www.FreeSWITCH.org
> http://www.ClueCon.com
> http://www.OSTAG.org
> *irc.freenode.net #freeswitch
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
>
>
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20130316/65d70f70/attachment.html
Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users
mailing list