]> git.pld-linux.org Git - packages/eventum.git/blobdiff - eventum.spec
adapter
[packages/eventum.git] / eventum.spec
index 5c11486a708b8fc6b1e5d121ff560b9fad2eadb7..5db69004b50e4628fe7d71c7fed40dbadb8615dd 100644 (file)
@@ -7,25 +7,19 @@
 #  - A few other small javascript libraries
 #
 # Conditional build:
-%bcond_with    qmail   # build the router-qmail subpackage
-
-#define        _snap   20060921
-%define        _svn    r3377
-%define        _rel    0.261
-#define        _rc             RC3
+%bcond_without order   # with experimental order patch
 
+%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
 Name:          eventum
-Version:       2.1
-Release:       %{?_rc:%{_rc}.}%{_rel}%{?_snap:.%{_snap}}%{?_svn:.%{_svn}}
-License:       GPL
+Version:       2.3.4
+Release:       1
+License:       GPL v2
 Group:         Applications/WWW
-#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:       %{name}-%{_svn}.tar.bz2
-# Source0-md5: bb759594b12c718f044747d5b009c308
+Source0:       https://launchpad.net/eventum/trunk/%{version}/+download/%{name}-%{version}.tar.gz
+# Source0-md5: f64a6cd054356513f6ff701be765600e
 Source1:       %{name}-apache.conf
 Source2:       %{name}-mail-queue.cron
 Source3:       %{name}-mail-download.cron
@@ -35,44 +29,45 @@ Source6:    %{name}-cvs.php
 Source7:       %{name}-irc.php
 Source8:       %{name}-irc.init
 Source9:       %{name}-irc.sysconfig
-Source10:      %{name}-router-qmail.sh
-Source12:      %{name}-upgrade.sh
+Source10:      sphinx.crontab
 Source13:      %{name}-router-postfix.sh
 Source14:      %{name}.logrotate
 Source15:      %{name}-lighttpd.conf
+Source16:      http://www.isocra.com/images/updown2.gif
+# Source16-md5:        deb6eeb2552ba757d3a949ed10c4107d
+Source17:      %{name}.tmpfiles
 Patch0:                %{name}-lf.patch
-Patch1:                %{name}-bounce-notes.patch
+Patch2:                %{name}-order.patch
+Patch3:                group-users.patch
+Patch4:                https://github.com/glensc/eventum/compare/cf_escape.patch
+# Patch4-md5:  17688773ec035fb162b6a8ad2c7cfa76
 # 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
-Patch108:      %{name}-upgrade.patch
 # some tests
 Patch200:      %{name}-fixed-nav.patch
-URL:           http://dev.mysql.com/downloads/other/eventum/
+URL:           http://eventum.mysql.org/
+BuildRequires: /usr/bin/php
 BuildRequires: gettext-devel
 BuildRequires: rpm-php-pearprov >= 4.0.2-98
-BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: rpmbuild(macros) >= 1.654
 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:      apache(mod_dir)
+Requires:      php(core) >= %{php_min_version}
+Requires:      php(filter)
 Requires:      php(gd)
+Requires:      php(iconv)
 Requires:      php(imap)
+Requires:      php(json)
 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-Mail_mimeDecode
@@ -89,17 +84,24 @@ Requires:   smarty-gettext
 Requires:      webapps
 Requires:      webserver(access)
 Requires:      webserver(alias)
+Requires:      webserver(indexfile)
 Requires:      webserver(php) >= 4.2.0
-Conflicts:     logrotate < 3.7.4
+Suggests:      localedb
+Suggests:      php-pear-Net_LDAP2
+Conflicts:     logrotate < 3.8.0
 BuildArch:     noarch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _noautoreq      'pear(/etc/webapps/.*)' 'pear(%{_appdir}/.*)' 'pear(jpgraph_dir.php)' 'pear(.*Smarty.class.php)' 'pear(Benchmark/.*)'
+%define                _noautoreq_pear ../init.php init.php /usr/share/eventum/init.php /etc/webapps/.* %{_appdir}/.* jpgraph_dir.php .*Smarty.class.php Services/JSON.php class.date_helper.php sphinxapi.php Net/LDAP2.php
+
+# exclude optional php dependencies
+%define                _noautophp      php-gnupg php-hash php-pecl-http php-tk
+
+%define                _noautoreq      %{_noautophp}
 
 %define                _libdir         %{_prefix}/lib/%{name}
 %define                _appdir         %{_datadir}/%{name}
