%bcond_with order # with experimental order patch
%define rel 1
-%define subver 50
-%define githash 34453995
-%define php_min_version 5.6.0
+#define subver 37
+#define githash 2276dac77
+%define php_min_version 7.2.5
Summary: Eventum Issue / Bug tracking system
Summary(pl.UTF-8): Eventum - system śledzenia spraw/błędów
Name: eventum
-Version: 3.5.6
+Version: 3.9.11
Release: %{?subver:1.%{subver}.%{?githash:g%{githash}.}}%{rel}
License: GPL v2+
Group: Applications/WWW
-#Source0: https://github.com/eventum/eventum/releases/download/v%{version}/%{name}-%{version}.tar.xz
-Source0: https://github.com/eventum/eventum/releases/download/snapshot/%{name}-%{version}-%{subver}-g%{githash}.tar.xz
-# Source0-md5: 36ea0d8eb6a1c4bc51da0cbaf29fb8d9
+Source0: https://github.com/eventum/eventum/releases/download/v%{version}/%{name}-%{version}.tar.xz
+# Source0-md5: 43ee83c85b1303ebe5bad5df8bd1f75e
+#Source0: https://github.com/eventum/eventum/releases/download/snapshot/%{name}-%{version}-%{subver}-g%{githash}.tar.xz
Source1: %{name}-apache.conf
Source2: %{name}-mail-queue.cron
Source3: %{name}-mail-download.cron
Patch108: autoload.patch
# some tests
Patch200: %{name}-fixed-nav.patch
-URL: https://wiki.github.com/eventum/eventum/
+URL: https://github.com/eventum/eventum
BuildRequires: gettext-tools
BuildRequires: rpmbuild(macros) >= 1.654
BuildRequires: sed >= 4.0
Requires(pre): /usr/sbin/useradd
Requires: fonts-TTF-RedHat-liberation
Requires: php(core) >= %{php_min_version}
+Requires: php(ds)
Requires: php(filter)
Requires: php(iconv)
Requires: php(imap)
Requires: php(session)
Requires: php-Smarty >= 3.1
Requires: php-Smarty-plugin-gettext
-Requires: php-ZendFramework-Config >= 2.4
-Requires: php-ZendFramework-Loader >= 2.4
-Requires: php-ZendFramework-Mail >= 2.4.13-2
-Requires: php-ZendFramework-Mime >= 2.4
-Requires: php-ZendFramework-ServiceManager >= 2.4
-Requires: php-ZendFramework-Validator >= 2.4
Requires: php-monolog >= 1.17.2
-Requires: php-pear-Math_Stats
-Requires: php-pear-Net_SMTP
-Requires: php-pear-Net_Socket
-Requires: php-pear-Net_URL
-Requires: php-pear-PEAR-core
-Requires: php-pear-Text_Diff
Requires: php-psr-Log >= 1.0.0-2
Requires: phplot >= 5.8.0
Requires: webapps
Suggests: localedb
Suggests: php(mcrypt)
Suggests: php(openssl)
-Suggests: php-pear-Net_POP3
Suggests: webserver(setenv)
Provides: group(eventum)
Provides: user(eventum)
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _noautoreq_pear .*
%define _libdir %{_prefix}/lib/%{name}
%define _appdir %{_datadir}/%{name}
%define _smartydir %{php_data_dir}/Smarty
Group: Documentation
%description doc
-Eventum documentation and copy of Wiki.
+Eventum documentation and Wiki.
%package mail-queue
Summary: Eventum mail queue process
Group: Applications/Mail
Requires: %{name} = %{version}-%{release}
Requires: postfix
-Provides: eventum(router)
-Obsoletes: eventum(router)
%description router-postfix
This package provides way of routing notes and emails back to Eventum
via Postfix.
The Postfix configuration instructions you can find from
-<https://github.com/eventum/eventum/wiki/System-Admin:-Setting-up-email-routing-with-postfix>
+<https://github.com/eventum/eventum/blob/v%{version}/docs/wiki/System-Admin/Setting-up-email-routing-with-postfix.md>
%description router-postfix -l pl.UTF-8
Ten pakiet udostępnia metodę przekazywania notatek i listów do Eventum
przez Postfiksa.
Opis konfiguracji Postfiksa można znaleźć pod adresem
-<https://github.com/eventum/eventum/wiki/System-Admin:-Setting-up-email-routing-with-postfix>
-
-%package cli
-Summary: Eventum command-line interface
-Summary(pl.UTF-8): Interfejs linii poleceń dla Eventum
-Group: Applications/WWW
-Requires: php(core) >= %{php_min_version}
-Requires: php(phar)
-
-%description cli
-The Eventum command-line interface allows you to access most of the
-features of the web interface straight from your command shell.
-
-%description cli -l pl.UTF-8
-Interfejs linii poleceń Eventum pozwala na dostęp do większości
-funkcji interfejsu WWW prosto z linii poleceń powłoki.
+<https://github.com/eventum/eventum/blob/v%{version}/docs/wiki/System-Admin/Setting-up-email-routing-with-postfix.md>
%package sphinx
Summary: Eventum Sphinx Search
%{?with_order:%patch2 -p1}
#%patch3 -p0
#%patch4 -p1
-
%{?with_order:cp -p %{SOURCE16} htdocs/images}
-
#%patch200 -p1
# produce default sphinx config
rm htdocs/.htaccess.dist
-rm config/config.dist.php
-
-# cleanup vendor. keep only needed libraries.
-# (the rest are packaged with system packages)
-mv vendor vendor.dist
-vendor() {
- local path dir
- for path; do
- dir=$(dirname $path)
- test -d vendor/$dir || mkdir -p vendor/$dir
- mv vendor.dist/$path vendor/$path
- done
-}
-vendor autoload.php
-vendor composer/autoload_{classmap,files,namespaces,real,psr4}.php
-vendor composer/ClassLoader.php
-vendor ircmaxell/{random-lib,security-lib}
-vendor defuse/php-encryption
-vendor willdurand/email-reply-parser
-vendor theorchard/monolog-cascade
-vendor malkusch/lock
-vendor phpxmlrpc/phpxmlrpc
-vendor robmorgan/phinx
-vendor mnapoli/silly
-vendor psr/container
-vendor phlib/flysystem-pdo
-vendor league/flysystem
-vendor php-di/invoker
-vendor container-interop/container-interop
-vendor symfony/config
-vendor symfony/console
-vendor symfony/debug
-vendor symfony/event-dispatcher
-vendor symfony/filesystem
-vendor symfony/http-foundation
-vendor symfony/options-resolver
-vendor symfony/serializer
-vendor symfony/yaml
-vendor symfony/ldap
-vendor paragonie/random_compat
-vendor symfony/polyfill-php70
-vendor symfony/polyfill-intl-normalizer
-vendor symfony/security-core
-vendor symfony/security-csrf
-vendor glen/filename-normalizer
-vendor doctrine/annotations
-vendor doctrine/cache
-vendor doctrine/collections
-vendor doctrine/common
-vendor doctrine/dbal
-vendor doctrine/inflector
-vendor doctrine/instantiator
-vendor doctrine/lexer
-vendor doctrine/orm
-vendor cebe/markdown
-vendor enrise/urihelper
+# cleanup libs taken from system, everything else gets bundled
+rm -r vendor/fonts/liberation
+rm -r vendor/monolog/monolog
+rm -r vendor/phplot/phplot
+rm -r vendor/psr/log
+rm -r vendor/smarty-gettext/smarty-gettext
+rm -r vendor/smarty/smarty
+rm -r vendor/sphinx/php-sphinxapi
+
+%{__sed} -i '1s|^#!.*php\b|#!/usr/bin/php|' config/sphinx.conf.php bin/*.php
# remove backups from patching as we use globs to package files to buildroot
find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
install -d \
$RPM_BUILD_ROOT{%{_webappdir}/{custom_field,templates,workflow},%{_sysconfdir},%{_bindir},%{_sbindir},%{_libdir}} \
$RPM_BUILD_ROOT/etc/{rc.d/init.d,cron.d,logrotate.d,sysconfig} \
- $RPM_BUILD_ROOT/var/{run,cache,lib}/%{name} \
+ $RPM_BUILD_ROOT/var/{run,lib,spool}/%{name} \
$RPM_BUILD_ROOT/var/log/{archive/,}%{name} \
$RPM_BUILD_ROOT/var/lib/%{name}/{routed_{emails,drafts,notes},storage} \
+ $RPM_BUILD_ROOT/var/cache/%{name}/doctrine/proxies \
$RPM_BUILD_ROOT%{systemdtmpfilesdir}
-%{__make} install-eventum install-cli install-localization \
+%{__make} install-eventum install-localization \
sysconfdir=%{_webappdir} \
localedir=%{_localedir} \
DESTDIR=$RPM_BUILD_ROOT
-ln -s %{_webappdir} $RPM_BUILD_ROOT%{_appdir}/config
+ln -s --relative $RPM_BUILD_ROOT{%{_webappdir},%{_appdir}/config}
cp -a vendor $RPM_BUILD_ROOT%{_appdir}
done
# run database update if configured
-test -s %{_webappdir}/config.php && \
+test -s %{_webappdir}/setup.php && \
sudo -H -u http -- %{_appdir}/bin/upgrade.php || :
# nuke Smarty templates cache after upgrade
-rm -f /var/cache/eventum/*.php
+rm -f /var/cache/eventum/smarty/*.php
# Restart webserver on upgrade to get .mo translations reloaded.
# actually php engines "php-fcgi" and "php-fpm" needed only, apache is restarted anyway via webapp trigger.
%php_webserver_restart
-%preun
-if [ "$1" = "0" ]; then
- # nuke cache
- rm -f /var/cache/eventum/*.php 2>/dev/null || :
-fi
-
%postun
if [ "$1" = "0" ]; then
%userremove %{name}
fi
%post setup
-chmod 660 %{_webappdir}/{config,private_key,secret_key}.php
-chown root:http %{_webappdir}/{config,private_key,secret_key}.php
+chmod 660 %{_webappdir}/{setup,private_key,secret_key}.php
+chown root:http %{_webappdir}/{setup,private_key,secret_key}.php
%postun setup
-if [ "$1" = "0" ] && [ -f %{_webappdir}/config.php ]; then
- chmod 640 %{_webappdir}/{config,private_key,secret_key}.php
- chown root:http %{_webappdir}/{config,private_key,secret_key}.php
+if [ "$1" = "0" ] && [ -f %{_webappdir}/setup.php ]; then
+ chmod 640 %{_webappdir}/{setup,private_key,secret_key}.php
+ chown root:http %{_webappdir}/{setup,private_key,secret_key}.php
fi
%triggerin -- apache1 < 1.3.37-3, apache1-base
%attr(751,root,http) %dir %{_webappdir}/custom_field
%attr(751,root,http) %dir %{_webappdir}/partner
%attr(751,root,http) %dir %{_webappdir}/templates
-%attr(751,root,http) %dir %{_webappdir}/workflow
+%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/htpasswd
+%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php
+%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/secret_key.php
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/lighttpd.conf
-%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/config.php
-%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php
-%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/secret_key.php
%attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/setup.php
-%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/htpasswd
%dir %attr(731,root,http) /var/log/%{name}
%attr(620,root,http) %ghost /var/log/%{name}/*
%{_appdir}/config
%dir %{_appdir}/bin
+%attr(755,root,root) %{_appdir}/bin/check_reminders.php
+%attr(755,root,root) %{_appdir}/bin/console.php
+%attr(755,root,root) %{_appdir}/bin/download_emails.php
+%attr(755,root,root) %{_appdir}/bin/export-issues.php
%attr(755,root,root) %{_appdir}/bin/extension.php
%attr(755,root,root) %{_appdir}/bin/ldapsync.php
%attr(755,root,root) %{_appdir}/bin/migrate_storage_adapter.php
+%attr(755,root,root) %{_appdir}/bin/monitor.php
%attr(755,root,root) %{_appdir}/bin/process_all_emails.php
+%attr(755,root,root) %{_appdir}/bin/process_mail_queue.php
+%attr(755,root,root) %{_appdir}/bin/truncate_mail_queue.php
%attr(755,root,root) %{_appdir}/bin/upgrade.php
%{_appdir}/autoload.php
-%{_appdir}/globals.php
%{_appdir}/init.php
%{_appdir}/phinx.php
%dir %{_appdir}/htdocs
%{_appdir}/htdocs/*.php
%{_appdir}/htdocs/*.ico
+%{_appdir}/htdocs/mix-manifest.json
%{_appdir}/htdocs/ajax
%{_appdir}/htdocs/css
%{_appdir}/htdocs/customer
+%{_appdir}/htdocs/fonts
%{_appdir}/htdocs/images
%{_appdir}/htdocs/js
%{_appdir}/htdocs/manage
%{_appdir}/htdocs/reports
%{_appdir}/htdocs/rpc
-%{_appdir}/htdocs/components
%{_appdir}/templates
%dir %{_appdir}/db
%dir %{_appdir}/db/migrations
%{_appdir}/db/migrations/*.php
+%dir %{_appdir}/db/seeds
+%{_appdir}/db/seeds/*.php
%{_appdir}/res
%{_appdir}/src
%{_appdir}/vendor
%dir %{_appdir}/lib
%{_appdir}/lib/eventum
-%exclude %{_appdir}/src/Console/Command/MailDownloadCommand.php
-%exclude %{_appdir}/src/Console/Command/MailQueueProcessCommand.php
-%exclude %{_appdir}/src/Console/Command/MailQueueTruncateCommand.php
-%exclude %{_appdir}/src/Console/Command/MonitorCommand.php
-%exclude %{_appdir}/src/Console/Command/ReminderCheckCommand.php
%dir %{_libdir}
%dir /var/lib/%{name}
%dir %attr(730,root,http) /var/run/%{name}
+%dir %attr(730,root,http) /var/spool/%{name}
%dir %attr(730,root,http) /var/cache/%{name}
+%dir %attr(730,root,http) /var/cache/%{name}/doctrine
+%dir %attr(730,root,http) /var/cache/%{name}/doctrine/proxies
# saved mail copies
%attr(770,root,http) %dir /var/lib/%{name}/routed_emails
%files mail-queue
%defattr(644,root,root,755)
-%{_appdir}/src/Console/Command/MailQueueProcessCommand.php
-%{_appdir}/src/Console/Command/MailQueueTruncateCommand.php
-%attr(755,root,root) %{_appdir}/bin/process_mail_queue.php
-%attr(755,root,root) %{_appdir}/bin/truncate_mail_queue.php
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-queue
%files mail-download
%defattr(644,root,root,755)
-%{_appdir}/src/Console/Command/MailDownloadCommand.php
-%attr(755,root,root) %{_appdir}/bin/download_emails.php
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-mail-download
%files reminder
%defattr(644,root,root,755)
-%{_appdir}/src/Console/Command/ReminderCheckCommand.php
-%attr(755,root,root) %{_appdir}/bin/check_reminders.php
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-reminder
%files monitor
%defattr(644,root,root,755)
-%{_appdir}/src/Console/Command/MonitorCommand.php
-%attr(755,root,root) %{_appdir}/bin/monitor.php
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
%files router-postfix
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/router-postfix
-%files cli
-%defattr(644,root,root,755)
-%doc cli/eventumrc
-%attr(755,root,root) %{_bindir}/%{name}
-
%files sphinx
%defattr(644,root,root,755)
%{_webappdir}/sphinx.conf.php