smeserver-freepbx/smeserver-freepbx.spec

453 lines
20 KiB
RPMSpec
Raw Permalink Normal View History

# $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