]> git.pld-linux.org Git - packages/eventum.git/blobdiff - eventum.spec
- avoid defining default %attr
[packages/eventum.git] / eventum.spec
index 34d4144028744607e668558974d072a16806136e..a957b921fa0a77e98e075e464eace43a81683e3c 100644 (file)
@@ -8,25 +8,23 @@
 # - 64bit platforms beware? http://bugs.php.net/bug.php?id=30215 (it's actually Smarty related problem)
 #
 # Conditional build:
-%bcond_without pear    # build with system PEAR packages (or use bundled ones)
 %bcond_with    qmail   # build the router-qmail subpackage
-#
-# snapshot: DATE
-%define        _snap 20060318
+%bcond_with    order_patch     # with custom issue order patch
 
-%define        _rel    0.2
+%define        _snap   20060724
+#define        _rc             RC3
+%define        _rel    2.72
 
-%{?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
 Name:          eventum
-Version:       1.7.0
-Release:       %{?_snap:4.%{_snap}.}%{?_rc:%{_rc}.}%{_rel}
+Version:       1.7.1
+Release:       %{?_rc:%{_rc}.}%{_rel}%{?_snap:.%{_snap}}
 License:       GPL
 Group:         Applications/WWW
-#Source0:      http://mysql.dataphone.se/Downloads/%{name}/%{name}-%{version}.tar.gz
 Source0:       http://downloads.mysql.com/snapshots/eventum/%{name}-nightly-%{_snap}.tar.gz
-# Source0-md5: a9d1c01ee5ad396729e75262bdae558c
+# Source0-md5: fb5e53aa24cff295490ba8f5a058a826
 Source1:       %{name}-apache.conf
 Source2:       %{name}-mail-queue.cron
 Source3:       %{name}-mail-download.cron
@@ -41,43 +39,63 @@ Source11:   %{name}-router-qmail.sh
 Source12:      %{name}-config-setup.php
 Source13:      %{name}-upgrade.sh
 Source14:      %{name}-router-postfix.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:       %{name}-link_filter-updates.patch
-Patch14:       %{name}-irc-mem.patch
-Patch16:       %{name}-recent_activity-usability.patch
-Patch17:       http://glen.alkohol.ee/pld/%{name}-upload-error-keep-popup.patch
-Patch18:       http://glen.alkohol.ee/pld/%{name}-scm-parse-response.patch
-Patch19:       %{name}-double-decode.patch
-Patch20:       http://glen.alkohol.ee/pld/%{name}-keep-submitbutton.patch
-Patch21:       http://glen.alkohol.ee/pld/%{name}-tt-unhide.patch
-Patch22:       %{name}-route-mem.patch
-Patch23:       http://glen.alkohol.ee/pld/%{name}-msgid-case.patch
-Patch24:       http://glen.alkohol.ee/pld/%{name}-route-and-download.patch
-Patch25:       %{name}-scm-pluscharisbad.patch
+Source15:      %{name}.logrotate
+Source16:      %{name}-lighttpd.conf
+Source17:      http://eventum.mysql.org/patches/process_svn_commits_new.phps
+# Source17-md5:        48a1bc003907101e4052e5232047e6b2
+Patch0:                %{name}-lf.patch
+Patch1:                %{name}-perms.patch
+Patch2:                %{name}-cli-wr-separated.patch
+Patch3:                %{name}-scm-parse-response.patch
+Patch4:                %{name}-double-decode.patch
+Patch5:                %{name}-route-mem.patch
+Patch6:                %{name}-scm-pluscharisbad.patch
+Patch7:                %{name}-scm-updates.patch
+Patch8:                %{name}-close-signature.patch
+Patch9:                %{name}-list-sorting.patch
+Patch10:       %{name}-workflow-handlenewnote-note_id.patch
+Patch11:       %{name}-order4b.patch
+Patch12:       %{name}-cli-errorcheck.patch
+Patch13:       %{name}-combined.patch
+Patch14:       %{name}-xml-inline.patch
+Patch15:       %{name}-timetracking-advanced-logic.patch
+Patch16:       %{name}-timedisplay.patch
+Patch17:       %{name}-bug-17267.patch
+Patch18:       %{name}-compact-issue-display.patch
+Patch19:       %{name}-fixed-nav.patch
+Patch20:       %{name}-scm-ssl.patch
+Patch21:       %{name}-scm-quick-out.patch
+Patch22:       %{name}-mem-limits.patch
+Patch23:       %{name}-backtraces.patch
+Patch24:       %{name}-errorhandler.patch
+Patch25:       http://glen.alkohol.ee/pld/eventum/upgrade-2.0.patch
+Patch26:       %{name}-tpl-fixes.patch
+Patch27:       %{name}-xss.patch
+Patch28:       %{name}-tpl-fixes2.patch
+Patch29:       %{name}-svn.patch
+# packaging patches that probably never go upstream
+Patch100:      %{name}-paths.patch
+Patch101:      %{name}-cvs-config.patch
+Patch102:      %{name}-irc-mem.patch
+Patch103:      %{name}-irc-config.patch
+Patch104:      %{name}-PEAR.patch
+Patch105:      %{name}-httpclient-clientside.patch
+Patch106:      %{name}-bot-reconnect.patch
+Patch107:      %{name}-private-key.patch
 URL:           http://dev.mysql.com/downloads/other/eventum/
-%{?with_pear:BuildRequires:    rpm-php-pearprov >= 4.0.2-98}
+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.10-4
+Requires:      apache(mod_dir)
 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:      php-pear-DB
 Requires:      php-pear-Date
@@ -93,12 +111,11 @@ Requires:  php-pear-Net_UserAgent_Detect
 Requires:      php-pear-PEAR-core
 Requires:      php-pear-Text_Diff
 Requires:      php-pear-XML_RPC
-%endif
-Requires(triggerpostun):       /usr/bin/php
-Requires(triggerpostun):       sed >= 4.0
-Requires:      apache(mod_dir)
+Requires:      php-session
+Requires:      smarty-gettext
 Requires:      webapps
-Requires:      webserver = apache
+Requires:      webserver(access)
+Requires:      webserver(alias)
 BuildArch:     noarch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -386,6 +403,7 @@ Opis konfiguracji Postfiksa mo
 Summary:       Eventum IRC Notification Bot
 Summary(pl):   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-pear-Net_SmartIRC
@@ -423,9 +441,7 @@ 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
@@ -467,25 +483,26 @@ Szczeg
 
 %prep
 %setup -q %{?_snap:-n %{name}-%{_snap}}
+cp %{SOURCE17} misc/scm/process_svn_commits.php
 # undos the source
 find . -type f -print0 | xargs -0 sed -i -e 's,\r$,,'
 
+%patch25 -p1
+
 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 -rf misc/upgrade/*/upgrade_config.php # not needed in PLD Linux
+rm -rf misc/upgrade/*/index.html # not needed in PLD Linux
 
 # sample, not used in eventum
 rm -f 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
@@ -493,30 +510,67 @@ rm -f rpc/xmlrpc_client.php
 %patch8 -p1
 %patch9 -p1
 %patch10 -p1
+%{?with_order_patch:%patch11 -p1}
 %patch12 -p1
 %patch13 -p1
+%patch14 -p1
+%patch15 -p1
 %patch16 -p1
 %patch17 -p1
 %patch18 -p1
-%patch19 -p1
+#%patch19 -p1
 %patch20 -p1
 %patch21 -p1
 %patch22 -p1
 %patch23 -p1
 %patch24 -p1
-%patch25 -p1
+%patch26 -p1
+%patch27 -p1
+%patch28 -p1
+%patch29 -p1
+
+# 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
+
+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,}
+
+# 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/it/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
 
 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/scm/process_cvs_commits.php > process_cvs_commits