-%define                _smartyplugindir        %{_appdir}/include/smarty
-%define                _smartydir      /usr/share/php/Smarty
+%define                _smartydir      %{php_data_dir}/Smarty
 %define                _webapps        /etc/webapps
 %define                _webapp         %{name}
 %define                _webappdir      %{_webapps}/%{_webapp}
@@ -268,19 +270,19 @@ 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)
-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 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ń.
+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
@@ -291,17 +293,17 @@ 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 qmail (or even 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 qmaila (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
@@ -316,41 +318,22 @@ 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 qmail (or even 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 qmaila (czy nawet
-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
 sprawą i rozprowadzane do członków personelu listy ogłoszeniowej.
 
-%package router-qmail
-Summary:       Eventum Mail Routing - 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.
-Requires:      %{name} >= %{version}-%{release}
-Requires:      qmail >= 1.03
-Provides:      eventum(router)
-Obsoletes:     eventum(router)
-
-%description router-qmail
-This package provides way of routing notes and emails back to Eventum
-via qmail.
-
-%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.UTF-8):     Przekazywanie poczty Eventum - Postfix
@@ -379,7 +362,6 @@ Summary:    Eventum IRC Notification Bot
 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
@@ -414,8 +396,8 @@ 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-cli
-Requires:      php-common >= 3:4.1.0
 Requires:      php-pear-XML_RPC
 
 %description cli
@@ -431,9 +413,9 @@ Summary:    Eventum SCM integration
 Summary(pl.UTF-8):     Integracja SCM dla Eventum
 Group:         Applications/WWW
 Requires:      %{name}-base = %{version}-%{release}
+Requires:      php(core) >= %{php_min_version}
 Requires:      php(pcre)
 Requires:      php-cli
-Requires:      php-common >= 3:4.1.0
 
 %description scm
 This feature allows your software development teams to integrate your
@@ -456,228 +438,154 @@ 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
+Requires:      %{name} = %{version}-%{release}
+Requires:      crondaemon
+Requires:      sphinx
+
+%description sphinx
+Sphinx search integration for Eventum.
+
+This package contains the cron job.
+
 %prep
-%setup -q %{?_snap:-n %{name}-%{_snap}}%{?_svn:-n %{name}-%{_svn}}
-# undos the source
-find . -type f -print0 | xargs -0 sed -i -e 's,\r$,,'
+%setup -q
 
-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
+# GPL v2
+rm docs/COPYING
 
-rm -r include/php-gettext
-# sample, not used in eventum
-rm rpc/xmlrpc_client.php
+rm -r upgrade/*v1.[123]* # too old to support in PLD Linux
+rm -r upgrade/v{1.,2.0,2.1_}* # no longer supported in PLD Linux
+rm upgrade/flush_compiled_templates.php
+rm -r upgrade/{*/,}index.html # not needed in PLD Linux
 
 # bug fixes / features
 %patch0 -p1
-%patch1 -p0
+%{?with_order:%patch2 -p1}
+%patch3 -p0
+%patch4 -p1
+
+cp -p %{SOURCE16} htdocs/images
 
 #%patch200 -p1
 
+# produce default sphinx config
+# must be run before paths.patch
+cat <<'EOF' > config/config.php
+<?php
+define('APP_SQL_DBTYPE', 'mysql');
+define('APP_SQL_DBHOST', 'localhost:/var/lib/mysql/mysql.sock');
+define('APP_SQL_DBPORT', 3306);
+define('APP_SQL_DBNAME', 'eventum');
+define('APP_SQL_DBUSER', 'mysql');
+define('APP_SQL_DBPASS', '');
+define('APP_TABLE_PREFIX', 'eventum_');
+EOF
+php config/sphinx.conf.php > config/sphinx.conf
+rm -f config/config.php
+
 # packaging
 %patch100 -p1
 %patch101 -p1
-%patch102 -p1
-%patch103 -p1
-%patch104 -p1
 %patch105 -p1
-%patch106 -p1
 %patch107 -p1
-%patch108 -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
 
-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
-
-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
-
-sed -i -e "s,require_once.*init.php.*;,require_once '%{_appdir}/htdocs/init.php';," misc/upgrade/*/*.php
+%{__sed} -i -e "
+s;define('CONFIG_PATH'.*');define('CONFIG_PATH', '%{_webappdir}');
+" upgrade/{*/,}*.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
+%{__make} -C localization
 
 %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/etc/{rc.d/init.d,cron.d,logrotate.d,sysconfig} \
        $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}
 
