%bcond_without order # with experimental order patch
#define snap 20060921
-%define rev r3903
-%define rel 2.29
+%define rev r4022
+%define rel 2.54
#define _rc RC3
+%define php_min_version 5.1.2
%include /usr/lib/rpm/macros.php
Summary: Eventum Issue / Bug tracking system
Summary(pl.UTF-8): Eventum - system śledzenia spraw/błędów
#Source0: http://downloads.mysql.com/snapshots/eventum/%{name}-nightly-%{snap}.tar.gz
#Source0: http://eventum.mysql.org/downloads/eventum-2.0.RC3.tar.gz
#Source0: http://mysql.easynet.be/Downloads/eventum/%{name}-%{version}.tar.gz
-# bzr branch lp:eventum eventum && tar -cjf eventum.tar.bz2 --exclude=.bzr --exclude=.bzrignore eventum
-Source0: eventum-%{version}-dev-%{rev}.tar.gz
-# Source0-md5: 30160fd1733dc845e5242af878bfe36f
+# bzr branch lp:eventum eventum && cd eventum && make dist
+Source0: %{name}-%{version}-dev-%{rev}.tar.gz
+# Source0-md5: 660e9e1e8cd45e848fc84f7d02361fb8
Source1: %{name}-apache.conf
Source2: %{name}-mail-queue.cron
Source3: %{name}-mail-download.cron
BuildRequires: rpm-php-pearprov >= 4.0.2-98
BuildRequires: rpmbuild(macros) >= 1.461
BuildRequires: sed >= 4.0
-Requires(triggerpostun): /usr/bin/php
-Requires(triggerpostun): sed >= 4.0
Requires: %{name}-base = %{version}-%{release}
Requires: Smarty >= 2.6.10-4
-Requires: php-common >= 4:5.0
+Requires: php-common >= 4:%{php_min_version}
Requires: php-gd
Requires: php-iconv
Requires: php-imap
Requires: php-pcre
Requires: php-pear-DB
Requires: php-pear-Date
-Requires: php-pear-HTTP_Request
Requires: php-pear-Mail
Requires: php-pear-Mail_Mime
Requires: php-pear-Mail_mimeDecode
Requires: php-pear-PEAR-core
Requires: php-pear-Text_Diff
Requires: php-pear-XML_RPC
+Requires: php-session
Requires: smarty-gettext
Requires: webapps
Requires: webserver(access)
Requires: webserver(alias)
Requires: webserver(indexfile)
Requires: webserver(php) >= 4.2.0
+Suggests: localedb
Conflicts: logrotate < 3.7-4
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _noautoreq 'pear(init.php)' 'pear(/etc/webapps/.*)' 'pear(%{_appdir}/.*)' 'pear(jpgraph_dir.php)' 'pear(.*Smarty.class.php)'
+%define _noautopear 'pear(init.php)' 'pear(/etc/webapps/.*)' 'pear(%{_appdir}/.*)' 'pear(jpgraph_dir.php)' 'pear(.*Smarty.class.php)' 'pear(Services/JSON.php)'
+
+# exclude optional php dependencies
+%define _noautophp 'php(gnupg)' 'php(hash)' 'php(pecl-http)' 'php(json)' 'php(tk)'
+
+# we don't want php(xxx) being resolved to php-xxx
+%define _noautoreqdep '^php(.*)$'
+
+%define _noautoreq %{_noautophp} %{_noautopear}
%define _libdir %{_prefix}/lib/%{name}
%define _appdir %{_datadir}/%{name}
%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.
+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ń.
+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
%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.
+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
+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
%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.
+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
+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
Summary(pl.UTF-8): IRC-owy bot powiadamiający dla Eventum
Group: Applications/WWW
Requires(post,preun): /sbin/chkconfig
-Requires(triggerpostun): sed >= 4.0
Requires: %{name} = %{version}-%{release}
Requires: php(sockets)
Requires: php-pear-Net_SmartIRC
Group: Applications/WWW
Requires: %{name}-base = %{version}-%{release}
Requires: php-cli
-Requires: php-common >= 4:5.0
+Requires: php-common >= 4:%{php_min_version}
Requires: php-pear-XML_RPC
%description cli
Group: Applications/WWW
Requires: %{name}-base = %{version}-%{release}
Requires: php-cli
-Requires: php-common >= 4:5.0
+Requires: php-common >= 4:%{php_min_version}
Requires: php-pcre
%description scm
%patch0 -p1
%{?with_order:%patch2 -p1}
-cp -a %{SOURCE16} images
+cp -a %{SOURCE16} htdocs/images
#%patch200 -p1
%triggerun -- lighttpd
%webapp_unregister lighttpd %{_webapp}
+%triggerpostun -- %{name} < 2.2-2.54
+set -x
+chgrp http %{_webappdir}/config.php
+chgrp http %{_webappdir}/private_key.php
+chgrp http %{_webappdir}/setup.php
+chgrp http /var/log/%{name}/*
+# update crontab user
+for a in /etc/cron.d/eventum-*; do
+ awk '!/#/ && NR > 6 && $6 =="eventum" {sub("eventum", "http", $6)}{print}' $a > $a.rpmtmp && cat $a.rpmtmp > $a
+ rm -f $a.rpmtmp
+done
+
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc ChangeLog FAQ INSTALL README UPGRADE CONTRIB
%doc docs/* htdocs/setup/schema.sql mysql-permissions.sql
%attr(751,root,root) %dir %{_webappdir}
%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,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/config.php
-%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/private_key.php
-%attr(660,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/setup.php
+%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(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,eventum) /var/log/%{name}
-%attr(620,root,eventum) %ghost /var/log/%{name}/*
+%dir %attr(731,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}
%{_appdir}/lib/jpgraph
%exclude %{_appdir}/lib/eventum/class.monitor.php
-%dir %attr(730,root,eventum) /var/run/%{name}
-%dir %attr(730,root,eventum) /var/cache/%{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}
-%attr(755,root,root) %dir /var/lib/%{name}
+%dir /var/lib/%{name}
# saved mail copies
-%attr(770,root,eventum) %dir /var/lib/%{name}/routed_emails
-%attr(770,root,eventum) %dir /var/lib/%{name}/routed_drafts
-%attr(770,root,eventum) %dir /var/lib/%{name}/routed_notes
+%attr(770,root,http) %dir /var/lib/%{name}/routed_emails
+%attr(770,root,http) %dir /var/lib/%{name}/routed_drafts
+%attr(770,root,http) %dir /var/lib/%{name}/routed_notes
%files setup
%defattr(644,root,root,755)