]> git.pld-linux.org Git - packages/eventum.git/blobdiff - eventum.spec
up to 3.1.6
[packages/eventum.git] / eventum.spec
index dd9e300aa603f21b52e236d20e6878ea1f6eab6a..8541dcfb7b19b306e06bd519b22d9e6d1909a0f1 100644 (file)
@@ -2,28 +2,26 @@
 # Conditional build:
 %bcond_with    order   # with experimental order patch
 
-%define                rel             1.6
-%define                subver  144
-%define                githash 9fcce7c
-%define                php_min_version 5.3.3
+%define                rel             1
+#define                subver  51
+#define                githash 61de085
+%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.1.6
 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: f488e72825c21ddb8adb0d9180848a52
+Source0:       https://github.com/eventum/eventum/releases/download/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: c2310abed5bba088a227063d75c7a1f4
+#Source0:      %{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,20 +36,23 @@ 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
-Patch105:      %{name}-bot-reconnect.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: gettext-tools
 BuildRequires: php(core) >= %{php_min_version}
 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)
@@ -64,19 +65,30 @@ Requires:   php(pcre)
 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.9-2
+Requires:      php-ZendFramework-Mime >= 2.4
+Requires:      php-ZendFramework-Validator >= 2.4
+Requires:      php-monolog >= 1.17.2
 Requires:      php-pear-DB
 Requires:      php-pear-Mail
 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-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)
@@ -84,7 +96,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)
@@ -119,25 +141,6 @@ 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.
-
 %package setup
 Summary:       Eventum setup package
 Summary(pl.UTF-8):     Pakiet do wstępnej konfiguracji Eventum
@@ -265,79 +268,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-<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
@@ -367,8 +297,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
+Requires:      php-pear-Net_SmartIRC >= 1.1.9
 Requires:      rc-scripts >= 0.4.0.18
 
 %description irc
@@ -399,7 +330,6 @@ 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
@@ -412,40 +342,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
-</eventum/help.php?topic=scm_integration_installation>.
-
-%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
-</eventum/help.php?topic=scm_integration_installation>.
-
 %package sphinx
 Summary:       Eventum Sphinx Search
 Group:         Applications/WWW
@@ -463,9 +359,6 @@ This package contains the cron job.
 
 mv docs/examples .
 
-# GPL v2
-rm docs/COPYING
-
 # bug fixes / features
 %{?with_order:%patch2 -p1}
 #%patch3 -p0
@@ -489,19 +382,18 @@ 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
-%patch105 -p1
 %patch107 -p1
 %patch108 -p1
 
-%{__sed} -i -e "
-s;define('CONFIG_PATH'.*');define('CONFIG_PATH', '%{_webappdir}');
-" upgrade/{*/,}*.php
+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)
@@ -517,8 +409,11 @@ 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
 
 # remove backups from patching as we use globs to package files to buildroot
 find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
@@ -534,10 +429,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-irc install-scm install-localization \
+%{__make} install-eventum install-cli install-localization \
        sysconfdir=%{_webappdir} \
        localedir=%{_localedir} \
        DESTDIR=$RPM_BUILD_ROOT
@@ -569,8 +463,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
 
@@ -583,26 +475,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
@@ -617,24 +513,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
@@ -687,18 +579,21 @@ done
 %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}
+%dir %attr(711,root,http) /var/log/%{name}
 %attr(620,root,http) %ghost /var/log/%{name}/*
 %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}/init.php
@@ -711,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
 
+%{_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
@@ -752,6 +640,7 @@ done
 %{_appdir}/htdocs/setup
 
 %files doc
+%defattr(644,root,root,755)
 %doc docs/*
 %{_examplesdir}/%{name}-%{version}
 
@@ -777,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
@@ -797,7 +674,7 @@ done
 %defattr(644,root,root,755)
 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/irc_config.php
 %attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/eventum-irc
-%attr(755,root,root) %{_sbindir}/%{name}-irc-bot
+%attr(755,root,root) %{_appdir}/bin/irc-bot.php
 %attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
 
 %files cli
@@ -805,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
This page took 3.501088 seconds and 4 git commands to generate.