-cp -a *.php css customer images js manage reports rpc setup $RPM_BUILD_ROOT%{_appdir}/htdocs
-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,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}
-
-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 misc/irc/bot.php $RPM_BUILD_ROOT%{_sbindir}/%{name}-bot
+%{__make} install-eventum install-cli install-irc install-scm install-jpgraph install-localization \
+       sysconfdir=%{_webappdir} \
+       DESTDIR=$RPM_BUILD_ROOT
 
-# scm
-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
-echo '<?php
-$private_key = "DEFAULTPRIVATEKEY";' > $RPM_BUILD_ROOT%{_webappdir}/private_key.php
-touch $RPM_BUILD_ROOT%{_webappdir}/htpasswd
+%{?with_order:cp -a htdocs/ajax $RPM_BUILD_ROOT%{_appdir}/htdocs}
 
-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
-> $RPM_BUILD_ROOT%{_webappdir}/config.php
-
-install -d $RPM_BUILD_ROOT%{_smartyplugindir}
-# These plugins are not in Smarty package (Smarty-2.6.2-3)
-cp -a \
-       include/Smarty/plugins/function.{calendar,get_{display_style,innerhtml,textarea_size}}.php \
-       include/Smarty/plugins/modifier.highlight_quoted.php \
-       $RPM_BUILD_ROOT%{_smartyplugindir}
-
-# qmail router
-%if %{with qmail}
-d=$RPM_BUILD_ROOT/var/lib/%{name}
-echo 'root' > $d/.qmail
-echo 'root' > $d/.qmail-default
-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 %{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 -
+touch $RPM_BUILD_ROOT%{_webappdir}/htpasswd
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
+cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_webappdir}/lighttpd.conf
 
-%find_lang %{name}
+install -d $RPM_BUILD_ROOT/etc/sphinx
+cp -p config/sphinx.conf $RPM_BUILD_ROOT/etc/sphinx/%{name}.conf
+cp -p config/sphinx.conf.php $RPM_BUILD_ROOT%{_webappdir}
 
-%clean
-rm -rf $RPM_BUILD_ROOT
+cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
+cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-download
+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
 
-%pre
-%addusertogroup http %{name}
+cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_webappdir}/irc_config.php
 
-%post
-# check if the package is configured.
-if grep -q "Header('Location: setup/')" %{_webappdir}/config.php; then
-if [ -f %{_appdir}/htdocs/setup/index.php ]; then
-%banner %{name} -e <<EOF
+install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/eventum-irc
+cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/eventum-irc
 
-You haven't yet configured Eventum!
-Please open in browser <http://localhost/eventum/>
-If you need access from elsewhere, you need to edit
-%{_webappdir}/apache.conf and restart apache.
+cp -p %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
 
-IMPORTANT: When You have configured Eventum, please uninstall the
-setup package, so that %{name}-setup is able to secure your Eventum
-installation.
-
-EOF
-#' vim syntax hack
-else
-%banner %{name} -e <<EOF
-
-You haven't yet configured Eventum!
+# postfix router
+install -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/router-postfix
 
