Compare commits

...

3 Commits

Author SHA1 Message Date
space88man 3cc3ead598
Merge c41ac535b1 into 5cb74797fe 2025-01-17 16:41:39 +00:00
Aron Podrigal 5cb74797fe
[mod_pgsql] err is now set correctly (dbh:last_error())
New function, `void pgsql_handle_set_error_if_not_set(switch_pgsql_handle_t *handle, char **err)` has been added to mod_pgsql module. This function is now called at several points where an error occurred but *err was not yet set.
2025-01-17 18:51:45 +03:00
S-P Chan c41ac535b1 RPM spec: modernize with Python 3.12 for EL8+
- since we no longer build for CentOS modernize Python to
  3.12 for EL8, EL9
2024-11-28 18:22:17 +08:00
2 changed files with 43 additions and 15 deletions

View File

@ -3,7 +3,7 @@
# spec file for package freeswitch # spec file for package freeswitch
# #
# includes module(s): freeswitch-devel freeswitch-codec-passthru-amr freeswitch-codec-passthru-amrwb freeswitch-codec-passthru-g729 # includes module(s): freeswitch-devel freeswitch-codec-passthru-amr freeswitch-codec-passthru-amrwb freeswitch-codec-passthru-g729
# freeswitch-codec-passthru-g7231 freeswitch-lua freeswitch-mariadb freeswitch-pgsql freeswitch-perl freeswitch-python freeswitch-v8 freeswitch-signalwire # freeswitch-codec-passthru-g7231 freeswitch-lua freeswitch-mariadb freeswitch-pgsql freeswitch-perl freeswitch-python3 freeswitch-v8 freeswitch-signalwire
# freeswitch-lan-de freeswitch-lang-en freeswitch-lang-fr freeswitch-lang-hu freeswitch-lang-ru # freeswitch-lan-de freeswitch-lang-en freeswitch-lang-fr freeswitch-lang-hu freeswitch-lang-ru
# and others # and others
# #
@ -943,14 +943,14 @@ BuildRequires: perl-ExtUtils-Embed
%description perl %description perl
%package python %package python3
Summary: Python support for the FreeSWITCH open source telephony platform Summary: Python support for the FreeSWITCH open source telephony platform
Group: System/Libraries Group: System/Libraries
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires: python Requires: python3.12
BuildRequires: python-devel BuildRequires: python3.12-devel, python3.12-setuptools
%description python %description python3
%if %{build_mod_v8} %if %{build_mod_v8}
%package v8 %package v8
@ -1092,13 +1092,13 @@ Group: System Environment/Libraries
%description -n perl-ESL %description -n perl-ESL
The Perl ESL module allows for native interaction with FreeSWITCH over the event socket interface. The Perl ESL module allows for native interaction with FreeSWITCH over the event socket interface.
%package -n python-ESL %package -n python3-ESL
Summary: The Python ESL module allows for native interaction with FreeSWITCH over the event socket interface. Summary: The Python ESL module allows for native interaction with FreeSWITCH over the event socket interface.
Group: System Environment/Libraries Group: System Environment/Libraries
Requires: python Requires: python3.12
BuildRequires: python-devel BuildRequires: python3.12-devel, python3.12-setuptools
%description -n python-ESL %description -n python3-ESL
The Python ESL module allows for native interaction with FreeSWITCH over the event socket interface. The Python ESL module allows for native interaction with FreeSWITCH over the event socket interface.
###################################################################################################################### ######################################################################################################################
@ -1292,7 +1292,7 @@ FORMATS_MODULES="formats/mod_local_stream formats/mod_native_file formats/mod_op
# Embedded Languages # Embedded Languages
# #
###################################################################################################################### ######################################################################################################################
LANGUAGES_MODULES="languages/mod_lua languages/mod_perl languages/mod_python " LANGUAGES_MODULES="languages/mod_lua languages/mod_perl languages/mod_python3 "
%if %{build_mod_v8} %if %{build_mod_v8}
LANGUAGES_MODULES+="languages/mod_v8" LANGUAGES_MODULES+="languages/mod_v8"
%endif %endif
@ -1405,13 +1405,14 @@ autoreconf --force --install
--with-odbc \ --with-odbc \
--with-erlang \ --with-erlang \
--with-openssl \ --with-openssl \
--with-python3=/usr/bin/python3.12 \
%{?configure_options} %{?configure_options}
unset MODULES unset MODULES
%{__make} %{__make}
cd libs/esl cd libs/esl
%{__make} pymod %{__make} py3mod
%{__make} perlmod %{__make} perlmod
@ -1441,7 +1442,7 @@ cd libs/esl
#install the esl stuff #install the esl stuff
cd libs/esl cd libs/esl
%{__make} DESTDIR=%{buildroot} pymod-install %{__make} DESTDIR=%{buildroot} py3mod-install
%{__make} DESTDIR=%{buildroot} perlmod-install %{__make} DESTDIR=%{buildroot} perlmod-install
%if %{build_py26_esl} %if %{build_py26_esl}
@ -2049,7 +2050,7 @@ fi
%{prefix}/perl/* %{prefix}/perl/*
%config(noreplace) %attr(0640, freeswitch, daemon) %{sysconfdir}/autoload_configs/perl.conf.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{sysconfdir}/autoload_configs/perl.conf.xml
%files python %files python3
%{MODINSTDIR}/mod_python*.so* %{MODINSTDIR}/mod_python*.so*
%config(noreplace) %attr(0640, freeswitch, daemon) %{sysconfdir}/autoload_configs/python.conf.xml %config(noreplace) %attr(0640, freeswitch, daemon) %{sysconfdir}/autoload_configs/python.conf.xml
@ -2199,7 +2200,7 @@ fi
%{perl_archlib}/ESL/Dispatch.pm %{perl_archlib}/ESL/Dispatch.pm
%{perl_archlib}/ESL/IVR.pm %{perl_archlib}/ESL/IVR.pm
%files -n python-ESL %files -n python3-ESL
%attr(0644, root, bin) /usr/lib*/python*/site-packages/freeswitch.py* %attr(0644, root, bin) /usr/lib*/python*/site-packages/freeswitch.py*
%attr(0755, root, bin) /usr/lib*/python*/site-packages/_ESL.so* %attr(0755, root, bin) /usr/lib*/python*/site-packages/_ESL.so*
%attr(0755, root, bin) /usr/lib*/python*/site-packages/ESL.py* %attr(0755, root, bin) /usr/lib*/python*/site-packages/ESL.py*

