]> git.pld-linux.org Git - packages/eventum.git/blobdiff - eventum.spec
- use eventum uid/gid
[packages/eventum.git] / eventum.spec
index 564a2850a9b305720a866a8b054809448d1a7441..6ff9f253476bfdc2e1f1b149b2c1af59f97f67ad 100644 (file)
@@ -14,7 +14,7 @@
 %bcond_with    pear    # build with system PEAR packages (or use bundled ones)
 
 # snapshot: DATE
-#define _snap 20050217
+%define _snap 20050222
 
 %if 0%{?_snap}
 %define _source http://downloads.mysql.com/snapshots/%{name}/%{name}-nightly-%{_snap}.tar.gz
 %define _source http://mysql.wildyou.net/Downloads/%{name}/%{name}-%{version}.tar.gz
 %endif
 
-%define _rel 1.151
+%define _rel 2.209
 
-Summary:       Eventum Issue - a bug tracking system
+%define        uid     146
+%define        gid     146
+
+Summary:       Eventum Issue / Bug tracking system
 Summary(pl):   Eventum - system ¶ledzenia spraw/b³êdów
 Name:          eventum
 Version:       1.4
-Release:       %{?_snap:0.%{_snap}.}%{_rel}
+Release:       %{?_snap:2.%{_snap}.}%{_rel}
 License:       GPL
 Group:         Applications/WWW
 Source0:       %{_source}
-# Source0-md5: 361c1355e46a6bbfa54e420964ec92cf
+# Source0-md5: 035bd8f7890260c1c058eaf1d54dcc90
 Source1:       %{name}-apache.conf
 Source2:       %{name}-mail-queue.cron
 Source3:       %{name}-mail-download.cron
@@ -41,6 +44,8 @@ Source5:      %{name}-monitor.cron
 Source6:       %{name}-cvs.php
 Source7:       %{name}-irc.php
 Source8:       %{name}-irc.init
+Source9:       %{name}-irc.sysconfig
+Source10:      %{name}-config.php
 Patch0:                %{name}-paths.patch
 Patch1:                %{name}-scm-encode.patch
 Patch2:                %{name}-cvs-config.patch
@@ -55,17 +60,18 @@ Patch16:            %{name}-rss-charset.patch
 Patch17:               %{name}-scm-silence-add.patch
 Patch18:               %{name}-default-TZ.patch
 Patch19:               %{name}-charset-mailsubj.patch
+Patch20:               %{name}-monitor-bot-process.patch
 URL:           http://dev.mysql.com/downloads/other/eventum/index.html
 BuildRequires: rpmbuild(macros) >= 1.177
 BuildRequires: sed >= 4.0
-Requires:      php >= 4.1.0
+Requires:      php >= 4.2.0
 Requires:      php-gd
 Requires:      php-imap
 Requires:      php-mysql
 Requires:      php-pcre
 Requires:      %{name}-base = %{epoch}:%{version}-%{release}
-%if %{with pear}
 Requires:      Smarty >= 2.6.2
+%if %{with pear}
 Requires:      php-pear-Benchmark
 Requires:      php-pear-DB
 Requires:      php-pear-Date
@@ -83,9 +89,9 @@ Requires:     php-pear-PEAR
 Requires:      php-pear-Text_Diff
 Requires:      php-pear-XML_RPC
 %endif
-Requires:      apache-mod_dir
-# conflict with non-confdir apache
-Conflicts:     apache1 < 1.3.33-1.1
+Requires:      apache >= 1.3.33-2
+Requires:      apache(mod_dir)
+Requires(triggerpostun):       sed >= 4.0
 BuildArch:     noarch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -145,7 +151,7 @@ Summary(pl):        Przetwarzanie kolejki poczty Eventum
 Group:         Applications/WWW
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      crondaemon
-Requires:      php4 >= 4.1.0
+Requires:      php >= 4.1.0
 
 %description mail-queue
 Beginning with the first release of Eventum, emails are not directly