-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}/*.conf depending on webserver and restart the webserver.
+cp -p %{SOURCE17} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
 
-IMPORTANT: When You have configured Eventum, please uninstall the
-setup package, so that %{name}-setup is able to secure your Eventum
-installation.
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ht
 
-EOF
-#' vim syntax hack
-fi
+%find_lang %{name}
 
-elif grep -q 'DEFAULTPRIVATEKEY' %{_webappdir}/private_key.php; then
-%banner %{name} -e <<EOF
+# scm
+install -p %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/scm.php
 
-You have default private key installed!
+# old compat
+ln -s %{_sbindir}/eventum-cvs-hook $RPM_BUILD_ROOT%{_libdir}/process_cvs_commits
+ln -s %{_sbindir}/eventum-svn-hook $RPM_BUILD_ROOT%{_libdir}/process_svn_commits
 
-Install %{name}-setup and open up http://yourserver/eventum/setup/
--- that will help you setup initial config.
+# skip pear for cli
+rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/cli
+cp -a cli/lib/eventum $RPM_BUILD_ROOT%{_datadir}/%{name}/cli
 
-when have configured Eventum, please uninstall the setup package,
-so that %{name}-setup is able to secure your Eventum installation.
+%clean
+rm -rf $RPM_BUILD_ROOT
 
-EOF
-       elif [ -d %{_appdir}/setup ]; then
-%banner %{name} -e <<EOF
+%pre
+%addusertogroup http %{name}
 
-If you have have configured Eventum, please uninstall the setup package,
-so that %{name}-setup is able to secure your Eventum installation.
+%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
+done
 
-EOF
-fi
+# run database update if configured
+test -s %{_webappdir}/config.php && \
+%{_appdir}/upgrade/update-database.php || :
 
 # nuke Smarty templates cache after upgrade
 rm -f /var/cache/eventum/*.php
 
+# Restart webserver on upgrade to get .mo translations reloaded.
+# actually php engines "php-fcgi" and "php-fpm" needed only, apache is restarted anyway via webapp trigger.
+%php_webserver_restart
+
 %preun
 if [ "$1" = "0" ]; then
        # nuke cache
@@ -694,38 +602,14 @@ if [ "$1" = "0" ]; then
        %groupremove %{name}
 fi
 
-%post router-qmail
-CF=/etc/qmail/control/virtualdomains
-if ! grep -q ':%{name}\b' $CF 2>/dev/null; then
-       FQDN=$(awk -F'"' '/define/ && $2 ~ /APP_HOSTNAME/ {print $4}' %{_webappdir}/config.php 2>/dev/null)
-       [ "$FQDN" ] || FQDN=$(hostname -f 2>/dev/null || echo localhost)
-       umask 022
-       echo "#${FQDN}:%{name}" >> $CF
-
-%banner %{name}-qmail -e <<EOF
-
-Added "#${FQDN}:%{name}" to $CF,
-Please verify that it is correct and restart qmail:
-# service qmail reload
-
-Consult qmail-send(8) for more information on virtualdomains.
-
-EOF
-fi
-
-%preun router-qmail
-if [ "$1" = "0" ]; then
-       sed -i -e '/:%{name}\b/d' /etc/qmail/control/virtualdomains
-fi
-
 %post setup
 chmod 660 %{_webappdir}/{config,private_key}.php
-chown root:eventum %{_webappdir}/{config,private_key}.php
+chown root:http %{_webappdir}/{config,private_key}.php
 
 %postun setup
-if [ "$1" = "0" ]; then
+if [ "$1" = "0" ] && [ -f %{_webappdir}/config.php ]; then
        chmod 640 %{_webappdir}/{config,private_key}.php
-       chown root:eventum %{_webappdir}/{config,private_key}.php
+       chown root:http %{_webappdir}/{config,private_key}.php
 fi
 
 %post irc
@@ -756,166 +640,46 @@ fi
 %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.
-# use common trigger (the highest version and rpmvercmp from poldek?)
-%triggerpostun -- eventum < 1.5.1-0.257
-%{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.5_to_v1.5.1 <<EOF
-database_changes.php Perform database changes
-EOF
-
-%triggerpostun -- eventum < 1.5.2-0.289
-%{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.5.1_to_v1.5.2 <<EOF
-database_changes.php Perform database changes
-set_priority_ranks.php Fix the ranking of priority values
-EOF
-
-%triggerpostun -- eventum < 1.5.3-0.291
-%{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.5.2_to_v1.5.3 <<EOF
-database_changes.php Perform database changes
-EOF
-
-%triggerpostun -- eventum < 1.5.4-1.12
-%{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.5.3_to_v1.5.4 <<EOF
-database_changes.php Perform database changes
-EOF
-
-%triggerpostun -- eventum < 1.6.0-RC2.6
-%{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.5.5_to_v1.6.0 <<EOF
-database_changes.php Perform database changes
-upgrade_saved_searches.php Upgrade existing custom filters (saved searches)
-EOF
-
-%triggerpostun -- eventum < 1.6.1-0.2
-%{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.6.0_to_v1.6.1 <<EOF
-database_changes.php Perform database changes
-EOF
-
-%triggerpostun -- eventum < 1.7.0-2.0.48
-# migrate from apache-config macros
-if [ -f /etc/%{name}/apache.conf.rpmsave ]; then
-       if [ -d /etc/apache/webapps.d ]; then
-               cp -f %{_webapps}/%{_webapp}/apache.conf{,.rpmnew}
-               cp -f /etc/%{name}/apache.conf.rpmsave %{_webapps}/%{_webapp}/apache.conf
-       fi
-
-       if [ -d /etc/httpd/webapps.d ]; then
-               cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew}
-               cp -f /etc/%{name}/apache.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf
-       fi
-fi
-
-if [ -L /etc/apache/conf.d/99_%{_webapp}.conf ]; then
-       /usr/sbin/webapp register apache %{_webapp}
-       rm -f /etc/apache/conf.d/99_%{_webapp}.conf
-       %service -q apache reload
-fi
-if [ -L /etc/httpd/httpd.conf/99_%{_webapp}.conf ]; then
-       /usr/sbin/webapp register httpd %{_webapp}
-       rm -f /etc/httpd/httpd.conf/99_%{_webapp}.conf
-       %service -q httpd reload
-fi
-
-%{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.6.1_to_v1.7.0 <<EOF
-database_changes.php Perform database changes
-set_root_message_ids.php Set iss_root_message_id
-EOF
-
-# regular configs
-for i in apache.conf config.php private_key.php setup.php; do
-       if [ -f /etc/eventum/$i.rpmsave ]; then
-               mv -f %{_webappdir}/$i{,.rpmnew}
-               mv -f /etc/eventum/$i.rpmsave %{_webappdir}/$i
-       fi
+%triggerpostun -- %{name} < 2.2-2.57
+# switching eventum->http user
+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
+       [ -f "$a" ] || continue
+       awk '!/#/ && NR > 6 && $6 =="eventum" {sub("eventum", "http", $6)}{print}'  $a > $a.rpmtmp && cat $a.rpmtmp > $a
+       rm -f $a.rpmtmp
+
+       # crontabs moved to crons subdir
+       %{__sed} -i -e '
+               s,/usr/share/eventum/process_mail_queue.php,/usr/share/eventum/crons/process_mail_queue.php,
+               s,/usr/share/eventum/download_emails.php,/usr/share/eventum/crons/download_emails.php,
+               s,/usr/share/eventum/check_reminders.php,/usr/share/eventum/crons/check_reminders.php,
+               s,/usr/share/eventum/monitor.php,/usr/share/eventum/crons/monitor.php,
+       ' $a
 done
 
-%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 -- eventum < 1.7.1-5.165
-%{__sed} -i -e '
-       /define.*APP_URL/d
-' %{_webappdir}/config.php
-
-
-%triggerpostun -- eventum < 2.0-0.211
-%{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v2.0_to_v2.0.1 <<EOF
-database_changes.php Perform database changes
-EOF
-
-%triggerpostun -- eventum < 2.0-0.235
-%{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v2.0-beta_to_v2.0 <<EOF
-database_changes.php Perform database changes
-EOF
-
-%triggerpostun -- eventum < 2.1
-%{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v2.0_to_v2.1 <<EOF
-database_changes.php Perform database changes
-update_custom_field_by_type.php Update custom field types
-EOF
-
-%triggerpostun -- eventum < 2.1-0.259
-%{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v2.0_to_v2.1 <<EOF
-database_changes2.php Perform database changes
-EOF
-
-%triggerpostun irc -- eventum-irc < 1.6.1-3.14
-sed -i -e '
-s,\$irc_host,$irc_server_hostname,
-s,\$irc_port,$irc_server_port,
-s,\$irc_nick,$nickname,
-s,\$irc_realname,$realname,
-s,\$irc_username,$username,
-s,\$irc_password,$password,
-' /etc/eventum/irc.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 %{_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
-
-%triggerpostun cli -- %{name}-cli < 1.7.0-3.4
-if [ -f %{_webappdir}/cli.php.rpmsave ]; then
-       mv -f %{_sysconfdir}/cli.php{,.rpmnew}
-       mv -f %{_webappdir}/cli.php.rpmsave %{_sysconfdir}/cli.php
-fi
-
-%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
-
 %files -f %{name}.lang
 %defattr(644,root,root,755)
-%doc ChangeLog FAQ INSTALL README UPGRADE CONTRIB
-%doc docs/* setup/schema.sql mysql-permissions.sql
+%doc docs/* htdocs/setup/schema.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}
 
+%dir %{_appdir}/crons
+%{_appdir}/init.php
 %dir %{_appdir}/htdocs
 %{_appdir}/htdocs/*.php
 %{_appdir}/htdocs/*.ico
@@ -927,38 +691,37 @@ ln -sf process_cvs_commits $RPM_BUILD_ROOT%{_libdir}/scm
 %{_appdir}/htdocs/reports
 %{_appdir}/htdocs/rpc
 %{_appdir}/htdocs/misc
+%if %{with order}
+%{_appdir}/htdocs/ajax
+%endif
 %{_appdir}/templates
+
 %dir %{_appdir}/upgrade
-%attr(755,root,root) %{_appdir}/upgrade/upgrade.sh
-%{_appdir}/upgrade/[!u]*
-%{_smartyplugindir}
-
-%dir %{_appdir}/include
-%{_appdir}/include/customer
-%{_appdir}/include/custom_field
-%{_appdir}/include/jpgraph
-%{_appdir}/include/workflow
-%{_appdir}/include/class.[!m]*.php
-%{_appdir}/include/class.mail.php
-%{_appdir}/include/class.mail_queue.php
-%{_appdir}/include/class.mime_helper.php
-%{_appdir}/include/class.misc.php
-%{_appdir}/include/db_access.php
-
-%dir %attr(730,root,eventum) /var/run/%{name}
-%dir %attr(730,root,eventum) /var/cache/%{name}
+%{_appdir}/upgrade/init.php
+%attr(755,root,root) %{_appdir}/upgrade/update-database.php
+%attr(755,root,root) %{_appdir}/upgrade/ldap_import.php
+%dir %{_appdir}/upgrade/v*
+%attr(755,root,root) %{_appdir}/upgrade/v*/*.php
+%{_appdir}/upgrade/patches
+
+%dir %{_appdir}/lib
+%{_appdir}/lib/eventum
+%{_appdir}/lib/jpgraph
+%exclude %{_appdir}/lib/eventum/class.monitor.php
+%{systemdtmpfilesdir}/%{name}.conf
+%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}
-# qmail will ignore user, if it's home directory is not owned
-%attr(750,eventum,eventum) %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)
@@ -966,23 +729,23 @@ ln -sf process_cvs_commits $RPM_BUILD_ROOT%{_libdir}/scm
 
 %files mail-queue
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_appdir}/process_mail_queue.php
+%attr(755,root,root) %{_appdir}/crons/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)
-%attr(755,root,root) %{_appdir}/download_emails.php
+%attr(755,root,root) %{_appdir}/crons/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)
-%attr(755,root,root) %{_appdir}/check_reminders.php
+%attr(755,root,root) %{_appdir}/crons/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
-%attr(755,root,root) %{_appdir}/monitor.php
+%{_appdir}/lib/eventum/class.monitor.php
+%attr(755,root,root) %{_appdir}/crons/monitor.php
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
 
 %files route-drafts