View File

@ -106,6 +106,22 @@ char * pgsql_handle_get_error(switch_pgsql_handle_t *handle)
return err_str; return err_str;
} }
void pgsql_handle_set_error_if_not_set(switch_pgsql_handle_t *handle, char **err)
{
char *err_str;
if (err && !(*err)) {
err_str = pgsql_handle_get_error(handle);
if (zstr(err_str)) {
switch_safe_free(err_str);
err_str = strdup((char *)"SQL ERROR!");
}
*err = err_str;
}
}
static int db_is_up(switch_pgsql_handle_t *handle) static int db_is_up(switch_pgsql_handle_t *handle)
{ {
int ret = 0; int ret = 0;
@ -553,8 +569,15 @@ switch_status_t pgsql_handle_exec_detailed(const char *file, const char *func, i
goto error; goto error;
} }
return pgsql_finish_results(handle); if (pgsql_finish_results(handle) != SWITCH_STATUS_SUCCESS) {
goto error;
}
return SWITCH_STATUS_SUCCESS;
error: error:
pgsql_handle_set_error_if_not_set(handle, err);
return SWITCH_STATUS_FALSE; return SWITCH_STATUS_FALSE;
} }
@ -630,6 +653,7 @@ done:
pgsql_free_result(&result); pgsql_free_result(&result);
if (pgsql_finish_results(handle) != SWITCH_STATUS_SUCCESS) { if (pgsql_finish_results(handle) != SWITCH_STATUS_SUCCESS) {
pgsql_handle_set_error_if_not_set(handle, err);
sstatus = SWITCH_STATUS_FALSE; sstatus = SWITCH_STATUS_FALSE;
} }
@ -638,6 +662,7 @@ done:
error: error:
pgsql_free_result(&result); pgsql_free_result(&result);
pgsql_handle_set_error_if_not_set(handle, err);
return SWITCH_STATUS_FALSE; return SWITCH_STATUS_FALSE;
} }
@ -1050,6 +1075,8 @@ switch_status_t pgsql_handle_callback_exec_detailed(const char *file, const char
return SWITCH_STATUS_SUCCESS; return SWITCH_STATUS_SUCCESS;
error: error:
pgsql_handle_set_error_if_not_set(handle, err);
return SWITCH_STATUS_FALSE; return SWITCH_STATUS_FALSE;
} }