@@ -191,7 +197,7 @@ Summary:    Eventum Reminder System
 Summary(pl):   System przypominania dla Eventum
 Group:         Applications/WWW
 Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      php4 >= 4.1.0
+Requires:      php >= 4.1.0
 Requires:      crondaemon
 
 %description reminder
@@ -217,7 +223,8 @@ Summary:    Eventum Heartbeat Monitor
 Summary(pl):   Monitor ¿ycia dla Eventum
 Group:         Applications/WWW
 Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      php4 >= 4.1.0
+Requires:      php >= 4.1.0
+Requires:      php-posix
 Requires:      crondaemon
 
 %description monitor
@@ -251,7 +258,7 @@ Summary:    Eventum Email Routing
 Summary(pl):   Przekazywanie poczty dla Eventum
 Group:         Applications/WWW
 Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      php4 >= 4.1.0
+Requires:      php >= 4.1.0
 #Requires:     eventum-router
 
 %description route-emails
@@ -277,7 +284,7 @@ Summary:    Eventum Note Routing
 Summary(pl):   Przekazywanie notatek dla Eventum
 Group:         Applications/WWW
 Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      php4 >= 4.1.0
+Requires:      php >= 4.1.0
 #Requires:     eventum-router
 
 %description route-notes
@@ -336,11 +343,11 @@ kana
 Summary:       Eventum command-line interface
 Summary(pl):   Interfejs linii poleceñ dla Eventum
 Group:         Applications/WWW
-Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      php4 >= 4.1.0
-Requires:      php4-cli
-Requires:      php4-curl
-Requires:      php4-xml
+Requires:      %{name}-base = %{epoch}:%{version}-%{release}
+Requires:      php >= 4.1.0
+Requires:      php-cli
+Requires:      php-curl
+Requires:      php-xml
 Requires:      php-pear-XML_RPC
 
 %description cli
@@ -356,7 +363,7 @@ Summary:    Eventum SCM integration
 Summary(pl):   Integracja SCM dla Eventum
 Group:         Applications/WWW
 Requires:      %{name}-base = %{epoch}:%{version}-%{release}
-Requires:      php4 >= 4.1.0
+Requires:      php >= 4.1.0
 
 %description scm
 This feature allows your software development teams to integrate your
@@ -394,37 +401,66 @@ $,,'
 
 # bug fixes.
 %patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch17 -p1
-%patch18 -p1
+#%patch12 -p1
+#%patch13 -p1
+#%patch14 -p1
+#%patch15 -p1
+#%patch16 -p1
+#%patch17 -p1
+#%patch18 -p1
 %patch19 -p1
