I am successfully (so far) running an EDE style 'designer' install on FC12. I had to make a number of changes and while I do not claim these are the 'right' way to fix some of these issues I'm hoping this at least documents the issues in case support of FC12 and beyond is ever considered (FC10 is not getting updates any more and the EDE scripts claim to not support RHEL) or someone else needs to run under FC12. In the ede devuser script I just replaced the literal 'fc10' with 'fc12'.
I also did a full RPM build under FC12 but couldn't make the resulting installed system work (the distribution of config files through sipxsupervisor failed due to some problem with auto-generated ssl certificates; I didn't go any further but likely that's easily fixed). If its deemed appropriate I'm happy to enter some/all of these into jira. Some general notes that caused trouble that I manually worked around: 1) Mixed case usernames are no longer allowed (PlcmSpIp), useradd just fails and the EDE stuff ignores the failure. I added the user manually with vipw w/o issue. It might be worth considering setting up the DHCP server to use plcmspip (in dnsmasq for example: # Polycom IP phone boot server (66+Custom->160) dhcp-option=160,"ftp://plcmspip:[email protected]" ) as the security folks seem well convinced that mixed case usernames are officially harmful now. 2) The network setup in (if I recall) the EDE script and/or sipxecs-setup depends on parsing /etc/sysconfig/networks-scripts/ifcfg-eth0 ; the format of this has changed and instead of NETMASK a default install puts in PREFIX. It doesn't hurt to add NETMASK to work around this. 3) Insure that the IPV6 localhost entry (::1) in /etc/hosts does not have the 'external' name of the machine (pbx.xxx.com for example). Issues that I worked around with changes in the source tree (effective with an autoreconf -if/configure/make build): 4) There's some conflict between the sipXinterop package and the sipXpbx package -- they both install an httpd.conf file (even if you don't otherwise enable the interop thing) but the sipXinterop one ends up winning. Both of the .in files is incompatible with the newer distribution of apache (which is missing mod_file_cache and mod_mem_cache) in FC12: Index: sipXinterop/http_conf/httpd.conf.pre =================================================================== --- sipXinterop/http_conf/httpd.conf.pre (revision 17748) +++ sipXinterop/http_conf/httpd.conf.pre (working copy) @@ -261,8 +261,6 @@ LoadModule cache_module @APACHE2_MOD@/mod_cache.so LoadModule suexec_module @APACHE2_MOD@/mod_suexec.so LoadModule disk_cache_module @APACHE2_MOD@/mod_disk_cache.so -LoadModule file_cache_module @APACHE2_MOD@/mod_file_cache.so -LoadModule mem_cache_module @APACHE2_MOD@/mod_mem_cache.so LoadModule cgi_module @APACHE2_MOD@/mod_cgi.so # Index: sipXpbx/etc/httpd.conf.in =================================================================== --- sipXpbx/etc/httpd.conf.in (revision 17748) +++ sipXpbx/etc/httpd.conf.in (working copy) @@ -261,8 +261,6 @@ LoadModule cache_module @APACHE2_MOD@/mod_cache.so LoadModule suexec_module @APACHE2_MOD@/mod_suexec.so LoadModule disk_cache_module @APACHE2_MOD@/mod_disk_cache.so -LoadModule file_cache_module @APACHE2_MOD@/mod_file_cache.so -LoadModule mem_cache_module @APACHE2_MOD@/mod_mem_cache.so LoadModule cgi_module @APACHE2_MOD@/mod_cgi.so # 5) The undocumented '--quiet' flag to Postgresql's createdb and dropdb commands is no longer present in FC12 and causes these commands to fail now: Index: sipXproxy/bin/sipxcallresolver.sh.in =================================================================== --- sipXproxy/bin/sipxcallresolver.sh.in (revision 17748) +++ sipXproxy/bin/sipxcallresolver.sh.in (working copy) @@ -41,7 +41,7 @@ Database=SIPXCDR Today=`date` -PsqlCmd="${Psql} --quiet --tuples-only --no-align --username ${PgUser} --dbname ${Database}" +PsqlCmd="${Psql} --tuples-only --no-align --username ${PgUser} --dbname ${Database}" # Make sure we are running as root during installation setup assertRoot() { @@ -138,12 +138,12 @@ case ${1} in create) - createdb --quiet -U ${PgUser} --encoding=UNICODE ${Database} + createdb -U ${PgUser} --encoding=UNICODE ${Database} ${PsqlCmd} -f ${PgSchema} ;; drop) - dropdb --quiet -U ${PgUser} ${Database} + dropdb -U ${PgUser} ${Database} ;; esac } Index: sipXconfig/neoconf/etc/database/database.xml =================================================================== --- sipXconfig/neoconf/etc/database/database.xml (revision 17748) +++ sipXconfig/neoconf/etc/database/database.xml (working copy) @@ -116,7 +116,7 @@ <sleep seconds="3" /> <!-- sporadic template1 in use, allow dropdb to disconnect... --> <exec executable="createdb" failonerror="true"> - <arg line="-q -U ${sipxconfig.db.user} --encoding=UNICODE ${sipxconfig.db.name}" /> + <arg line="-U ${sipxconfig.db.user} --encoding=UNICODE ${sipxconfig.db.name}" /> </exec> </target> @@ -937,7 +937,7 @@ <sleep seconds="3" /> <!-- sporadic template1 in use, allow dropdb to disconnect... --> <exec executable="createdb" failonerror="true"> - <arg line="-q -U ${sipxconfig.db.user} --encoding=UNICODE PDS" /> + <arg line="-U ${sipxconfig.db.user} --encoding=UNICODE PDS" /> </exec> <!-- ignore error in this task, importing database can fail if going from Postgres 7 to 8 --> <exec executable="/bin/sh" failonerror="false" outputproperty="eatme"> 6) autoconfig fails if the libtool-ltdl-devel package is not installed (added to YUM_PACKAGES in ede_base_root.sh) 7) Freeswitch (svn 16425) doesn't build libjs.so due to a subtle problem with dependencies in the autoconfig system. I posted this to the freeswitch list and Mike said he would fix it. Index: lib/freeswitch/Makefile.am =================================================================== --- lib/freeswitch/Makefile.am (revision 17748) +++ lib/freeswitch/Makefile.am (working copy) @@ -1,6 +1,6 @@ VERSION = 1.0.5 RELEASE = 1 -SVN_RELEASE = 16184 +SVN_RELEASE = 16425 SRC_DIR = $(srcdir)/src SVN_URL = http://svn.freeswitch.org/svn/freeswitch/trunk @@ -26,6 +26,7 @@ build-rpms: pushd @RPMBUILD_TOPDIR@/SOURCES ; \ svn export -q -r $(SVN_RELEASE) $(SVN_URL) sipx-freeswitch-$(VERSION) ; \ + cd sipx-freeswitch-$(VERSION); patch -p0 < ~/fs.patch; cd .. ; \ tar czf $(SRC_TARBALL) sipx-freeswitch-$(VERSION) ; \ rm -rf sipx-freeswitch-$(VERSION) ; \ popd fs.patch: Index: libs/js/configure.ac =================================================================== --- libs/js/configure.ac (revision 16398) +++ libs/js/configure.ac (working copy) @@ -154,6 +154,8 @@ CPPFLAGS="$CPPFLAGS -DJS_HAS_XML_SUPPORT=1" fi +AC_PROG_LIBTOOL + dnl # configure option --with-dso AC_ARG_WITH([dso], AS_HELP_STRING([--with-dso], [build without DSO object (allows run-time process extending)]), @@ -229,8 +231,6 @@ with_tags="" -AC_PROG_LIBTOOL - AC_CONFIG_HEADERS(config.h) AC_CONFIG_FILES([Makefile js.pc js-config.sh src/perlconnect/Makefile.PL]) AC_OUTPUT 8) The freeswitch spec file is missing some new files in the freeswitch distro Index: lib/freeswitch/sipx-freeswitch.spec =================================================================== --- lib/freeswitch/sipx-freeswitch.spec (revision 17750) +++ lib/freeswitch/sipx-freeswitch.spec (working copy) @@ -334,6 +334,7 @@ %config(noreplace) %{prefix}/conf/jingle_profiles/*.xml %config(noreplace) %{prefix}/conf/mrcp_profiles/*.xml %config(noreplace) %{prefix}/htdocs/* +%config(noreplace) %{prefix}/conf/ivr_menus/* %ifos linux /etc/ld.so.conf.d/* ## /etc/init.d/freeswitch 9) Dependency RPM build support for an fc12 target: Index: lib/Makefile =================================================================== --- lib/Makefile (revision 17748) +++ lib/Makefile (working copy) @@ -54,6 +54,9 @@ .PHONY: f11 f11 : $(CUSTOM_PACKAGES) +.PHONY: f12 +f12 : $(CUSTOM_PACKAGES) + .PHONY: rhel5 centos5 rhel5 centos5 : $(CUSTOM_PACKAGES) nsis cppunit xerces-c w3c-libwww rubygems rr dtool 10) sipXtackLib depends on @ECHO@ being defined when making Makefile.am and in FC12 it isn't Index: sipXtackLib/include/Makefile.am =================================================================== --- sipXtackLib/include/Makefile.am (revision 17748) +++ sipXtackLib/include/Makefile.am (working copy) @@ -118,11 +118,11 @@ net/version.h: .FORCE @test -d net || mkdir net - @@ECHO@ '#ifndef SIP_STACK_VERSION' > net/version_new.h - @@ECHO@ -n '#define SIP_STACK_VERSION "' >> net/version_new.h - @@ECHO@ -n @VERSION@ >> net/version_new.h- @@ECHO@ '"' >> net/version_new.h- @@ECHO@ '#endif' >> net/version_new.h + @echo '#ifndef SIP_STACK_VERSION' > net/version_new.h + @echo -n '#define SIP_STACK_VERSION "' >> net/version_new.h + @echo -n @VERSION@ >> net/version_new.h + @echo '"' >> net/version_new.h + @echo '#endif' >> net/version_new.h @if test ! -r net/version.h || ! diff net/version.h net/version_new.h > /dev/null \ ;then \ echo sipXtack version is @VERSION@ \ 11) The gen-ssl-keys script assumes that '.' is in the path, it is not and this leads to very subtle failures as there is no indication that the ssl keys did not get generated while running sipxecs-setup Index: sipXcommserverLib/bin/ssl-cert/gen-ssl-keys.sh.in =================================================================== --- sipXcommserverLib/bin/ssl-cert/gen-ssl-keys.sh.in (revision 17748) +++ sipXcommserverLib/bin/ssl-cert/gen-ssl-keys.sh.in (working copy) @@ -1249,7 +1249,7 @@ randomFile=${WorkDir}/rnd_seed -test -r ${Defaults} && . ${Defaults} +test -r ${Defaults} && . ./${Defaults} case ${Action} in 12) The autoconfig magic around shared library configuration (specifically getting the literal string ".so" out of the config system) changed some time ago and as of FC12 its no longer backwards compatible. I'm sure this isn't the 'right' way to do this (it pulls a lot of extra config goo in) but it does work: Index: sipXportLib/src/test/utl/PluginHooksTest.cpp =================================================================== --- sipXportLib/src/test/utl/PluginHooksTest.cpp (revision 17748) +++ sipXportLib/src/test/utl/PluginHooksTest.cpp (working copy) @@ -19,7 +19,11 @@ #ifndef PLUGIN_EXT # ifdef HAVE_CONFIG_H # include "config.h" // generated by autoconf -# define PLUGIN_EXT LTDL_SHLIB_EXT +# ifdef LT_MODULE_EXT +# define PLUGIN_EXT LT_MODULE_EXT +# else +# define PLUGIN_EXT LTDL_SHLIB_EXT +# endif # else # error "Need PLUGIN_EXT to be set to the dynamic library extension value" # endif Index: sipXportLib/configure.ac =================================================================== --- sipXportLib/configure.ac (revision 17748) +++ sipXportLib/configure.ac (working copy) @@ -17,8 +17,6 @@ AC_CONFIG_SRCDIR([src/os/OsConfigDb.cpp]) AM_CONFIG_HEADER([config.h]) AC_PROG_LIBTOOL -# check the shared library file extension - sets LTDL_SHLIB_EXT -AC_LTDL_SHLIBEXT # Checks for programs. AC_PATH_PROG([BASH], [bash]) @@ -82,4 +80,8 @@ doc/Makefile ]) +# check the shared library file extension - sets LTDL_SHLIB_EXT +#AC_LTDL_SHLIBEXT +AC_LIB_LTDL + AC_OUTPUT 13) sipXmediaLib was getting some typedefs via osmosis which no longer works: Index: sipXmediaLib/include/mp/MpAudioAbstract.h =================================================================== --- sipXmediaLib/include/mp/MpAudioAbstract.h (revision 17748) +++ sipXmediaLib/include/mp/MpAudioAbstract.h (working copy) @@ -12,6 +12,7 @@ #include <os/iostream> #include <stdio.h> +#include <stdint.h> typedef int16_t AudioSample; typedef unsigned char AudioByte; Index: sipXmediaLib/include/mp/MpAudioFileUtils.h =================================================================== --- sipXmediaLib/include/mp/MpAudioFileUtils.h (revision 17748) +++ sipXmediaLib/include/mp/MpAudioFileUtils.h (working copy) @@ -12,6 +12,7 @@ #define MP_AUDIO_FILE_UTILS_H #include <os/iostream> +#include <stdint.h> typedef short AudioSample; -Eric _______________________________________________ sipx-dev mailing list [email protected] List Archive: http://list.sipfoundry.org/archive/sipx-dev Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev sipXecs IP PBX -- http://www.sipfoundry.org/
