# - dynCalendar.js (http://www.phpguru.org/dyncalendar.html)
# - overLIB 3.5.1 (http://www.bosrup.com/web/overlib/)
# - A few other small javascript libraries
-# - 64bit platforms beware? http://bugs.php.net/bug.php?id=30215 (it's actually Smarty related problem)
-
-%bcond_without pear # build with system PEAR packages (or use bundled ones)
+#
+# Conditional build:
%bcond_with qmail # build the router-qmail subpackage
-# snapshot: DATE
-%define _snap 20060112
-
-# release candidate
-#define _rc 2
+#define _snap 20060921
+%define _svn 20070306.3264
+#define _rc RC3
+%define _rel 0.192
-%define _rel 0.6
-
-%if 0%{?_rc:1}
-%define _source http://eventum.mysql.org/eventum-1.7.0.tar.gz
-%else
-%if 0%{?_snap}
-%define _source http://downloads.mysql.com/snapshots/%{name}/%{name}-nightly-%{_snap}.tar.gz
-%else
-%define _source http://mysql.dataphone.se/Downloads/%{name}/%{name}-%{version}.tar.gz
-%endif
-%endif
-
-%{?with_pear:%include /usr/lib/rpm/macros.php}
+%include /usr/lib/rpm/macros.php
Summary: Eventum Issue / Bug tracking system
-Summary(pl): Eventum - system ¶ledzenia spraw/b³êdów
+Summary(pl.UTF-8): Eventum - system śledzenia spraw/błędów
Name: eventum
-Version: 1.7.0
-Release: %{?_snap:4.%{_snap}.}%{?_rc:%{_rc}.}%{_rel}
+Version: 2.0
+Release: %{?_rc:%{_rc}.}%{_rel}%{?_snap:.%{_snap}}%{?_svn:.%{_svn}}
License: GPL
Group: Applications/WWW
-Source0: %{_source}
-# Source0-md5: f9531fb08560cf0e59fb1e9476a0a6e3
+#Source0: http://downloads.mysql.com/snapshots/eventum/%{name}-nightly-%{_snap}.tar.gz
+Source0: %{name}-%{_svn}.tar.bz2
+# Source0-md5: 1bdbfea9bb75dcdd542356fb29f0dfce
Source1: %{name}-apache.conf
Source2: %{name}-mail-queue.cron
Source3: %{name}-mail-download.cron
Source7: %{name}-irc.php
Source8: %{name}-irc.init
Source9: %{name}-irc.sysconfig
-Source10: %{name}-config.php
-Source11: %{name}-router-qmail.sh
-Source12: http://dev.mysql.com/common/favicon.ico
-# Source12-md5: 858be0130832da4144c08d4b59116411
-Source13: %{name}-config-setup.php
-Source14: %{name}-upgrade.sh
-Patch0: %{name}-paths.patch
-Patch1: %{name}-cvs-config.patch
-Patch2: %{name}-irc-config.patch
-Patch3: %{name}-PEAR.patch
-Patch4: http://glen.alkohol.ee/pld/%{name}-reply-subject.patch
-Patch5: %{name}-lf.patch
-Patch6: http://glen.alkohol.ee/pld/%{name}-maq-subject.patch
-Patch7: %{name}-bot-reconnect.patch
-Patch8: %{name}-perms.patch
-Patch9: http://glen.alkohol.ee/pld/%{name}-httpclient-clientside.patch
-Patch10: %{name}-cli-wr-separated.patch
-Patch12: %{name}-htmloptions-truncate.patch
-Patch13: http://glen.alkohol.ee/pld/%{name}-link_filter-updates.patch
-Patch14: http://glen.alkohol.ee/pld/%{name}-irc-mem.patch
-Patch16: http://glen.alkohol.ee/pld/eventum-recent_activity-usability.patch
-Patch17: http://glen.alkohol.ee/pld/eventum-upload-error-keep-popup.patch
-Patch18: eventum-scm-parse-response.patch
+Source10: %{name}-router-qmail.sh
+Source12: %{name}-upgrade.sh
+Source13: %{name}-router-postfix.sh
+Source14: %{name}.logrotate
+Source15: %{name}-lighttpd.conf
+Patch0: %{name}-lf.patch
+Patch1: %{name}-timetracking-advanced-logic.patch
+Patch2: %{name}-email-notify-display.patch
+Patch3: %{name}-backtraces.patch
+Patch4: %{name}-errorhandler.patch
+# packaging patches that probably never go upstream
+Patch100: %{name}-paths.patch
+Patch101: %{name}-cvs-config.patch
+Patch102: %{name}-irc-config.patch
+Patch103: %{name}-PEAR.patch
+Patch104: %{name}-httpclient-clientside.patch
+Patch105: %{name}-bot-reconnect.patch
+Patch106: %{name}-mem-limits.patch
+Patch107: %{name}-gettext.patch
+# some tests
+Patch200: %{name}-fixed-nav.patch
URL: http://dev.mysql.com/downloads/other/eventum/
-%{?with_pear:BuildRequires: rpm-php-pearprov >= 4.0.2-98}
+BuildRequires: gettext-devel
+BuildRequires: rpm-php-pearprov >= 4.0.2-98
BuildRequires: rpmbuild(macros) >= 1.268
BuildRequires: sed >= 4.0
+Requires(triggerpostun): /usr/bin/php
+Requires(triggerpostun): sed >= 4.0
Requires: %{name}-base = %{version}-%{release}
-Requires: Smarty >= 2.6.2
-Requires: php >= 3:4.2.0
-Requires: php-gd
-Requires: php-imap
-Requires: php-mysql
-Requires: php-pcre
-Requires: php-session
-%if %{with pear}
-Requires: php-pear-Benchmark
+Requires: Smarty >= 2.6.10-4
+Requires: apache(mod_dir)
+Requires: php(gd)
+Requires: php(imap)
+Requires: php(mbstring)
+Requires: php(mysql)
+Requires: php(pcre)
+Requires: php(session)
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-Math_Stats
Requires: php-pear-Net_DIME
Requires: php-pear-Net_SMTP
Requires: php-pear-PEAR-core
Requires: php-pear-Text_Diff
Requires: php-pear-XML_RPC
-#Suggests: php-pear-Net_POP3
-%endif
-Requires(triggerpostun): /usr/bin/php
-Requires(triggerpostun): sed >= 4.0
-Requires: apache(mod_dir)
+Requires: smarty-gettext
Requires: webapps
-Requires: webserver = apache
+Requires: webserver(access)
+Requires: webserver(alias)
+Requires: webserver(php) >= 4.2.0
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _noautoreq 'pear(/etc/webapps/.*)' 'pear(jpgraph_dir.php)' 'pear(.*Smarty.class.php)' 'pear(Net/POP3.php)'
+%define _noautoreq 'pear(/etc/webapps/.*)' 'pear(jpgraph_dir.php)' 'pear(.*Smarty.class.php)' 'pear(Benchmark/.*)'
%define _libdir %{_prefix}/lib/%{name}
%define _appdir %{_datadir}/%{name}
and bugs. Eventum is used by the MySQL AB Technical Support team, and
has allowed us to dramatically improve our response times.
-%description -l pl
-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
+%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): Podstawowy pakiet Eventum
+Summary(pl.UTF-8): Podstawowy pakiet Eventum
Group: Applications/WWW
Requires(postun): /usr/sbin/groupdel
Requires(postun): /usr/sbin/userdel
%description base
This package contains base directory structure for Eventum.
-%description base -l pl
-Ten pakiet zawiera podstawow± strukturê katalogów dla Eventum.
+%description base -l pl.UTF-8
+Ten pakiet zawiera podstawową strukturę katalogów dla Eventum.
%package setup
Summary: Eventum setup package
-Summary(pl): Pakiet do wstêpnej konfiguracji Eventum
+Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji Eventum
Group: Applications/WWW
Requires: %{name} = %{version}-%{release}
should uninstall this package when you're done, as it considered
insecure to keep the setup files in place.
-%description setup -l pl
-Ten pakiet nale¿y zainstalowaæ w celu wstêpnej konfiguracji Eventum po
-pierwszej instalacji. Potem nale¿y go odinstalowaæ, jako ¿e
-pozostawienie plików instalacyjnych mog³oby byæ niebezpieczne.
+%description setup -l pl.UTF-8
+Ten pakiet należy zainstalować w celu wstępnej konfiguracji Eventum po
+pierwszej instalacji. Potem należy go odinstalować, jako że
+pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
%package mail-queue
Summary: Eventum mail queue process
-Summary(pl): Przetwarzanie kolejki poczty Eventum
+Summary(pl.UTF-8): Przetwarzanie kolejki poczty Eventum
Group: Applications/WWW
Requires: %{name} = %{version}-%{release}
-Requires: /usr/bin/php
Requires: crondaemon
%description mail-queue
This package contains the cron job.
-%description mail-queue -l pl
-Od pierwszego wydania Eventum poczta nie jest wysy³ana bezpo¶rednio z
-ró¿nych skryptów, lecz dodawana do kolejki przetwarzanej z crona.
-Je¶li poczta nie mo¿e byæ wys³ana, bêdzie odpowiednio oznaczona w logu
-kolejki poczty, a skrypt z crona bêdzie próbowa³ wys³aæ j± ponownie
-nastêpnym razem.
+%description mail-queue -l pl.UTF-8
+Od pierwszego wydania Eventum poczta nie jest wysyłana bezpośrednio z
+różnych skryptów, lecz dodawana do kolejki przetwarzanej z crona.
+Jeśli poczta nie może być wysłana, będzie odpowiednio oznaczona w logu
+kolejki poczty, a skrypt z crona będzie próbował wysłać ją ponownie
+następnym razem.
Ten pakiet zawiera zadanie dla crona.
%package mail-download
Summary: Eventum email download
-Summary(pl): ¦ci±ganie poczty Eventum
+Summary(pl.UTF-8): Ściąganie poczty Eventum
Group: Applications/WWW
Requires: %{name} = %{version}-%{release}
-Requires: /usr/bin/php
Requires: crondaemon
%description mail-download
This package contains the cron job.
-%description mail-download -l pl
-Aby integracja poczty elektronicznej w Eventum dzia³a³a, trzeba
-ustawiæ zadanie crona, aby uruchamia³ odpowiedni skrypt wystarczaj±co
-czêsto.
+%description mail-download -l pl.UTF-8
+Aby integracja poczty elektronicznej w Eventum działała, trzeba
+ustawić zadanie crona, aby uruchamiał odpowiedni skrypt wystarczająco
+często.
Ten pakiet zawiera zadanie dla crona.
%package reminder
Summary: Eventum Reminder System
-Summary(pl): System przypominania dla Eventum
+Summary(pl.UTF-8): System przypominania dla Eventum
Group: Applications/WWW
Requires: %{name} = %{version}-%{release}
-Requires: /usr/bin/php
Requires: crondaemon
%description reminder
This package contains the cron job.
-%description reminder -l pl
-System przypominania zosta³ zaprojektowany tak, aby s³u¿y³ jako
-bezpieczna sieæ dla spraw wymagaj±cych uwagi. W zale¿no¶ci od
-konfiguracji mo¿na ustawiæ ró¿ne przypominajki (lub alarmy) wysy³ane
-przy ka¿dej sprawie wymagaj±cej uwagi lub przy parametrze, który mo¿na
-uwa¿aæ za potrzebny.
+%description reminder -l pl.UTF-8
+System przypominania został zaprojektowany tak, aby służył jako
+bezpieczna sieć dla spraw wymagających uwagi. W zależności od
+konfiguracji można ustawić różne przypominajki (lub alarmy) wysyłane
+przy każdej sprawie wymagającej uwagi lub przy parametrze, który można
+uważać za potrzebny.
Ten pakiet zawiera zadanie dla crona.
%package monitor
Summary: Eventum Heartbeat Monitor
-Summary(pl): Monitor ¿ycia dla Eventum
+Summary(pl.UTF-8): Monitor życia dla Eventum
Group: Applications/WWW
Requires: %{name} = %{version}-%{release}
-Requires: /usr/bin/php
Requires: crondaemon
-Requires: php-posix
+Requires: php(posix)
%description monitor
The heartbeat monitor is a feature designed for the administrator that
This package contains the cron job.
-%description monitor -l pl
-Monitor ¿ycia to funkcjonalno¶æ zaprojektowana dla administratora
-chc±cego byæ alarmowanym przy ka¿dym wykryciu popularnego problemu z
-Eventum, jak nie dzia³anie serwera bazy danych albo zmiana uprawnieñ
-do plików konfiguracyjnych.
+%description monitor -l pl.UTF-8
+Monitor życia to funkcjonalność zaprojektowana dla administratora
+chcącego być alarmowanym przy każdym wykryciu popularnego problemu z
+Eventum, jak nie działanie serwera bazy danych albo zmiana uprawnień
+do plików konfiguracyjnych.
-Nale¿y zauwa¿yæ, ¿e przed uruchomieniem tego monitora mo¿e byæ
-konieczne dostosowanie niektórych testów do systemu, w szczególno¶ci
-testów uprawnieñ i plików w Monitor::checkConfiguration().
+Należy zauważyć, że przed uruchomieniem tego monitora może być
+konieczne dostosowanie niektórych testów do systemu, w szczególności
+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: /usr/bin/php
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 qmail (or even postfix)
+of drafts into an Eventum issue. By setting up qmail (or even 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 qmaila (czy nawet 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): Przekazywanie poczty dla Eventum
+Summary(pl.UTF-8): Przekazywanie poczty dla Eventum
Group: Applications/WWW
Requires: %{name} = %{version}-%{release}
-Requires: /usr/bin/php
Requires: eventum(router)
%description route-emails
replies will be automatically associated with the issue and
broadcasted to the entire notification list.
-%description route-emails -l pl
-Funkcjonalno¶æ przekazywania poczty s³u¿y do automatycznego wi±zania
-w±tku listów ze spraw± w Eventum. Po ustawieniu qmaila (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.
+%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 qmaila (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): Przekazywanie notatek dla Eventum
+Summary(pl.UTF-8): Przekazywanie notatek dla Eventum
Group: Applications/WWW
Requires: %{name} = %{version}-%{release}
-Requires: /usr/bin/php
Requires: eventum(router)
%description route-notes
and those replies will be automatically associated with the issue and
broadcasted to the notification list staff members.
-%description route-notes -l pl
-Funkcjonalno¶æ przekazywania notatek s³u¿y do automatycznego wi±zania
-w±tku notatek ze spraw± w Eventum. Po ustawieniu qmaila (czy nawet
-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.
+%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 qmaila (czy nawet
+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-qmail
Summary: Eventum Mail Routing - qmail
-Summary(pl): Przekazywanie poczty Eventum - qmail
+Summary(pl.UTF-8): Przekazywanie poczty Eventum - qmail
Group: Applications/Mail
# loose dep is intentional. qmail subpackage isn't built on PLD
# builders and there really nothing changes.
This package provides way of routing notes and emails back to Eventum
via qmail.
-%description router-qmail -l pl
-Ten pakiet udostêpnia metodê przekazywania notatek i listów do Eventum
+%description router-qmail -l pl.UTF-8
+Ten pakiet udostępnia metodę przekazywania notatek i listów do Eventum
przez qmaila.
%package router-postfix
Summary: Eventum Mail Routing - Postfix
-Summary(pl): Przekazywanie poczty Eventum - Postfix
+Summary(pl.UTF-8): Przekazywanie poczty Eventum - Postfix
Group: Applications/Mail
Requires: %{name} = %{version}-%{release}
Requires: postfix
This package provides way of routing notes and emails back to Eventum
via Postfix.
-%description router-postfix -l pl
-Ten pakiet udostêpnia metodê przekazywania notatek i listów do Eventum
+The Postfix configuration instructions you can find from
+<http://eventum.mysql.org/wiki/index.php/Setting_up_email_routing_with_postfix>.
+
+%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
+<http://eventum.mysql.org/wiki/index.php/Setting_up_email_routing_with_postfix>.
+
%package irc
Summary: Eventum IRC Notification Bot
-Summary(pl): IRC-owy bot powiadamiaj±cy dla Eventum
+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: /usr/bin/php
+Requires: php(sockets)
Requires: php-pear-Net_SmartIRC
-Requires: php-sockets
Requires: rc-scripts >= 0.4.0.18
%description irc
appropriate preferences, like IRC server and channel that the bot
should join.
-%description irc -l pl
-IRC-owy bot powiadamiaj±cy to mi³a funkcjonalno¶æ dla zdalnych
-zespo³ów chc±cych obs³ugiwaæ sprawy i mieæ szybki i ³atwy sposób na
-uzyskiwanie prostych powiadomieñ. Aktualnie bot powiadamia o
-nastêpuj±cych zdarzeniach:
+%description irc -l pl.UTF-8
+IRC-owy bot powiadamiający to miła funkcjonalność dla zdalnych
+zespołów chcących obsługiwać sprawy i mieć szybki i łatwy sposób na
+uzyskiwanie prostych powiadomień. Aktualnie bot powiadamia o
+następujących zdarzeniach:
- nowych sprawach
- zablokowanych listach
-- sprawach, dla których zmieni³a siê lista powi±zañ
+- sprawach, dla których zmieniła się lista powiązań
-UWAGA: w celu wprowadzenia w³asnych ustawieñ, takich jak serwer IRC i
-kana³ u¿ywany przez bota, trzeba rêcznie zmodyfikowaæ skrypt bot.php .
+UWAGA: w celu wprowadzenia własnych ustawień, takich jak serwer IRC i
+kanał używany przez bota, trzeba ręcznie zmodyfikować skrypt bot.php .
%package cli
Summary: Eventum command-line interface
-Summary(pl): Interfejs linii poleceñ dla Eventum
+Summary(pl.UTF-8): Interfejs linii poleceń dla Eventum
Group: Applications/WWW
Requires: %{name}-base = %{version}-%{release}
Requires: php-cli
Requires: php-common >= 3:4.1.0
-Requires: php-curl
Requires: php-pear-XML_RPC
-Requires: php-xml
%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
-Interfejs linii poleceñ Eventum pozwala na dostêp do wiêkszo¶ci
-funkcji interfejsu WWW prosto z linii poleceñ pow³oki.
+%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.
%package scm
Summary: Eventum SCM integration
-Summary(pl): Integracja SCM dla Eventum
+Summary(pl.UTF-8): Integracja SCM dla Eventum
Group: Applications/WWW
Requires: %{name}-base = %{version}-%{release}
+Requires: php(pcre)
Requires: php-cli
Requires: php-common >= 3:4.1.0
-Requires: php-pcre
%description scm
This feature allows your software development teams to integrate your
For installation see
</eventum/help.php?topic=scm_integration_installation>.
-%description scm -l pl
-Ten pakiet pozwala zespo³om programistów na integracjê systemu
-zarz±dzania ¼ród³ami (SCM - Source Control Management) z systemem
-¶ledzenia spraw.
+%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.
+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
+Szczegóły na temat instalacji można przeczytać pod
</eventum/help.php?topic=scm_integration_installation>.
%prep
-%setup -q %{?_snap:-n %{name}-%{_snap}}
+%setup -q %{?_snap:-n %{name}-%{_snap}}%{?_svn:-n %{name}}
# undos the source
find . -type f -print0 | xargs -0 sed -i -e 's,\r$,,'
-rm -f setup.conf.php # not to be installed by *.php glob
-rm -rf misc/upgrade/*v1.[123]* # too old to support in PLD Linux
-rm -f misc/upgrade/flush_compiled_templates.php
-rm -rf misc/upgrade/*/upgrade_config.php # not needed nor supported in PLD Linux
+rm benchmark.php
+rm -r misc/upgrade/*v1.[123]* # too old to support in PLD Linux
+rm misc/upgrade/flush_compiled_templates.php
+rm -r misc/upgrade/*/upgrade_config.php # not needed in PLD Linux
+rm -r misc/upgrade/*/index.html # not needed in PLD Linux
+rm -r include/php-gettext
# sample, not used in eventum
-rm -f rpc/xmlrpc_client.php
+rm rpc/xmlrpc_client.php
-# packaging
+# bug fixes.
%patch0 -p1
+
%patch1 -p1
-%patch14 -p1
%patch2 -p1
-%{?with_pear:%patch3 -p1}
-
-# bug fixes.
+%patch3 -p1
%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch12 -p1
-%patch13 -p1
-%patch16 -p1
-%patch17 -p1
-%patch18 -p1
-sed -e '1s,#!.*/bin/php -q,#!%{_bindir}/php,' misc/cli/eventum > %{name}-cli
-sed -e '1i#!%{_bindir}/php' misc/scm/process_cvs_commits.php > %{name}-scm
-sed -e '1i#!%{_bindir}/php' misc/irc/bot.php > %{name}-bot
-mv misc/cli/eventumrc_example eventumrc
+#%patch200 -p1
-sed -e '
-s,$private_key\s*=\s*".*";,$private_key = "DEFAULTPRIVATEKEYPLEASERUNSETUP!";,
-' < include/private_key.php > private_key.php.in
-rm -f include/private_key.php
+# packaging
+%patch100 -p1
+%patch101 -p1
+%patch102 -p1
+%patch103 -p1
+%patch104 -p1
+%patch105 -p1
+%patch106 -p1
+%patch107 -p1
+
+cat <<'EOF'> mysql-permissions.sql
+# use this schema if you want to grant permissions manually instead of using setup
+# this schema is extracted from setup/index.php.
+GRANT SELECT, UPDATE, DELETE, INSERT, ALTER, DROP, CREATE, INDEX ON eventum.* TO 'eventum'@'localhost' IDENTIFIED BY 'password';
+EOF
-# replace in remaining scripts config.inc.php to system one
-grep -rl 'include_once(".*config.inc.php")' . | xargs sed -i -e '
- s,include_once(".*config.inc.php"),include_once("%{_webappdir}/core.php"),
-'
+mv misc/localization/de{_DE,}
+mv misc/localization/es{_ES,}
+mv misc/localization/fi{_FI,}
+mv misc/localization/fr{_FR,}
+mv misc/localization/it{_IT,}
+mv misc/localization/nl{_NL,}
+mv misc/localization/ru{_RU,}
+mv misc/localization/sv{_SE,}
+mkdir -p misc/localization/pl/LC_MESSAGES
+
+# oops, the file got truncated - quick fix
+cp misc/localization/eventum.po misc/localization/de/LC_MESSAGES/eventum.po
+cp misc/localization/eventum.po misc/localization/es/LC_MESSAGES/eventum.po
+cp misc/localization/eventum.po misc/localization/fi/LC_MESSAGES/eventum.po
+cp misc/localization/eventum.po misc/localization/fr/LC_MESSAGES/eventum.po
+cp misc/localization/eventum.po misc/localization/nl/LC_MESSAGES/eventum.po
+cp misc/localization/eventum.po misc/localization/ru/LC_MESSAGES/eventum.po
+cp misc/localization/eventum.po misc/localization/en_US/LC_MESSAGES/eventum.po
-grep -rl 'APP_INC_PATH..*"private_key.php"' . | xargs sed -i -e '
- s,include_once(APP_INC_PATH.*"private_key.php"),include_once("%{_webappdir}/private_key.php"),
-'
+sed -e '1s,#!.*/bin/php -q,#!%{_bindir}/php,' misc/cli/eventum > %{name}-cli
+mv misc/cli/eventumrc_example eventumrc
+sed -i -e '1i#!%{_bindir}/php' misc/*.php
+chmod +x misc/*.php
# remove backups from patching as we use globs to package files to buildroot
find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
+%build
+cd misc/localization
+for a in */LC_MESSAGES; do
+ msgfmt -o $a/eventum.mo $a/eventum.po
+done
+
%install
rm -rf $RPM_BUILD_ROOT
install -d \
$RPM_BUILD_ROOT{%{_webappdir},%{_sysconfdir},%{_bindir},%{_sbindir},%{_libdir}} \
$RPM_BUILD_ROOT/etc/{rc.d/init.d,cron.d,sysconfig} \
- $RPM_BUILD_ROOT/var/{run,log,cache,lib}/%{name} \
+ $RPM_BUILD_ROOT/var/{run,cache,lib}/%{name} \
+ $RPM_BUILD_ROOT/var/log/{archiv/,}%{name} \
$RPM_BUILD_ROOT/var/lib/%{name}/routed_{emails,drafts,notes} \
$RPM_BUILD_ROOT%{_appdir}/{include,htdocs/misc,upgrade} \
cp -a misc/*.html $RPM_BUILD_ROOT%{_appdir}/htdocs/misc
cp -a misc/*.php $RPM_BUILD_ROOT%{_appdir}
cp -a templates $RPM_BUILD_ROOT%{_appdir}
-cp -a include/{customer,jpgraph,pear,workflow} $RPM_BUILD_ROOT%{_appdir}/include
+cp -a include/{customer,custom_field,jpgraph,workflow} $RPM_BUILD_ROOT%{_appdir}/include
cp -a include/*.php $RPM_BUILD_ROOT%{_appdir}/include
cp -a logs/* $RPM_BUILD_ROOT/var/log/%{name}
cp -a misc/upgrade $RPM_BUILD_ROOT%{_appdir}
-install %{SOURCE12} $RPM_BUILD_ROOT%{_appdir}/htdocs/favicon.ico
-install %{SOURCE13} $RPM_BUILD_ROOT%{_appdir}/htdocs/setup/config.inc.php
-install %{SOURCE14} $RPM_BUILD_ROOT%{_appdir}/upgrade/upgrade.sh
+cp -a favicon.ico $RPM_BUILD_ROOT%{_appdir}/htdocs/favicon.ico
+install %{SOURCE12} $RPM_BUILD_ROOT%{_appdir}/upgrade/upgrade.sh
# cli
install -d $RPM_BUILD_ROOT%{_appdir}/cli
cp -a misc/cli/include/class.{misc,command_line}.php $RPM_BUILD_ROOT%{_appdir}/cli
cp -a misc/cli/config.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/cli.php
install %{name}-cli $RPM_BUILD_ROOT%{_bindir}/%{name}
-install %{name}-bot $RPM_BUILD_ROOT%{_sbindir}
+install misc/irc/bot.php $RPM_BUILD_ROOT%{_sbindir}/%{name}-bot
# scm
-install %{name}-scm $RPM_BUILD_ROOT%{_libdir}/scm
-install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/cvs.php
+install misc/scm/process_cvs_commits.php $RPM_BUILD_ROOT%{_libdir}/process_cvs_commits
+install misc/scm/process_svn_commits.php $RPM_BUILD_ROOT%{_libdir}/process_svn_commits
+ln -s process_cvs_commits $RPM_BUILD_ROOT%{_libdir}/scm
+install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/scm.php
# private key
-cp -a private_key.php.in $RPM_BUILD_ROOT%{_webappdir}/private_key.php
-
-install %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
-install %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
-install %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
-install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/irc.php
-install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
-install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc
-
-sed -e '
-s,%%{APP_VERSION}%%,%{version}%{?_snap:-%{_snap}},
-s,%%{PHP_PEAR_DIR}%%,%{?with_pear:%{php_pear_dir}}%{!?with_pear:%{_appdir}/includes/pear},
-s,%%{APP_PATH}%%,%{_appdir},
-s,%%{SMARTY_DIR}%%,%{_smartydir},
-s,%%{SYSCONFDIR}%%,%{_webappdir},
-' %{SOURCE10} > $RPM_BUILD_ROOT%{_webappdir}/core.php
+echo '<?php
+$private_key = "DEFAULTPRIVATEKEY";' > $RPM_BUILD_ROOT%{_webappdir}/private_key.php
+touch $RPM_BUILD_ROOT%{_webappdir}/htpasswd
+
+cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
+cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
+cp -a %{SOURCE15} $RPM_BUILD_ROOT%{_webappdir}/lighttpd.conf
+cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
+cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
+cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}-reminder
+cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
+cp -a %{SOURCE7} $RPM_BUILD_ROOT%{_webappdir}/irc_config.php
+cp -a %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
+cp -a %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc
+
+
+%{__sed} -i -e "/define('APP_VERSION'/ {
+ idefine('APP_VERSION', '%{version}%{?_snap:-%{_snap}}%{?_rc:-%{_rc}}%{?_svn:-%{_svn}}');
+ d
+
+}" $RPM_BUILD_ROOT%{_appdir}/htdocs/init.php
# config
> $RPM_BUILD_ROOT%{_webappdir}/setup.php
-mv $RPM_BUILD_ROOT{%{_appdir}/htdocs/config.inc,%{_webappdir}/config}.php
+> $RPM_BUILD_ROOT%{_webappdir}/config.php
-%if %{with pear}
-# provided by PEAR
-rm -rf $RPM_BUILD_ROOT%{_appdir}/include/pear
-%endif
-
-# use system Smarty
-rm -rf $RPM_BUILD_ROOT%{_appdir}/include/Smarty
install -d $RPM_BUILD_ROOT%{_smartyplugindir}
# These plugins are not in Smarty package (Smarty-2.6.2-3)
cp -a \
echo '| %{_libdir}/router-qmail drafts' > $d/.qmail-draft-default
echo '| %{_libdir}/router-qmail emails 1' > $d/.qmail-issue-default
echo '| %{_libdir}/router-qmail notes' > $d/.qmail-note-default
-install %{SOURCE11} $RPM_BUILD_ROOT%{_libdir}/router-qmail
+install %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/router-qmail
%endif
+# postfix router
+install %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/router-postfix
+
+install -D %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
+# locale
+cd misc/localization
+for a in */LC_MESSAGES; do
+ install -d $RPM_BUILD_ROOT%{_datadir}/locale/$a
+ cp -a $a/%{name}.mo $RPM_BUILD_ROOT%{_datadir}/locale/$a
+done
+cd -
+
+%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
%post
# check if the package is configured.
-if grep -q 'header("Location: setup/")' %{_webappdir}/config.php; then
+if grep -q "Header('Location: setup/')" %{_webappdir}/config.php; then
if [ -f %{_appdir}/htdocs/setup/index.php ]; then
%banner %{name} -e <<EOF
To setup eventum, please install %{name}-setup and open in browser
<http://localhost/eventum/>.
If you need access from elsewhere, you need to edit
-%{_webappdir}/apache.conf and restart apache.
+%{_webappdir}/*.conf depending on webserver and restart the webserver.
IMPORTANT: When You have configured Eventum, please uninstall the
setup package, so that %{name}-setup is able to secure your Eventum
/sbin/chkconfig --add eventum-irc
%service eventum-irc restart "Eventum IRC Bot"
-%triggerin -- apache1
+%preun irc
+if [ "$1" = 0 ]; then
+ %service eventum-irc stop
+ /sbin/chkconfig --del eventum-irc
+fi
+
+%triggerin -- apache1 < 1.3.37-3, apache1-base
%webapp_register apache %{_webapp}
-%triggerun -- apache1
+%triggerun -- apache1 < 1.3.37-3, apache1-base
%webapp_unregister apache %{_webapp}
-%triggerin -- apache >= 2.0.0
+%triggerin -- apache < 2.2.0, apache-base
%webapp_register httpd %{_webapp}
-%triggerun -- apache >= 2.0.0
+%triggerun -- apache < 2.2.0, apache-base
%webapp_unregister httpd %{_webapp}
+%triggerin -- lighttpd
+%webapp_register lighttpd %{_webapp}
+
+%triggerun -- lighttpd
+%webapp_unregister lighttpd %{_webapp}
+
# FIXME
# only one upgrade trigger is called if you're upgrading over two
# versions, say 1.5 to 1.5.3, only 1.5.3 trigger is called.
database_changes.php Perform database changes
EOF
+%triggerpostun -- eventum < 1.7.1-4.132.20061119.3143
+%{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.7.1_to_v2.0 <<EOF
+database_changes.php Perform database changes
+EOF
+
%triggerpostun irc -- eventum-irc < 1.6.1-3.14
sed -i -e '
s,\$irc_host,$irc_server_hostname,
mv -f %{_webappdir}/cli.php.rpmsave %{_sysconfdir}/cli.php
fi
-%triggerpostun irc -- %{name}-irc < 1.7.0-3.4
+%triggerpostun scm -- %{name}-scm < 1.7.1-2.70.20060724
+if [ -f %{_sysconfdir}/cvs.php.rpmsave ]; then
+ mv -f %{_sysconfdir}/scm.php{,.rpmnew}
+ mv -f %{_sysconfdir}/cvs.php.rpmsave %{_sysconfdir}/scm.php
+fi
+ln -sf process_cvs_commits $RPM_BUILD_ROOT%{_libdir}/scm
+
+%triggerpostun -- %{name} < 1.7.1-5.165
+%{__sed} -i -e '
+ /define.*APP_URL/d
+' %{_webappdir}/config.php
+
+%triggerpostun irc -- %{name}-irc < 1.7.1-5.181
+# change from 1.7.0-3.4
if [ -f %{_webappdir}/irc.php.rpmsave ]; then
- mv -f %{_sysconfdir}/irc.php{,.rpmnew}
- mv -f %{_webappdir}/irc.php.rpmsave %{_sysconfdir}/irc.php
+ mv -f %{_webappdir}/irc_config.php{,.rpmnew}
+ mv -f %{_webappdir}/irc.php.rpmsave %{_webappdir}/irc_config.php
+fi
+
+# change from 1.7.1-5.181
+if [ -f %{_sysconfdir}/irc.php.rpmsave ]; then
+ mv -f %{_webappdir}/irc_config.php{,.rpmnew}
+ mv -f %{_sysconfdir}/irc.php.rpmsave %{_webappdir}/irc_config.php
fi
-%files
+%files -f %{name}.lang
%defattr(644,root,root,755)
%doc ChangeLog FAQ INSTALL README UPGRADE CONTRIB
-%doc docs/* setup/schema.sql
+%doc docs/* 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,eventum) %config %verify(not mtime) %{_webappdir}/core.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(750,root,root) /var/log/archiv/%{name}
+%config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
%dir %{_appdir}/htdocs
%{_appdir}/htdocs/*.php
%{_appdir}/htdocs/reports
%{_appdir}/htdocs/rpc
%{_appdir}/htdocs/misc
-
%{_appdir}/templates
%dir %{_appdir}/upgrade
%attr(755,root,root) %{_appdir}/upgrade/upgrade.sh
%{_appdir}/upgrade/[!u]*
-
%{_smartyplugindir}
-%if %{without pear}
-%{_appdir}/include/pear
-%endif
%dir %{_appdir}/include
%{_appdir}/include/customer
+%{_appdir}/include/custom_field
%{_appdir}/include/jpgraph
%{_appdir}/include/workflow
%{_appdir}/include/class.[!m]*.php
%files mail-queue
%defattr(644,root,root,755)
-%{_appdir}/process_mail_queue.php
+%attr(755,root,root) %{_appdir}/process_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}/download_emails.php
+%attr(755,root,root) %{_appdir}/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}/check_reminders.php
+%attr(755,root,root) %{_appdir}/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}/include/class.monitor.php
-%{_appdir}/monitor.php
+%attr(755,root,root) %{_appdir}/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)
-%{_appdir}/route_drafts.php
+%attr(755,root,root) %{_appdir}/route_drafts.php
%files route-emails
%defattr(644,root,root,755)
-%{_appdir}/route_emails.php
+%attr(755,root,root) %{_appdir}/route_emails.php
%files route-notes
%defattr(644,root,root,755)
-%{_appdir}/route_notes.php
+%attr(755,root,root) %{_appdir}/route_notes.php
%if %{with qmail}
%files router-qmail
%files router-postfix
%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/router-postfix
%files irc
%defattr(644,root,root,755)
-%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/irc.php
+%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}-bot
%attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
%files cli
%defattr(644,root,root,755)
%doc eventumrc
-%attr(644,root,root) %config %verify(not md5 mtime size) %{_sysconfdir}/cli.php
+%config %verify(not md5 mtime size) %{_sysconfdir}/cli.php
%attr(755,root,root) %{_bindir}/%{name}
%{_appdir}/cli
%files scm
%defattr(644,root,root,755)
-%attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvs.php
-%attr(755,root,root) %{_libdir}/scm
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scm.php
+%attr(755,root,root) %{_libdir}/process_cvs_commits
+%attr(755,root,root) %{_libdir}/process_svn_commits
+# legacy
+%ghost %{_libdir}/scm