+%patch20 -p1
+
+# 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("%{_sysconfdir}/core.php"),
+'
+sed -i -e '
+       s,include(".*config.inc.php"),include_once("%{_sysconfdir}/core.php"),
+' misc/download_emails.php
+
+grep -rl 'APP_INC_PATH..*"private_key.php"' . | xargs sed -i -e '
+       s,include_once(APP_INC_PATH.*"private_key.php"),include_once("%{_sysconfdir}/private_key.php"),
+'
 
 rm -f */*~ */*/*~
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_libdir},%{_appdir}} \
-       $RPM_BUILD_ROOT{/etc/{rc.d/init.d,cron.d},/var/log/%{name}} \
-       $RPM_BUILD_ROOT{/var/run/eventum,/var/cache/eventum}
-
-cp -a *.php {css,customer,images,include,js} \
-       {manage,misc,reports,rpc,setup,templates} $RPM_BUILD_ROOT%{_appdir}
+install -d \
+       $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_libdir}} \
+       $RPM_BUILD_ROOT/etc/{rc.d/init.d,cron.d,sysconfig} \
+       $RPM_BUILD_ROOT/var/{run,log,cache}/%{name} \
+       $RPM_BUILD_ROOT%{_appdir}/{include,htdocs/misc} \
+
+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 misc/irc $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/*.php $RPM_BUILD_ROOT%{_appdir}/include
 cp -a logs/* $RPM_BUILD_ROOT/var/log/%{name}
 
-> $RPM_BUILD_ROOT%{_appdir}/setup.conf.php
+# cli
+install -d $RPM_BUILD_ROOT%{_appdir}/cli
+install misc/cli/include/class.{misc,command_line}.php $RPM_BUILD_ROOT%{_appdir}/cli
+install misc/cli/config.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/cli.php
+sed -e 's,/usr/local/bin/php,/usr/bin/php4,' misc/cli/eventum \
+       > $RPM_BUILD_ROOT%{_bindir}/%{name}
+cp -f misc/cli/eventumrc_example eventumrc
 
-sed -i -e 's,/usr/local/bin/php,/usr/bin/php4,' $RPM_BUILD_ROOT%{_appdir}/misc/cli/eventum
+# scm
 echo '#!/usr/bin/php4 -q' > %{name}-scm
-cat $RPM_BUILD_ROOT%{_appdir}/misc/scm/process_cvs_commits.php >> %{name}-scm
+cat misc/scm/process_cvs_commits.php >> %{name}-scm
+install %{name}-scm $RPM_BUILD_ROOT%{_libdir}/scm
 
+# private key
+mv $RPM_BUILD_ROOT{%{_appdir}/include/private_key.php,%{_sysconfdir}}
 # change private key, so we can easily grep
 sed -i -e '
 s,$private_key\s*=\s*".*";,$private_key = "DEFAULTPRIVATEKEYPLEASERUNSETUP!";,
-' $RPM_BUILD_ROOT%{_appdir}/include/private_key.php
+' $RPM_BUILD_ROOT%{_sysconfdir}/private_key.php
 
 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
 install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}-mail-queue
@@ -434,42 +470,35 @@ install %{SOURCE5} $RPM_BUILD_ROOT/etc/cron.d/%{name}-monitor
 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/cvs.php
 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}},' \
+       %{SOURCE10} > $RPM_BUILD_ROOT%{_sysconfdir}/core.php
 
-# in conf
-mv $RPM_BUILD_ROOT%{_appdir}/config.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/config.php
-mv $RPM_BUILD_ROOT%{_appdir}/setup.conf.php $RPM_BUILD_ROOT%{_sysconfdir}/setup.php
-mv $RPM_BUILD_ROOT%{_appdir}/include/private_key.php $RPM_BUILD_ROOT%{_sysconfdir}
-mv $RPM_BUILD_ROOT%{_appdir}/misc/cli/config.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/cli.php
-ln -s %{_sysconfdir}/config.php $RPM_BUILD_ROOT%{_appdir}/config.inc.php
-ln -s %{_sysconfdir}/setup.php $RPM_BUILD_ROOT%{_appdir}/setup.conf.php
-ln -s %{_sysconfdir}/private_key.php $RPM_BUILD_ROOT%{_appdir}/include/private_key.php
-
-# in doc
-rm -rf $RPM_BUILD_ROOT%{_appdir}/misc/upgrade
-# sample, not used in eventum
-rm -rf $RPM_BUILD_ROOT%{_appdir}/rpc/xmlrpc_client.php
+# config
+> $RPM_BUILD_ROOT%{_sysconfdir}/setup.php
+mv $RPM_BUILD_ROOT{%{_appdir}/htdocs/config.inc,%{_sysconfdir}/config}.php
 
-# in bindir
-mv $RPM_BUILD_ROOT%{_appdir}/misc/cli/eventum $RPM_BUILD_ROOT%{_bindir}
-rm -f $RPM_BUILD_ROOT%{_appdir}/misc/{cli/eventumrc_example,scm/process_cvs_commits.php}
-cp -f misc/cli/eventumrc_example eventumrc
-install %{name}-scm $RPM_BUILD_ROOT%{_libdir}/scm
+# sample, not used in eventum
+rm -f $RPM_BUILD_ROOT%{_appdir}/htdocs/rpc/xmlrpc_client.php
 
 %if %{with pear}
 # provided by PEAR
-rm -rf $RPM_BUILD_ROOT%{_appdir}/misc/cli/include/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 include/Smarty/plugins/function.{calendar,get_{display_style,innerhtml,textarea_size}}.php $RPM_BUILD_ROOT%{_smartyplugindir}
-%endif
+cp -a include/Smarty/plugins/function.{calendar,get_{display_style,innerhtml,textarea_size}}.php \
+       $RPM_BUILD_ROOT%{_smartyplugindir}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%pre
+%addusertogroup http %{name}
+
 %post
 # apache1
 if [ -d %{_apache1dir}/conf.d ]; then
@@ -541,6 +570,20 @@ if [ "$1" = "0" ]; then
        fi
 fi
 
+%postun
+# nuke cache
+rm -f /var/cache/eventum/*.php
+
+%pre base
+%groupadd -P %{name}-base %{name}
+%useradd -P %{name}-base -d %{_appdir} -g %{name} %{name} -c "Eventum User"
+
+%postun base
+if [ "$1" = "0" ]; then
+       %userremove %{name}
+       %groupremove %{name}
+fi
+
 %post setup
 chmod 660 %{_sysconfdir}/{config,private_key}.php
 chown root:http %{_sysconfdir}/{config,private_key}.php
@@ -551,100 +594,141 @@ if [ "$1" = "0" ]; then
        chown root:http %{_sysconfdir}/{config,private_key}.php
 fi
 
+%triggerpostun -- eventum < 1.4-2.160
+cp -f %{_sysconfdir}/config.php{,.rpmsave}
+# very loose trigger
+sed -i -e '
+/config.php/,/SQL variables/d;/_LOG/d;/APP_VERSION/d;/APP_BENCHMARK/,/content-type:/d
+' %{_sysconfdir}/config.php
+
+%triggerpostun -- eventum < 1.4-2.174
+cp -f %{_sysconfdir}/apache.conf{,.rpmsave}
+# loosely fix htdocs directory
+sed -i -e '
+s,%{_appdir},%{_appdir}/htdocs,
+' %{_sysconfdir}/apache.conf
+
+%triggerpostun mail-download -- eventum-mail-download < 1.4-2.20050222.2.200
+sed -i -e 's,%{_appdir}/misc,%{_appdir},' /etc/cron.d/eventum-mail-download
+touch /etc/cron.d/eventum-mail-download
+
+%triggerpostun mail-queue -- eventum-mail-queue < 1.4-2.20050222.2.200
+sed -i -e 's,%{_appdir}/misc,%{_appdir},' /etc/cron.d/eventum-mail-queue
+touch /etc/cron.d/eventum-mail-queue
+
+%triggerpostun monitor -- eventum-monitor < 1.4-2.20050222.2.200
+sed -i -e 's,%{_appdir}/misc,%{_appdir},' /etc/cron.d/eventum-monitor
+touch /etc/cron.d/eventum-monitor
+
+%triggerpostun reminder -- eventum-reminder < 1.4-2.20050222.2.200
+sed -i -e 's,%{_appdir}/misc,%{_appdir},' /etc/cron.d/eventum-reminder
+touch /etc/cron.d/eventum-reminder
+
+%triggerpostun -- eventum < 1.4-2.20050222.2.208
+chgrp eventum %{_sysconfdir}/{core,config,private_key,setup}.php
+
+%triggerpostun irc -- eventum-irc < 1.4-2.20050222.2.208
+chgrp eventum %{_sysconfdir}/irc.php
+
 %files
 %defattr(644,root,root,755)
 %doc ChangeLog FAQ INSTALL README UPGRADE
-%doc misc/upgrade docs/* rpc/xmlrpc_client.php setup/schema.sql 
+%doc misc/upgrade docs/* rpc/xmlrpc_client.php setup/schema.sql
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
-%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
-%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/private_key.php
-%attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/setup.php
+%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
+%attr(640,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/private_key.php
+%attr(660,root,eventum) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/setup.php
+%attr(640,root,eventum) %config %verify(not mtime) %{_sysconfdir}/core.php
+
+%dir %attr(731,root,eventum) /var/log/%{name}
+%attr(620,root,eventum) %ghost /var/log/%{name}/*
+
+%dir %{_appdir}/htdocs
+%{_appdir}/htdocs/*.php
+%{_appdir}/htdocs/css
+%{_appdir}/htdocs/customer
+%{_appdir}/htdocs/images
+%{_appdir}/htdocs/js
+%{_appdir}/htdocs/manage
+%{_appdir}/htdocs/reports
+%{_appdir}/htdocs/rpc
+%{_appdir}/htdocs/misc
 
-%dir %{_appdir}
-%dir %{_appdir}/misc
-
-%dir %attr(731,root,http) /var/log/%{name}
-%attr(620,root,http) %ghost /var/log/%{name}/*
-
-%{_appdir}/*.php
-%{_appdir}/css
-%{_appdir}/customer
-%{_appdir}/images
-%{_appdir}/js
-%{_appdir}/manage
-%{_appdir}/reports
-%{_appdir}/rpc
 %{_appdir}/templates
 
-%if %{with pear}
 %{_smartyplugindir}/*
-%else
+%if %{without pear}
 %{_appdir}/include/pear
-%{_appdir}/include/Smarty
 %endif
 
 %dir %{_appdir}/include
 %{_appdir}/include/customer
 %{_appdir}/include/jpgraph
 %{_appdir}/include/workflow
-%{_appdir}/include/*.php
+%{_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
+%{_appdir}/include/jsrsServer.inc.php
 
-%dir %attr(730,root,http) /var/run/%{name}
-%dir %attr(730,root,http) /var/cache/%{name}
-
-%{_appdir}/misc/blank.html
+%dir %attr(730,root,eventum) /var/run/%{name}
+%dir %attr(730,root,eventum) /var/cache/%{name}
 
 %files base
 %defattr(644,root,root,755)
 %attr(751,root,root) %dir %{_sysconfdir}
 %dir %{_libdir}
+%dir %{_appdir}
 
 %files setup
 %defattr(644,root,root,755)
-%{_appdir}/setup
+%{_appdir}/htdocs/setup
 
 %files mail-queue
 %defattr(644,root,root,755)
-%{_appdir}/misc/process_mail_queue.php
+%{_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}/misc/download_emails.php
+%{_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}/misc/check_reminders.php
+%{_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}/misc/monitor.php
+%{_appdir}/include/class.monitor.php
+%{_appdir}/monitor.php
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor
 
 %files route-emails
 %defattr(644,root,root,755)
-%{_appdir}/misc/route_emails.php
+%{_appdir}/route_emails.php
 
 %files route-notes
 %defattr(644,root,root,755)
-%{_appdir}/misc/route_drafts.php
-%{_appdir}/misc/route_notes.php
+%{_appdir}/route_drafts.php
+%{_appdir}/route_notes.php
 
 %files irc
 %defattr(644,root,root,755)
-%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/irc.php
-%{_appdir}/misc/irc
+%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) /etc/sysconfig/eventum-irc
+%{_appdir}/irc
 %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(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cli.php
+%attr(644,root,root) %config %verify(not md5 mtime size) %{_sysconfdir}/cli.php
 %attr(755,root,root) %{_bindir}/%{name}
-%dir %{_appdir}/misc/cli
-%{_appdir}/misc/cli/include
+%{_appdir}/cli
 
 %files scm
 %defattr(644,root,root,755)
This page took 0.048522 seconds and 4 git commands to generate.