Source0 is a tarball generated from either scripts/tagscript.sh or scripts/dailys.sh both of these roll the tar ball
the other Source# are tar balls we require to build and are not in the git tree Interestingly enough, I used a similar script to fetch the current tree, compress it and then use it as a source (git-<current_date>.tar.bz2). So, in addition to the daily compressed git, I would also need the other sources listed in that .spec file, right?
As far as the BuildRequires those are there because they are required to build all the modules the whole point of rolling modular RPMs like this is so that we can build everything at one time and you can roll your own config package (see package config-vanilla) and thats all you need to build everything else is done for you Yes, I understand that, but I am never going to use FS with PostgreSQL for example, so why would I need to pollute my build machine by installing the PostgreSQL -devel packages?
That is what I mean by making the .spec file more modular - for people like myself, if I don't want to include any ODBC/PosgreSQL stuff and rely solely on sqlite[3] then all I would need to do is set the appropriate variable in that .spec file (or reset it via the command line) and that is it.
Changing UserNames doesn't add any security really... you should be running freeswitch as a non-root user and then it should be a locked account possibly with /bin/nologin or /bin/false as the shell unless you have other reasons that make the last thing not needed... I know all that, but it is a practice I use to define my own user names for the daemons I compile/deploy/run on all systems - don't worry, I won't bother you with unnecessary questions arising from the use of non-standard user name. I also deploy SELinux, so I need to tie this user name with the FS SELinux policy (which I will also create/amend and deploy), so it is important for me to easily change that name.
What are the issues with h323 I am reading in that .spec file - could you elaborate further?