# Conditional build:
%bcond_with order # with experimental order patch
-%define rel 1.15
-%define subver 305
-%define githash b67258d
-%define php_min_version 5.3.3
+%define rel 1
+#define subver 187
+#define githash acd7038
+%define php_min_version 5.3.7
%include /usr/lib/rpm/macros.php
Summary: Eventum Issue / Bug tracking system
Summary(pl.UTF-8): Eventum - system śledzenia spraw/błędów
Name: eventum
-Version: 3.0.3
+Version: 3.0.10
Release: %{?subver:1.%{subver}.%{?githash:g%{githash}.}}%{rel}
-License: GPL v2
+License: GPL v2+
Group: Applications/WWW
-#Source0: https://github.com/eventum/eventum/releases/download/v%{version}/%{name}-%{version}.tar.gz
-Source0: %{name}-%{version}-%{subver}-g%{githash}.tar.gz
-# Source0-md5: 5937959683a82b3f083f092a8408d037
+Source0: https://github.com/eventum/eventum/releases/download/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: a82c8e741892b09679722fc72a9f25bd
+#Source0: %{name}-%{version}-%{subver}-g%{githash}.tar.gz
Source1: %{name}-apache.conf
Source2: %{name}-mail-queue.cron
Source3: %{name}-mail-download.cron
Requires: php(session)
Requires: php-Smarty >= 3.1
Requires: php-Smarty-plugin-gettext
+Requires: php-ZendFramework-Config >= 2.4
+Requires: php-monolog >= 1.17.2
Requires: php-pear-DB
Requires: php-pear-Mail
Requires: php-pear-Mail_Mime
Requires: php-pear-PEAR-core
Requires: php-pear-Text_Diff
Requires: php-pear-XML_RPC
+Requires: php-psr-Log >= 1.0.0-2
+Requires: php-symfony2-HttpFoundation >= 2.7.7
Requires: phplot >= 5.8.0
Requires: webapps
Requires: webserver(access)
Requires: webserver(indexfile)
Requires: webserver(php) >= 4.2.0
Suggests: localedb
+Suggests: php(mcrypt)
+Suggests: php(openssl)
Suggests: php-pear-Net_LDAP2
+Suggests: webserver(setenv)
Provides: group(eventum)
Provides: user(eventum)
Obsoletes: eventum-base < 3.0.3-1.305
+Obsoletes: eventum-route-drafts < 3.0.8-1.1
+Obsoletes: eventum-route-emails < 3.0.8-1.1
+Obsoletes: eventum-route-notes < 3.0.8-1.1
Conflicts: logrotate < 3.8.0
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Ten pakiet zawiera zadanie dla crona.
-%package route-drafts
-Summary: Eventum Draft Routing
-Summary(pl.UTF-8): Przekazywanie szkiców dla Eventum
-Group: Applications/WWW
-Requires: %{name} = %{version}-%{release}
-Requires: eventum(router)
-
-%description route-drafts
-The draft routing feature is used to automatically associate a thread
-of drafts into an Eventum issue. By setting up Postfix to deliver
-emails sent to a specific address (usually draft-<number>@<domain>) to
-the above script, users are able to send drafts written in their mail
-client to be stored in Eventum. These drafts will NOT broadcasted to
-the notification list.
-
-%description route-drafts -l pl.UTF-8
-Przekazywanie szkiców służy do automatycznego wiązania wątku szkiców z
-problemem w Eventum. Ustawiając Postfiksa, aby dostarczał pocztę
-wysłaną na podany adres (zwykle draft-<liczba>@<domena>) do tego
-skryptu umożliwia się użytkownikom wysyłanie szkiców napisanych w ich
-kliencie pocztowym do zapisania w Eventum. Szkice te NIE będą wysyłane
-na listę powiadomień.
-
-%package route-emails
-Summary: Eventum Email Routing
-Summary(pl.UTF-8): Przekazywanie poczty dla Eventum
-Group: Applications/WWW
-Requires: %{name} = %{version}-%{release}
-Requires: eventum(router)
-
-%description route-emails
-The email routing feature is used to automatically associate a thread
-of emails into an Eventum issue. By setting up Postfix to deliver
-emails sent to a specific address (usually issue-<number>@<domain>) to
-the above script, users are able to use their email clients to reply
-to emails coming from Eventum, and those replies will be automatically
-associated with the issue and broadcasted to the entire notification
-list.
-
-%description route-emails -l pl.UTF-8
-Funkcjonalność przekazywania poczty służy do automatycznego wiązania
-wątku listów ze sprawą w Eventum. Po ustawieniu czy nawet Postfiksa,
-aby dostarczał listy wysyłane na pewien adres (zwykle
-issue-<numer>@<domena>) na powyższy skrypt, użytkownicy będą mogli
-używać klientów pocztowych do odpowiadania na listy przychodzące z
-Eventum, a odpowiedzi te będą automatycznie wiązane ze sprawą i
-rozprowadzane do całej listy ogłoszeniowej.
-
-%package route-notes
-Summary: Eventum Note Routing
-Summary(pl.UTF-8): Przekazywanie notatek dla Eventum
-Group: Applications/WWW
-Requires: %{name} = %{version}-%{release}
-Requires: eventum(router)
-
-%description route-notes
-The note routing feature is used to automatically associate a thread
-of notes into an Eventum issue. By setting up Postfix to deliver
-emails sent to a specific address (usually note-<number>@<domain>) to
-the above script, users are able to use their email clients to reply
-to internal notes coming from Eventum, and those replies will be
-automatically associated with the issue and broadcasted to the
-notification list staff members.
-
-%description route-notes -l pl.UTF-8
-Funkcjonalność przekazywania notatek służy do automatycznego wiązania
-wątku notatek ze sprawą w Eventum. Po ustawieniu Postfiksa, aby
-dostarczał listy wysyłane na pewien adres (zwykle
-note-<numer>@<domena>) na powyższy skrypt, użytkownicy będą mogli
-używać klientów pocztowych do odpowiadania na wewnętrzne notatki
-pochodzące od Eventu, a odpowiedzi te będą automatycznie wiązane ze
-sprawą i rozprowadzane do członków personelu listy ogłoszeniowej.
-
%package router-postfix
Summary: Eventum Mail Routing - Postfix
Summary(pl.UTF-8): Przekazywanie poczty Eventum - Postfix
Requires: %{name} = %{version}-%{release}
Requires: php(pcntl)
Requires: php(sockets)
-Requires: php-pear-Net_SmartIRC >= 1.1
+Requires: php-pear-Net_SmartIRC >= 1.1.9
Requires: rc-scripts >= 0.4.0.18
%description irc
mv docs/examples .
-# GPL v2
-rm docs/COPYING
-
# bug fixes / features
%{?with_order:%patch2 -p1}
#%patch3 -p0
define('APP_TABLE_PREFIX', 'eventum_');
EOF
php config/sphinx.conf.php > config/sphinx.conf
-rm -f config/config.php
+rm config/config.php
%endif
# packaging
%patch107 -p1
%patch108 -p1
+rm htdocs/.htaccess.dist
+# deprecated in favour of process_all_emails.php
+rm bin/route_*.php
+
# cleanup vendor. keep only needed libraries.
# (the rest are packaged with system packages)
mv vendor vendor.dist
vendor composer/autoload_{classmap,files,namespaces,real,psr4}.php
vendor composer/ClassLoader.php
vendor ircmaxell/{password-compat,random-lib,security-lib}
-vendor zendframework/zend-config
+vendor defuse/php-encryption
+vendor ramsey/array_column
+vendor willdurand/email-reply-parser
# remove backups from patching as we use globs to package files to buildroot
find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
$RPM_BUILD_ROOT/var/{run,cache,lib}/%{name} \
$RPM_BUILD_ROOT/var/log/{archive/,}%{name} \
$RPM_BUILD_ROOT/var/lib/%{name}/routed_{emails,drafts,notes} \
- $RPM_BUILD_ROOT%{_appdir}/{include,htdocs/misc,upgrade} \
$RPM_BUILD_ROOT%{systemdtmpfilesdir}
%{__make} install-eventum install-cli install-scm install-localization \
# these permissions ensure the logs are write only
for a in \
errors.log login_attempts.log \
+ eventum.log \
cli.log \
irc_bot_error.log irc_bot_smartirc.log \
; do
# run database update if configured
test -s %{_webappdir}/config.php && \
-%{_appdir}/upgrade/update-database.php || :
+%{_appdir}/bin/upgrade.php || :
# nuke Smarty templates cache after upgrade
rm -f /var/cache/eventum/*.php
%dir %{_appdir}/bin
%attr(755,root,root) %{_appdir}/bin/process_all_emails.php
+%attr(755,root,root) %{_appdir}/bin/upgrade.php
%{_appdir}/autoload.php
%{_appdir}/init.php
%{_appdir}/htdocs/images
%{_appdir}/htdocs/js
%{_appdir}/htdocs/manage
-%{_appdir}/htdocs/misc
%{_appdir}/htdocs/reports
%{_appdir}/htdocs/rpc
%{_appdir}/htdocs/components
%{_appdir}/templates
%dir %{_appdir}/upgrade
-%{_appdir}/upgrade/flush_compiled_templates.php
%{_appdir}/upgrade/*.sql
-%attr(755,root,root) %{_appdir}/upgrade/update-database.php
-%attr(755,root,root) %{_appdir}/upgrade/ldap_import.php
-%attr(755,root,root) %{_appdir}/upgrade/ldap_update_users.php
-%attr(755,root,root) %{_appdir}/upgrade/scm_trac_import.php
%{_appdir}/upgrade/patches
%{_appdir}/vendor
-
+%{_appdir}/src
%dir %{_appdir}/lib
%{_appdir}/lib/eventum
%exclude %{_appdir}/lib/eventum/class.monitor.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 route-drafts
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_appdir}/bin/route_drafts.php
-
-%files route-emails
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_appdir}/bin/route_emails.php
-
-%files route-notes
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_appdir}/bin/route_notes.php
-
%files router-postfix
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/router-postfix