@@ -997,13 +760,6 @@ ln -sf process_cvs_commits $RPM_BUILD_ROOT%{_libdir}/scm
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_appdir}/route_notes.php
 
-%if %{with qmail}
-%files router-qmail
-%defattr(644,root,root,755)
-%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) /var/lib/%{name}/.qmail*
-%attr(755,root,root) %{_libdir}/router-qmail
-%endif
-
 %files router-postfix
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/router-postfix
@@ -1012,13 +768,12 @@ ln -sf process_cvs_commits $RPM_BUILD_ROOT%{_libdir}/scm
 %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}-bot
+%attr(755,root,root) %{_sbindir}/%{name}-irc-bot
 %attr(754,root,root) /etc/rc.d/init.d/%{name}-irc
 
 %files cli
 %defattr(644,root,root,755)
-%doc eventumrc
-%config %verify(not md5 mtime size) %{_sysconfdir}/cli.php
+%doc cli/eventumrc
 %attr(755,root,root) %{_bindir}/%{name}
 %{_appdir}/cli
 
@@ -1027,5 +782,11 @@ ln -sf process_cvs_commits $RPM_BUILD_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
+%attr(755,root,root) %{_sbindir}/eventum-cvs-hook
+%attr(755,root,root) %{_sbindir}/eventum-svn-hook
+
+%files sphinx
+%defattr(644,root,root,755)
+%{_webappdir}/sphinx.conf.php
+%attr(750,root,http) %config(noreplace) %verify(not md5 mtime size) /etc/sphinx/%{name}.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-sphinx
This page took 0.136049 seconds and 4 git commands to generate.