+sed -e '1i#!%{_bindir}/php' misc/scm/process_svn_commits.php > process_svn_commits
 sed -e '1i#!%{_bindir}/php' misc/irc/bot.php > %{name}-bot
 mv misc/cli/eventumrc_example eventumrc
 sed -i -e '1i#!%{_bindir}/php' misc/*.php
 chmod +x misc/*.php
-
-sed -e '
-s,$private_key\s*=\s*".*";,$private_key = "DEFAULTPRIVATEKEYPLEASERUNSETUP!";,
-' < include/private_key.php > private_key.php.in
-rm -f include/private_key.php
+mv include/private_key.php private_key.php.in
 
 # replace in remaining scripts config.inc.php to system one
 grep -rl 'include_once(".*config.inc.php")' . | xargs sed -i -e '
@@ -530,12 +584,19 @@ grep -rl 'APP_INC_PATH..*"private_key.php"' . | xargs sed -i -e '
 # 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} \
 
@@ -543,7 +604,7 @@ cp -a *.php css customer images js manage reports rpc setup $RPM_BUILD_ROOT%{_ap
 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,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}
@@ -560,14 +621,18 @@ install %{name}-cli $RPM_BUILD_ROOT%{_bindir}/%{name}
 install %{name}-bot $RPM_BUILD_ROOT%{_sbindir}
 
 # scm
-install %{name}-scm $RPM_BUILD_ROOT%{_libdir}/scm
-install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/cvs.php
+install process_cvs_commits $RPM_BUILD_ROOT%{_libdir}/process_cvs_commits
+install process_svn_commits $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
+touch $RPM_BUILD_ROOT%{_webappdir}/htpasswd
 
 install %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
 install %{SOURCE1} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
+install %{SOURCE16} $RPM_BUILD_ROOT%{_webappdir}/lighttpd.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
@@ -577,8 +642,8 @@ 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_VERSION}%%,%{version}%{?_snap:-%{_snap}}%{?_rc:-%{_rc}},
+s,%%{PHP_PEAR_DIR}%%,%{php_pear_dir},
 s,%%{APP_PATH}%%,%{_appdir},
 s,%%{SMARTY_DIR}%%,%{_smartydir},
 s,%%{SYSCONFDIR}%%,%{_webappdir},
@@ -588,13 +653,6 @@ s,%%{SYSCONFDIR}%%,%{_webappdir},
 > $RPM_BUILD_ROOT%{_webappdir}/setup.php
 mv $RPM_BUILD_ROOT{%{_appdir}/htdocs/config.inc,%{_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 \
@@ -615,6 +673,17 @@ install %{SOURCE11} $RPM_BUILD_ROOT%{_libdir}/router-qmail
 # postfix router
 install %{SOURCE14} $RPM_BUILD_ROOT%{_libdir}/router-postfix
 
+install -D %{SOURCE15} $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
 
@@ -734,18 +803,30 @@ fi
 /sbin/chkconfig --add eventum-irc
 %service eventum-irc restart "Eventum IRC Bot"
 
+%preun irc
+if [ "$1" = 0 ]; then
+       %service eventum-irc stop
+       /sbin/chkconfig --del eventum-irc
+fi
+
 %triggerin -- apache1
 %webapp_register apache %{_webapp}
 
 %triggerun -- apache1
 %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.
@@ -782,6 +863,11 @@ EOF
 database_changes.php Perform database changes
 EOF
 
+%triggerpostun -- eventum < 1.7.1-2.48.20060717
+%{_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,
@@ -842,20 +928,31 @@ if [ -f %{_webappdir}/irc.php.rpmsave ]; then
        mv -f %{_webappdir}/irc.php.rpmsave %{_sysconfdir}/irc.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
 %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,http) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/htpasswd
 %attr(640,root,eventum) %config %verify(not mtime) %{_webappdir}/core.php
 
 %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
@@ -868,16 +965,11 @@ fi
 %{_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
@@ -964,11 +1056,14 @@ fi
 %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
This page took 0.078155 seconds and 4 git commands to generate.