[Freeswitch-users] Alternative Debian package builder

Cal Leeming [Simplicity Media Ltd] cal.leeming at simplicitymedialtd.co.uk
Sun Mar 17 23:31:16 MSK 2013


I have to agree on this part and one of the reasons why I don't feel
strongly either way on whether it gets included in the official repos or
not.

My own view is that I'm willing to overlook a package not being included in
the official repos, providing that either a third party repo or individual
deb file downloads are available, and sufficient instructions have been
given to explain the installation instructions. There are many examples of
this, for example nginx, php 5.3 dotdeb repo, Percona MySQL, saltstack and
many other important stack components.

There are obviously some benefits of being included in an official repo,
but maintaining your own repo (as Percona do) can sometimes be much more
beneficial.

Cal

On Sat, Mar 16, 2013 at 10:07 PM, Michael Whapples <mwhapples at aim.com>wrote:

>  Possibly a bit unfair to say, it can be a matter of discoverability.
>
> To explain what I do when searching for software to meet my needs.
>
> I will first look for software in distribution specific resources,
> including the package manager and distribution's wiki. If there is
> something mentioned there then it most likely is going to be the simplest
> and quickest option to get it running (the package manager should do all
> the dependency checks, get the require dependencies and configure the
> system), distribution documentation is most likely to discuss software
> which works well under that distribution or comment on specific things
> which need doing on that distribution.
>
> If at this point I have found something which meets my needs then I need
> not look further. However should I not be satisfied with the options at
> this point I will of course look further.
>
> Also I will read documentation, search the internet for solutions to
> problems, etc.
>
> My point being though, I might not find software which is not in a
> official distribution if something which can do the job is in the official
> distribution. This is not because I am being lazy but rather I want to use
> my time efficiently, I prefer to use software than search for it.
>
> Michael Whapples
>
> On 16/03/2013 20:12, Avi Marcus wrote:
>
> If that's what's stopping them from trying FS, especially if there is a
> .deb ready and waiting, then I expect the community will have to answer a
> LOT of very basic questions from them that are already answered on ML /
> wiki / book...
>
>   -Avi
>
>
> On Sat, Mar 16, 2013 at 10:37 PM, Ken Rice <krice at freeswitch.org> wrote:
>
>>  Getting it into official repos only helps gain wider adaption, many
>> people wont even try something if they cant just type ${package_manager}
>> install ${application}
>>
>>
>>
>>
>> On 3/16/13 12:55 PM, "Avi Marcus" <avi at avimarcus.net> wrote:
>>
>>   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 <
>> http://cal.leeming@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 <
>> http://krice@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>  <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>
>>  <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>  <
>> 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://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://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/20130317/c8e3f9d1/attachment-0001.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list