X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=eventum.spec;h=e880a52ee4649d5c0d8deed317e5d82caca8e91d;hb=711ba1a;hp=818d6b87596fecc23d4eac43748d73dc384f7fc9;hpb=23ad14972a620d07a6b930a51f99d7b3e03a565d;p=packages%2Feventum.git diff --git a/eventum.spec b/eventum.spec index 818d6b8..e880a52 100644 --- a/eventum.spec +++ b/eventum.spec @@ -2,28 +2,26 @@ # Conditional build: %bcond_with order # with experimental order patch -%define rel 1.9 -%define subver 277 -%define githash 3277427 -%define php_min_version 5.3.3 +%define rel 1 +#define subver 347 +#define githash 3d9195fa +%define php_min_version 5.5.0 %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.2.3 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: 46f5d66f6c51bdc353be0f27fa0fa990 +Source0: https://github.com/eventum/eventum/releases/download/v%{version}/%{name}-%{version}.tar.gz +# Source0-md5: ad50831d3c73b8df781618eceefab135 +#Source0: https://github.com/eventum/eventum/releases/download/snapshot/%{name}-%{version}-%{subver}-g%{githash}.tar.gz Source1: %{name}-apache.conf Source2: %{name}-mail-queue.cron Source3: %{name}-mail-download.cron Source4: %{name}-reminder.cron Source5: %{name}-monitor.cron -Source6: %{name}-cvs.php -Source7: %{name}-irc.php Source8: %{name}-irc.init Source9: %{name}-irc.sysconfig Source10: sphinx.crontab @@ -38,19 +36,21 @@ Patch2: %{name}-order.patch #Patch4: https://github.com/glensc/eventum/compare/cf_escape.patch # packaging patches that probably never go upstream Patch100: %{name}-paths.patch -Patch101: %{name}-cvs-config.patch Patch107: %{name}-gettext.patch Patch108: autoload.patch # some tests Patch200: %{name}-fixed-nav.patch -URL: http://eventum.mysql.org/ -BuildRequires: /usr/bin/php -BuildRequires: gettext-devel -BuildRequires: php(core) >= %{php_min_version} +URL: https://wiki.github.com/eventum/eventum/ +BuildRequires: gettext-tools BuildRequires: rpm-php-pearprov >= 4.0.2-98 BuildRequires: rpmbuild(macros) >= 1.654 BuildRequires: sed >= 4.0 -Requires: %{name}-base = %{version}-%{release} +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Requires(pre): /bin/id +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd Requires: fonts-TTF-RedHat-liberation Requires: php(core) >= %{php_min_version} Requires: php(filter) @@ -58,24 +58,35 @@ Requires: php(iconv) Requires: php(imap) Requires: php(json) Requires: php(mbstring) -Requires: php(mysqli) Requires: php(pcre) +Requires: php(pdo_mysql) Requires: php(session) Requires: php-Smarty >= 3.1 Requires: php-Smarty-plugin-gettext -Requires: php-pear-DB -Requires: php-pear-Mail +Requires: php-ZendFramework-Config >= 2.4 +Requires: php-ZendFramework-Loader >= 2.4 +Requires: php-ZendFramework-Mail >= 2.4.11-4 +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-Mail_Mime Requires: php-pear-Mail_mimeDecode Requires: php-pear-Math_Stats -Requires: php-pear-Net_DIME Requires: php-pear-Net_SMTP Requires: php-pear-Net_Socket Requires: php-pear-Net_URL -Requires: php-pear-Net_UserAgent_Detect 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-Config >= 2.7.7 +Requires: php-symfony2-Console >= 2.7.7 +Requires: php-symfony2-EventDispatcher >= 2.7.7 +Requires: php-symfony2-Filesystem >= 2.7.7 +Requires: php-symfony2-HttpFoundation >= 2.7.7 +Requires: php-symfony2-OptionsResolver >= 2.7.7 +Requires: php-symfony2-Serializer >= 2.7.7 +Requires: php-symfony2-Yaml >= 2.7.7 Requires: phplot >= 5.8.0 Requires: webapps Requires: webserver(access) @@ -83,7 +94,17 @@ Requires: webserver(alias) Requires: webserver(indexfile) Requires: webserver(php) >= 4.2.0 Suggests: localedb +Suggests: php(mcrypt) +Suggests: php(openssl) Suggests: php-pear-Net_LDAP2 +Suggests: php-pear-Net_POP3 +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) @@ -107,35 +128,13 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) Eventum is a user-friendly and flexible issue tracking system that can be used by a support department to track incoming technical support requests, or by a software development team to quickly organize tasks -and bugs. Eventum is used by the MySQL AB Technical Support team, and -has allowed us to dramatically improve our response times. +and bugs. %description -l pl.UTF-8 Eventum to przyjazny dla użytkownika system śledzenia spraw, który może być używany przez dział obsługi do śledzenia przychodzących żądań obsługi technicznej albo przez zespół tworzący oprogramowanie do -szybkiej organizacji zadań i błędów. Eventum jest używany przez zespół -Technical Support MySQL AB i umożliwił im znacząco poprawić czasy -reakcji. - -%package base -Summary: Eventum base package -Summary(pl.UTF-8): Podstawowy pakiet Eventum -Group: Applications/WWW -Requires(postun): /usr/sbin/groupdel -Requires(postun): /usr/sbin/userdel -Requires(pre): /bin/id -Requires(pre): /usr/bin/getgid -Requires(pre): /usr/sbin/groupadd -Requires(pre): /usr/sbin/useradd -Provides: group(eventum) -Provides: user(eventum) - -%description base -This package contains base directory structure for Eventum. - -%description base -l pl.UTF-8 -Ten pakiet zawiera podstawową strukturę katalogów dla Eventum. +szybkiej organizacji zadań i błędów. %package setup Summary: Eventum setup package @@ -264,79 +263,6 @@ testów uprawnień i plików w Monitor::checkConfiguration(). 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-@) 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-@) 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-@) 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-@) 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-@) 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-@) 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 @@ -351,14 +277,14 @@ This package provides way of routing notes and emails back to Eventum via Postfix. The Postfix configuration instructions you can find from -. + %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 -. + %package irc Summary: Eventum IRC Notification Bot @@ -366,8 +292,9 @@ Summary(pl.UTF-8): IRC-owy bot powiadamiający dla Eventum Group: Applications/WWW Requires(post,preun): /sbin/chkconfig 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 @@ -398,10 +325,8 @@ kanał używany przez bota, trzeba ręcznie zmodyfikować skrypt bot.php . Summary: Eventum command-line interface Summary(pl.UTF-8): Interfejs linii poleceń dla Eventum Group: Applications/WWW -Requires: %{name}-base = %{version}-%{release} Requires: php(core) >= %{php_min_version} Requires: php(phar) -Requires: php-pear-XML_RPC %description cli The Eventum command-line interface allows you to access most of the @@ -411,40 +336,6 @@ features of the web interface straight from your command shell. Interfejs linii poleceń Eventum pozwala na dostęp do większości funkcji interfejsu WWW prosto z linii poleceń powłoki. -%package scm -Summary: Eventum SCM integration -Summary(pl.UTF-8): Integracja SCM dla Eventum -Group: Applications/WWW -Requires: php(core) >= %{php_min_version} -Requires: php(json) -Requires: php(pcre) -Requires: php(spl) -Suggests: cvs -Suggests: git-core -Suggests: php(openssl) -Suggests: subversion - -%description scm -This feature allows your software development teams to integrate your -Source Control Management system with your Issue Tracking System. - -The integration is implemented in such a way that it will be forward -compatible with pretty much any SCM system, such as CVS. - -For installation see -. - -%description scm -l pl.UTF-8 -Ten pakiet pozwala zespołom programistów na integrację systemu -zarządzania źródłami (SCM - Source Control Management) z systemem -śledzenia spraw. - -Integracja jest zaimplementowana tak, aby być kompatybilna w przód z -prawie każdym systemem SCM, jak np. CVS. - -Szczegóły na temat instalacji można przeczytać pod -. - %package sphinx Summary: Eventum Sphinx Search Group: Applications/WWW @@ -462,9 +353,6 @@ This package contains the cron job. mv docs/examples . -# GPL v2 -rm docs/COPYING - # bug fixes / features %{?with_order:%patch2 -p1} #%patch3 -p0 @@ -488,15 +376,19 @@ define('APP_SQL_DBPASS', ''); 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 %patch100 -p1 -%patch101 -p1 %patch107 -p1 %patch108 -p1 +rm htdocs/.htaccess.dist + +mv config/irc_config{.dist.php,.php} +rm config/config.dist.php + # cleanup vendor. keep only needed libraries. # (the rest are packaged with system packages) mv vendor vendor.dist @@ -511,8 +403,13 @@ vendor() { vendor autoload.php 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 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 # remove backups from patching as we use globs to package files to buildroot find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v @@ -528,10 +425,9 @@ install -d \ $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 \ +%{__make} install-eventum install-cli install-localization \ sysconfdir=%{_webappdir} \ localedir=%{_localedir} \ DESTDIR=$RPM_BUILD_ROOT @@ -563,8 +459,6 @@ cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/cron.d/%{name}-sphinx -cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_webappdir}/irc_config.php - install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc @@ -577,26 +471,30 @@ cp -p %{SOURCE17} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf %find_lang %{name} -# scm -cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/scm.php - %clean rm -rf $RPM_BUILD_ROOT %pre +%groupadd -g 146 %{name} +%useradd -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name} %addusertogroup http %{name} %post -# greate empty ghost files -for a in cli.log errors.log irc_bot.log login_attempts.log; do - if [ ! -f /var/log/%{name}/$a ]; then - install -m 0620 -o root -g eventum /dev/null /var/log/%{name}/$a - fi +# create empty ghost files +# these permissions ensure the logs are write only +for a in \ + errors.log login_attempts.log \ + eventum.log \ + auth.log cli.log \ + irc_bot_error.log irc_bot_smartirc.log \ +; do + test -f /var/log/%{name}/$a && continue + install -m 0620 -o root -g http /dev/null /var/log/%{name}/$a done # 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 @@ -611,24 +509,20 @@ if [ "$1" = "0" ]; then rm -f /var/cache/eventum/*.php 2>/dev/null || : fi -%pre base -%groupadd -P %{name}-base -g 146 %{name} -%useradd -P %{name}-base -u 146 -d /var/lib/%{name} -g %{name} -c "Eventum User" %{name} - -%postun base +%postun if [ "$1" = "0" ]; then %userremove %{name} %groupremove %{name} fi %post setup -chmod 660 %{_webappdir}/{config,private_key}.php -chown root:http %{_webappdir}/{config,private_key}.php +chmod 660 %{_webappdir}/{config,private_key,secret_key}.php +chown root:http %{_webappdir}/{config,private_key,secret_key}.php %postun setup if [ "$1" = "0" ] && [ -f %{_webappdir}/config.php ]; then - chmod 640 %{_webappdir}/{config,private_key}.php - chown root:http %{_webappdir}/{config,private_key}.php + chmod 640 %{_webappdir}/{config,private_key,secret_key}.php + chown root:http %{_webappdir}/{config,private_key,secret_key}.php fi %post irc @@ -673,14 +567,17 @@ done %files -f %{name}.lang %defattr(644,root,root,755) %attr(751,root,root) %dir %{_webappdir} -%attr(751,root,root) %dir %{_webappdir}/custom_field -%attr(751,root,root) %dir %{_webappdir}/templates -%attr(751,root,root) %dir %{_webappdir}/workflow +%attr(751,root,http) %dir %{_webappdir}/crm +%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,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 @@ -689,13 +586,17 @@ done %dir %attr(750,root,root) /var/log/archive/%{name} %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name} +%dir %{_appdir} %{_appdir}/config %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}/globals.php %{_appdir}/init.php +%{_appdir}/phinx.php %dir %{_appdir}/htdocs %{_appdir}/htdocs/*.php %{_appdir}/htdocs/*.ico @@ -705,37 +606,30 @@ done %{_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 +%dir %{_appdir}/db +%dir %{_appdir}/db/migrations +%{_appdir}/db/migrations/*.php +%{_appdir}/res +%{_appdir}/src %{_appdir}/vendor - %dir %{_appdir}/lib %{_appdir}/lib/eventum %exclude %{_appdir}/lib/eventum/class.monitor.php +%dir %{_libdir} + %{systemdtmpfilesdir}/%{name}.conf + +%dir /var/lib/%{name} %dir %attr(730,root,http) /var/run/%{name} %dir %attr(730,root,http) /var/cache/%{name} -%files base -%defattr(644,root,root,755) -%attr(751,root,root) %dir %{_sysconfdir} -%dir %{_libdir} -%dir %{_appdir} -%dir /var/lib/%{name} # saved mail copies %attr(770,root,http) %dir /var/lib/%{name}/routed_emails %attr(770,root,http) %dir /var/lib/%{name}/routed_drafts @@ -746,6 +640,7 @@ done %{_appdir}/htdocs/setup %files doc +%defattr(644,root,root,755) %doc docs/* %{_examplesdir}/%{name}-%{version} @@ -771,18 +666,6 @@ done %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 @@ -799,15 +682,6 @@ done %doc cli/eventumrc %attr(755,root,root) %{_bindir}/%{name} -%files scm -%defattr(644,root,root,755) -%attr(751,root,root) %dir %{_sysconfdir} -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scm.php -%attr(755,root,root) %{_sbindir}/eventum-cvs-hook -%attr(755,root,root) %{_sbindir}/eventum-git-hook -%attr(755,root,root) %{_sbindir}/eventum-svn-hook -%attr(755,root,root) %{_sbindir}/helpers.php - %files sphinx %defattr(644,root,root,755) %{_webappdir}/sphinx.conf.php