[Freeswitch-users] Alternative Debian package builder
Avi Marcus
avi at avimarcus.net
Sat Mar 16 21:55:15 MSK 2013
At the speed that FS updates, I don't particularly see the point of getting
it into the official repos...
-Avi
On Sat, Mar 16, 2013 at 8:47 PM, Cal Leeming [Simplicity Media Ltd] <
cal.leeming at simplicitymedialtd.co.uk> wrote:
>
>
> 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
>>
>>
>
> _________________________________________________________________________
> 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/5eab8762/attachment-0001.html
Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users
mailing list