smeserver-freepbx/smeserver-freepbx.spec

453 lines
20 KiB
RPMSpec
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# $Id: smeserver-freepbx.spec,v 1.28 2024/04/23 03:27:22 jpp Exp $
# Authority: vip-ire
# Name: Daniel Berteaud
#%define fpbxversion 2.5.0
%define version 14
%define release 15
%define name smeserver-freepbx
Summary: Asterisk web GUI
Name: %{name}
Version: %{version}
Release: %{release}%{?dist}
License: GPL
Group: System/Servers
Source: %{name}-%{version}.tar.xz
BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
URL: http://www.freepbx.org/
BuildRequires: e-smith-devtools
BuildRequires: tar
Requires: mariadb
Requires: nodejs >= 10
Requires: jq
# freepbx 14 requires php56
Requires: php56-php-pear php56-php-cgi php56-php-common php56-php-curl php56-php-mbstring php56-php-gd php56-php-mysql php56-php-gettext php56-php-bcmath php56-php-zip php56-php-xml php56-php-imap php56-php-json php56-php-process php56-php-snmp
# freepbx 15 and 16
Requires: php74-php-pear php74-php-cgi php74-php-common php74-php-curl php74-php-mbstring php74-php-gd php74-php-mysql php74-php-gettext php74-php-bcmath php74-php-zip php74-php-xml php74-php-imap php74-php-json php74-php-process php74-php-snmp
# freepbx 16
Requires: php80-php-pear php80-php-cgi php80-php-common php80-php-curl php80-php-mbstring php80-php-gd php80-php-mysql php80-php-gettext php80-php-bcmath php80-php-zip php80-php-xml php80-php-imap php80-php-json php80-php-process php80-php-snmp
Requires: httpd
Requires: php-pear
Requires: /usr/sbin/asterisk
#Requires: dahdi-tools
#Requires: dahdi-linux
Requires: sox
Requires: mod_auth_tkt
Requires: e-smith-base
Requires: freepbx-src
Requires: asterisk-sounds-core-en-ulaw
Requires: asterisk-voicemail
Requires: asterisk-configs
#SME10
Requires: asterisk-mysql asterisk-odbc asterisk-pjsip asterisk-sip asterisk-festival asterisk-moh-opsound asterisk-snmp asterisk-mp3 asterisk-sounds-core-en asterisk-moh-opsound
Requires: asterisk-voicemail-plain
# conlicts with imap asterisk-voicemail-odbc asterisk-voicemail-plain
Requires: ffmpeg
Requires: mpg123
Requires: mysql-connector-odbc
Requires: unixODBC
Requires: asterisk-odbc
Requires: lame
Requires: xz
Requires: asterisk-ael asterisk-iax2 asterisk-fax asterisk-ldap asterisk-misdn
Requires: MySQL-python opus nmap icu vsftpd libicu-devel gcc-c++
Requires: asterisk-moh-opsound-alaw asterisk-moh-opsound-g722 asterisk-moh-opsound-g729 asterisk-moh-opsound-gsm asterisk-moh-opsound-siren14 asterisk-moh-opsound-siren7 asterisk-moh-opsound-sln16 asterisk-moh-opsound-ulaw asterisk-moh-opsound-wav
Requires: asterisk-sounds-core-en-alaw asterisk-sounds-core-en-g722 asterisk-sounds-core-en-g729 asterisk-sounds-core-en-gsm asterisk-sounds-core-en-siren14 asterisk-sounds-core-en-siren7 asterisk-sounds-core-en-sln16 asterisk-sounds-core-en-ulaw asterisk-sounds-core-en-wav
# Requires: asterisk-sounds-core-fr-alaw asterisk-sounds-core-fr-g722 asterisk-sounds-core-fr-g729 asterisk-sounds-core-fr-gsm asterisk-sounds-core-fr-siren14 asterisk-sounds-core-fr-siren7 asterisk-sounds-core-fr-sln16 asterisk-sounds-core-fr-ulaw asterisk-sounds-core-fr-wav
# Requires: asterisk-sounds-core-it-alaw asterisk-sounds-core-it-g722 asterisk-sounds-core-it-g729 asterisk-sounds-core-it-gsm asterisk-sounds-core-it-siren14 asterisk-sounds-core-it-siren7 asterisk-sounds-core-it-sln16 asterisk-sounds-core-it-ulaw asterisk-sounds-core-it-wav
# Requires: asterisk-sounds-core-es-alaw asterisk-sounds-core-es-g722 asterisk-sounds-core-es-g729 asterisk-sounds-core-es-gsm asterisk-sounds-core-es-siren14 asterisk-sounds-core-es-siren7 asterisk-sounds-core-es-sln16 asterisk-sounds-core-es-ulaw asterisk-sounds-core-es-wav
Requires: e-smith-apache >= 2.6.0-19
Requires: smeserver-php >= 3.0.0-43
#Buildarch: noarch
AutoReqProv: no
%description
FreePBX is a Standardised Implementation of Asterisk that gives you a GUI to manage your system. If you have looked into Asterisk, you would know that it does not come with any built in programming. You cannot plug a phone into it and make it work without editing configuration files, writing dialplans, and various messing about. FreePBX simplifies this by giving you a pre-written set of dialplans that allow you to have a fully functional PBX pretty much straight away.
This package provide the integration of FreePBX on SME Server.
%changelog
* Sat Sep 07 2024 cvs2git.sh aka Brian Read <brianr@koozali.org> 14-15.sme
- Roll up patches and move to git repo [SME: 12338]
* Sat Sep 07 2024 BogusDateBot
- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
by assuming the date is correct and changing the weekday.
* Mon Apr 22 2024 Jean-Philippe Pialasse <jpp@koozali.org> 14-14.sme
- some logs not rotated [SME: 12506]
- moving freepbx php error log from /var/log/php [SME: 12481]
* Wed Jan 04 2023 Jean-Philippe Pialasse <tests@pialasse.com> 14-13.sme
- fix permission denied on /usr/local/sbin/fwconsole from cron
* Wed Dec 14 2022 Jean-Philippe Pialasse <tests@pialasse.com> 14-11.sme
- fix bugs installing FPBX 15
- fix amportal alerts [SME: 12259]
- compatible FBX 16 [SME: 12276]
- fix duplicate logrotate [SME: 12237]
- force php memory on install [SME: 10221]
* Tue Dec 13 2022 Jean-Philippe Pialasse <tests@pialasse.com> 14-10.sme
- fix backup for FreePBX 15 and higher [SME: 12256]
- make compatible up to FreePBX 16 [SME: 11923]
* Wed Dec 07 2022 Jean-Philippe Pialasse <tests@pialasse.com> 14-9.sme
- improve backup [SME: 10703]
* Wed Dec 07 2022 Jean-Philippe Pialasse <tests@pialasse.com> 14-8.sme
- fix patch for asterisk crontab [SME: 12227]
* Wed Dec 07 2022 Jean-Philippe Pialasse <tests@pialasse.com> 14-7.sme
- fix voicemail not visible in UCP [SME: 12254]
force asterisk-voicemail-plain
* Fri Nov 18 2022 Jean-Philippe Pialasse <tests@pialasse.com> 14-6.sme
- fix creation of folder preventing migration [SME: 12226]
* Sat Jul 30 2022 Brian Read <brianr@bjsystems.co.uk> 14-5.sme
- Re-build and link to latest devtools [SME: 11997]
* Fri Jul 22 2022 Jean-Philippe Pialasse <tests@pialasse.com> 14-4.sme
- add to core backup [SME: 12009]
- httpd 2.4 syntax [SME: 12046]
* Tue May 31 2022 Jean-Philippe Pialasse <tests@pialasse.com> 14-3.sme
- Re-build and link to latest devtools service file fwconsole path [SME: 11986]
* Sat Apr 16 2022 Jean-Philippe Pialasse <tests@pialasse.com> 14-2.sme
- Re-build and link to latest devtools huge amount of error if asterisk disabled [SME: 9756]
- Re-build and link to latest devtools multiple email sent because of asterisk cron php path [SME: 11940]
- on uninstall remove asterisk crontab to avoid noise [SME: 10131]
- allow access to sounds folder for gui [SME: 11924]
* Sun Mar 27 2022 Jean-Philippe Pialasse <tests@pialasse.com> 14-1.sme
- first version 14 [SME: 11613]
* Wed Nov 10 2021 Jean-Philippe Pialasse <tests@pialasse.com> 13-17.sme
- first import to SME10 [SME: 11613]
- make it Freepbx 14 compatible [SME: 10705] 
add dependencies for SME10 mariadb nodejs >= 10 php70*
remove missing rpms asterisk-sounds-extra-en-ulaw asterisk-resample asterisk-addons
remove double owned folders /etc/asterisk /var/lib/asterisk
systemd ready for asterisk(disabled), freepbx, httpd-fpbx
smeserver-freepbx-update event created NEED TEST
php70-php-fpm fragment
update httpd-fpbx template for php-fpm use
update httpd-e-smith to use php-fpm for fpbx
update install script for php74
add a copy of safe_asterisk
create php folders and set rights
improve logrotate
* Mon Jan 20 2020 Jean-Philipe Pialasse <tests@pialasse.com> 13-16.sme
- add required modules to enable cel and cdr logging and search [SME: 10620]
- add requires lame [SME: 9859]
- Re-build and link to latest devtools sounds ownership so they can be handled via gui [SME: 11924]
* Mon Jan 29 2018 Jean-Philipe Pialasse <tests@pialasse.com> 13-15.sme
- Re-build and link to latest devtools warning tampered files in GUI [SME: 10496]
- remove DeviceAndUser property [SME: 10503]
* Wed May 03 2017 Jean-Philipe Pialasse <tests@pialasse.com> 13-14.sme
- update TKT auth parameter for SME 9.2 [SME: 10268]
* Sat Feb 25 2017 Jean-Philipe Pialasse <tests@pialasse.com> 13-13.sme
- Re-build and link to latest devtools noise rebooting and restarting freepbx [SME: 10120]
* Wed Jan 25 2017 Jean-Philipe Pialasse <tests@pialasse.com> 13-11.sme
- NFR: auto backup of whole FBX config during pre-backup event [SME: 9637]
- both asdb and fpbx, asterisk config files, freepbx folders, voicemails are part of backup
- 2 versions are kepts
- weekly backup is also done.
* Mon Jan 23 2017 Jean-Philipe Pialasse <tests@pialasse.com> 13-10.sme
- Re-build and link to latest devtools Missing HTML5 format converters [SME: 9859]
- added requirement for mpg123 and ffmpeg available in smecontribs
* Mon Jan 23 2017 Jean-Philipe Pialasse <tests@pialasse.com> 13-9.sme
- update framework before other modules [SME: 9860]
* Mon Jan 09 2017 Jean-Philipe Pialasse <tests@pialasse.com> 13-8.sme
- autoupgrade modules [SME: 9860]
* Mon Jan 09 2017 Jean-Philipe Pialasse <tests@pialasse.com> 13-7.sme
- Re-build and link to latest devtools wrong default UDPPorts on new install [SME: 9918]
* Mon Oct 24 2016 Jean-Philipe Pialasse <tests@pialasse.com> 13-6.sme
- Re-build and link to latest devtools error while backup with workstation [SME: 9760]
* Mon Oct 24 2016 Jean-Philipe Pialasse <tests@pialasse.com> 13-5.sme
-fix typo in smeserver-freepbx-13.bz9744.patch
* Sun Oct 23 2016 Jean-Philipe Pialasse <tests@pialasse.com> 13-4.sme
- Re-build and link to latest devtools [SME: 9702]
- corrected syntax for port range
* Sun Oct 23 2016 Jean-Philipe Pialasse <tests@pialasse.com> 13-3.sme
- Re-build and link to latest devtools [SME: 9744]
- Re-build and link to latest devtools wrong /tmp folder permission after update
- Thank you Hsing-Foo Wang.
* Tue Jul 26 2016 Jean-Philipe Pialasse <tests@pialasse.com> 13-2.sme
- Re-build and link to latest devtools wrong UDP ports change 1000:2000 to 10000:20000 [SME: 9702]
* Mon Jun 13 2016 Jean-Philipe Pialasse <tests@pialasse.com> 13-1.sme
- bump version to current Freepbx version 13
* Mon Jun 13 2016 Jean-Philipe Pialasse <tests@pialasse.com> -47.sme
- add all needed port for Freepbx sip pjsip and RTP [SME: 9495]
* Sat Jun 11 2016 Jean-Philipe Pialasse <tests@pialasse.com> -46.sme
- Re-build and link to latest devtools missing config files (requires asterisk-configs) [SME: 9577]
- Re-build and link to latest devtools recuring reconfiguration error while installing digium phone module [SME: 9575]
- added port 5061 for tls to TCP ports [SME: 9576]
* Thu Jun 09 2016 Jean-Philipe Pialasse <tests@pialasse.com> -45.sme
- Re-build and link to latest devtools wrong logrotate pattern [SME: 9516]
- as the contrib is only in smedev, i do not fix existing log files badly rotated
* Mon May 16 2016 Jean-Philipe Pialasse <tests@pialasse.com> 0.1-44.sme
- remove fop db [SME: 9495]
- add some mysql setting for freepbxdb (user, email)
- smeserver-freepbx-0.1-Sme9Ast13Fpbx13-7.patch
* Sun May 15 2016 Jean-Philipe Pialasse <tests@pialasse.com> 0.1-43.sme
- add path to ucp module [SME: 9495]
- add 256Mo as default for freepbx php Memory
- add AllowOveride All for .htaccess
- remove httpd config to old FOP panel
- add port 5061 for freepbx
- smeserver-freepbx-0.1-Sme9Ast13Fpbx13-5.patch
- configuration of amportal.conf and its mysql equivalent
- smeserver-freepbx-0.1-Sme9Ast13Fpbx13-6.patch
* Sun May 15 2016 Jean-Philipe Pialasse <tests@pialasse.com> 0.1-42.sme
- remove FOP patches [SME: 9495]
- deleted link to expand amportal.conf
- smeserver-freepbx-0.1-Sme9Ast13Fpbx13-4.patch
* Sun May 15 2016 Jean-Philipe Pialasse <tests@pialasse.com> 0.1-41.sme
- remove heading of /etc/asterisk/asterisk.conf [SME: 9495]
- smeserver-freepbx-0.1-Sme9Ast13Fpbx13-3.patch
- bump
* Sun May 15 2016 Jean-Philipe Pialasse <tests@pialasse.com> 0.1-38.sme
- remove expand template amportal.conf [SME: 9495]
- chown /var/lib/asterisk
- installation configuration options
- smeserver-freepbx-0.1-Sme9Ast13Fpbx13-2.patch
- Requires: asterisk-sounds-core-en-ulaw asterisk-sounds-extra-en-ulaw asterisk-voicemail
* Sun May 15 2016 Jean-Philipe Pialasse <tests@pialasse.com> 0.1-37.sme
- new path to sql files [SME: 9495]
- smeserver-freepbx-0.1-Sme9Ast13Fpbx13-1.patch
* Fri May 06 2016 Jean-Philipe Pialasse <tests@pialasse.com> 0.1-36.sme
- adapt script to fpbx13 and asterisk 13 [SME: 9495]
- change Requires Requires: %{_libdir}/asterisk/modules/app_addon_sql_mysql.so to
- Requires: asterisk-addons as this is the paquet providing it, and it changed name to app_mysql.so
* Fri May 06 2016 Jean-Philipe Pialasse <tests@pialasse.com> 0.1-35.sme
- adapt script to fpbx13 and asterisk 13 [SME: 9495]
- smeserver-freepbx-0.1-Sme9Ast13Fpbx13-0.patch
* Fri May 06 2016 Jean-Philipe Pialasse <tests@pialasse.com> 0.1-34.sme
- first import to SME9 [SME: 9495]
* Sun May 12 2013 JP Pialasse <tests@pialasse.com> 0.1-33.sme
- buildarch removed in order to find the correct %{_libdir}/asterisk/modules/app_addon_sql_mysql.so
* Thu Oct 20 2011 Daniel B. <daniel@firewall-services.com> 0.1-32.sme
- Protect by locations (so other alias can be defined to protect with LL::NG for example)
* Mon Oct 17 2011 Daniel B. <daniel@firewall-services.com> 0.1-31.sme
- Add misdn.log to logrotate
* Thu Oct 13 2011 Daniel B. <daniel@firewall-services.com> 0.1-30.sme
- Change session path [SME: 6661]
* Wed Jan 05 2011 Daniel B. <daniel@firewall-services.com> 0.1-29.sme
- astdatadir is /var/lib/asterisk
- templates for /etc/logrotate.d/asterisk
* Mon Sep 20 2010 Daniel B. <daniel@firewall-services.com> 0.1-28.sme
- Create and populate the mysql databases in mysql.init
- Templates for /etc/asterisk/asterisk.conf
* Thu Jul 15 2010 Daniel B. <daniel@firewall-services.com> [0.1-27]
- Read ARI password from the DB (and initialize a random one)
* Mon Feb 22 2010 Daniel B. <daniel@firewall-services.com> [0.1-26]
- Remove hard-coded dependencies on asterisk and asterisk-addons14
Depends now on asterisk binary and app_addon_sql_mysql.so files
(so it can work with asterisk or asterisk14)
* Mon Feb 15 2010 Daniel B. <daniel@firewall-services.com> [0.1-25]
- Remove /etc/logrotate.d/asterisk which is now included in asterisk14
* Tue Feb 09 2010 Daniel B. <daniel@firewall-services.com> [0.1-24]
- Depends now on asterisk14 and asterisk-addons14
* Wed Jan 06 2010 Daniel B. <daniel@firewall-services.com> [0.1-23]
- disable dynamic hints
* Tue Oct 06 2009 Daniel B. <daniel@firewall-services.com> [0.1-22]
- include /opt/freepbx/admin/functions.inc.php in freepbx-dump-astdb
action script for FreePBX 2.6 compatibility
* Tue May 19 2009 Daniel B. <daniel@firewall-services.com> [0.1-21]
- Add CHECKREFERER=FALSE in amportal.conf to repvent error message in some
modules (due to the ProxyPass configuration)
* Tue Apr 28 2009 Daniel B. <daniel@firewall-services.com> [0.1-20]
- Fix CDR db password in cdr_mysql.conf template
- Use a separate service in SME db for FOP
* Thu Apr 16 2009 Daniel B. <daniel@firewall-services.com> [0.1-19]
- remove scoreboard directive from httpd-fpbx config
- remove some modules (mod_ssl, mod_proxy)
* Sat Apr 11 2009 Daniel B. <daniel@firewall-services.com> [0.1-18]
- templatize cdr_mysql.conf [SME: 5153]
- templatize manager.conf
- remove freepbx-cron-scheduler.php from root crontab so only
asterisk user runs it (prevent email error sent from cron)
* Fri Mar 27 2009 Daniel B. <daniel@firewall-services.com> [0.1-17]
- Remove obsolete /admin Alias from apache
- Run the security script on bootsrape-console-save event
* Mon Mar 23 2009 Daniel B. <daniel@firewall-services.com> [0.1-16]
- Security Fixe: put a random password for ARI admin (this should be documented)
* Thu Mar 19 2009 Daniel B. <daniel@firewall-services.com> [0.1-15]
- Check if /opt/freepbx/admin exists (retry the install if a first one failed)
- Remove tabs from spec
* Wed Mar 18 2009 Daniel B. <daniel@firewall-services.com> [0.1-14]
- Remove speex from dependencies
* Thu Mar 12 2009 Daniel B. <daniel@firewall-services.com> [0.1-13]
- Remove zaptel dependency, replaced with dahdi-tools and dahdi-linux
* Mon Feb 23 2009 Daniel B. <daniel@firewall-services.com> [0.1-12]
- Fix logrotate issue (send a sigusr1 signal to httpd-fpbx)
* Thu Feb 12 2009 Daniel B. <daniel@firewall-services.com> [0.1-11]
- Full support for the new DAHDI driver, droping zaptel
* Mon Feb 09 2009 Daniel B. <daniel@firewall-services.com> [0.1-10]
- add support for DAHDI channel
* Mon Dec 08 2008 Daniel B. <daniel@firewall-services.com> [0.1-9]
- move expand-templates from post-upgrade event to bootstrap-console-save
* Thu Nov 27 2008 Daniel B. <daniel@firewall-services.com> [0.1-8]
- Add support for trunk name in mail alerts
* Wed Nov 26 2008 Daniel B. <daniel@firewall-services.com> [0.1-7]
- Add a simple script to alert admin by mail on trunk errors
* Thu Nov 20 2008 Daniel B. <daniel@firewall-services.com> [0.1-6]
- Use AdminPanels props so access can be configured using
smeserver-userpanels contrib. AdminUsers and FopUsers
props aren't used anymore
* Wed Nov 19 2008 Daniel B. <daniel@firewall-services.com> [0.1-5]
- add logrotate default config file for asterisk's logs
- spec cleanup
* Thu Nov 13 2008 Daniel B. <daniel@firewall-services.com> [0.1-4]
- Re-build and link to latest devtools logrotate issue
* Wed Nov 05 2008 Daniel B. <daniel@firewall-services.com> [0.1-3]
- split freepbx sources in a separate package (freepbx-src)
- alternative genzaptelconf
* Mon Oct 13 2008 Daniel B. <daniel@firewall-services.com> [0.1-2]
- Fix fop not being displayed in admin page
* Sat Sep 20 2008 Daniel B. <daniel@firewall-services.com> [0.1-1]
- updated to 2.5.0 final
- spec cleaning
- templates cleaning
- templates to update mysql informations
* Mon Aug 04 2008 daniel B. <daniel@firewall-services.com> [0.1-0]
- initial release
%prep
%setup -q -n %{name}-%{version}
rm -rf root/var/log/php
%build
# Build symlinks
perl createlinks
%install
rm -rf $RPM_BUILD_ROOT
%{__mkdir_p} $RPM_BUILD_ROOT/var/lib/php/fpbx-session
%{__mkdir_p} $RPM_BUILD_ROOT/var/log/freepbx
(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
--file /sbin/e-smith/fwconsole 'attr(0755,root,root)' \
--file /usr/share/freepbx/scripts/uninstall.sh 'attr(0750,root,root)' \
--file /usr/share/freepbx/scripts/restore-astdb.php 'attr(0750,root,root)' \
--dir /var/service/httpd-fpbx 'attr(01755,root,root)' \
--dir /var/service/httpd-fpbx/supervise 'attr(0700,root,root)' \
--dir /var/service/httpd-fpbx/log 'attr(0755,root,root)' \
--file /var/service/httpd-fpbx/log/run 'attr(0755,root,root)' \
--dir /var/service/httpd-fpbx/log/supervise 'attr(0700,root,root)' \
--file /var/lib/asterisk/bin/genzaptelconf 'attr(0750,root,root)' \
--file /usr/share/asterisk/agi-bin/trunk_alert_mail.agi 'attr(0750,asterisk,asterisk)' \
--file /etc/logrotate.d/asterisk 'config(noreplace)' \
--dir /var/lib/php/fpbx-session 'attr(0770,root,asterisk)' \
--file /usr/sbin/safe_asterisk 'attr(0755,root,root)' \
--dir /var/log/freepbx 'attr(0770,root,asterisk)' \
--dir /var/lib/php/freepbx/sessions 'attr(0770,root,asterisk)' \
--dir /var/lib/php/freepbx/temp 'attr(0770,root,asterisk)' \
|grep -v '/var/lib/asterisk$'| grep -v '/etc/asterisk$' \
> %{name}-%{version}-%{release}-filelist
%clean
rm -rf $RPM_BUILD_ROOT
%files -f %{name}-%{version}-%{release}-filelist
%defattr(-,root,root)
%post
#bug 9744, restore tmp permissions
if [ `stat -c %U /tmp` == "asterisk" ]; then
chmod o+rwxt /tmp/
chown root:root /tmp/
fi
if [ -f /var/log/php/freepbx/error.log ]; then
mv /var/log/php/freepbx/* /var/log/freepbx/ >& /dev/null || :
fi
%preun
if [ $1 = 0 ] ; then
/usr/bin/systemctl stop freepbx >& /dev/null || :
fi
true
%postun
if [ $1 = 0 ] ; then
#remove cron for asterisk on uninstallation to avoid noise
/usr/bin/crontab -u asterisk -r >& /dev/null || :
fi
true