X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;ds=sidebyside;f=eventum.spec;h=fe3bab1ce85a44725b18ede4e90c0ec8273d04d9;hb=b33d41f0952ce50a2d9967d83a1734ae94446ff8;hp=084de90e3307ff2ccaf5ff200d098c2660c6a953;hpb=1d4a50f126fb62334c84365c267e7fc1a0304e07;p=packages%2Feventum.git diff --git a/eventum.spec b/eventum.spec index 084de90..fe3bab1 100644 --- a/eventum.spec +++ b/eventum.spec @@ -7,24 +7,27 @@ # - A few other small javascript libraries # # Conditional build: -%bcond_with qmail # build the router-qmail subpackage +%bcond_without order # with experimental order patch -#define _snap 20060921 -%define _svn r3291 +#define snap 20060921 +%define rev r3890 +%define rel 2.28 #define _rc RC3 -%define _rel 0.234 %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.0 -Release: %{?_rc:%{_rc}.}%{_rel}%{?_snap:.%{_snap}}%{?_svn:.%{_svn}} +Version: 2.2 +Release: %{?_rc:%{_rc}.}%{rel}%{?snap:.%{snap}}%{?rev:.%{rev}} License: GPL Group: Applications/WWW -#Source0: http://downloads.mysql.com/snapshots/eventum/%{name}-nightly-%{_snap}.tar.gz -Source0: %{name}-%{_svn}.tar.bz2 -# Source0-md5: 8cbb2677b347a6c9552182739747dccf +#Source0: http://downloads.mysql.com/snapshots/eventum/%{name}-nightly-%{snap}.tar.gz +#Source0: http://eventum.mysql.org/downloads/eventum-2.0.RC3.tar.gz +#Source0: http://mysql.easynet.be/Downloads/eventum/%{name}-%{version}.tar.gz +# bzr branch lp:eventum eventum && tar -cjf eventum.tar.bz2 --exclude=.bzr --exclude=.bzrignore eventum +Source0: eventum-%{version}-dev-%{rev}.tar.gz +# Source0-md5: 2c1a0fb3a6d7ee885184376d4db49264 Source1: %{name}-apache.conf Source2: %{name}-mail-queue.cron Source3: %{name}-mail-download.cron @@ -34,54 +37,42 @@ 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 Source13: %{name}-router-postfix.sh Source14: %{name}.logrotate Source15: %{name}-lighttpd.conf +Source16: http://www.isocra.com/images/updown2.gif +# Source16-md5: deb6eeb2552ba757d3a949ed10c4107d Patch0: %{name}-lf.patch -Patch1: %{name}-timetracking-advanced-logic.patch -Patch2: %{name}-email-notify-display.patch -Patch3: %{name}-backtraces.patch -Patch4: %{name}-errorhandler.patch -Patch5: %{name}-utf_on_charts.patch -Patch6: %{name}-propagate-error.patch -Patch7: %{name}-associated_issue_text.patch -Patch8: %{name}-mail-aliases.patch -Patch9: %{name}-att_error_rollback.patch -Patch10: %{name}-bounce-notes.patch +Patch2: %{name}-order.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/ +URL: http://eventum.mysql.org/ BuildRequires: gettext-devel BuildRequires: rpm-php-pearprov >= 4.0.2-98 -BuildRequires: rpmbuild(macros) >= 1.268 +BuildRequires: rpmbuild(macros) >= 1.461 BuildRequires: sed >= 4.0 Requires(triggerpostun): /usr/bin/php Requires(triggerpostun): sed >= 4.0 Requires: %{name}-base = %{version}-%{release} Requires: Smarty >= 2.6.10-4 -Requires: apache(mod_dir) -Requires: php(gd) -Requires: php(imap) -Requires: php(mbstring) -Requires: php(mysql) -Requires: php(pcre) -Requires: php(session) +Requires: php-common >= 4:5.0 +Requires: php-gd +Requires: php-iconv +Requires: php-imap +Requires: php-mbstring +Requires: php-mysql +Requires: php-pcre Requires: php-pear-DB Requires: php-pear-Date Requires: php-pear-HTTP_Request Requires: php-pear-Mail Requires: php-pear-Mail_Mime +Requires: php-pear-Mail_mimeDecode Requires: php-pear-Math_Stats Requires: php-pear-Net_DIME Requires: php-pear-Net_SMTP @@ -95,16 +86,17 @@ 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 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)' 'pear(/etc/webapps/.*)' 'pear(%{_appdir}/.*)' 'pear(jpgraph_dir.php)' 'pear(.*Smarty.class.php)' %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} @@ -273,7 +265,7 @@ 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 Postfix to deliver emails sent to a specific address (usually draft-@) to the above script, users are able to send drafts written in their mail client to be stored in Eventum. These @@ -281,7 +273,7 @@ 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 +problemem w Eventum. Ustawiając Postfiksa, aby dostarczał pocztę wysłaną na podany adres (zwykle draft-@) do tego skryptu umożliwia się użytkownikom wysyłanie szkiców napisanych w ich kliencie pocztowym do zapisania w @@ -296,7 +288,7 @@ 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) +of emails into an Eventum issue. By setting up Postfix to deliver emails sent to a specific address (usually issue-@) to the above script, users are able to use their email clients to reply to emails coming from Eventum, and those @@ -305,8 +297,8 @@ 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-@) 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 @@ -321,7 +313,7 @@ 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) +of notes into an Eventum issue. By setting up Postfix to deliver emails sent to a specific address (usually note-@) to the above script, users are able to use their email clients to reply to internal notes coming from Eventum, @@ -330,32 +322,13 @@ 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-@) 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 @@ -420,7 +393,7 @@ 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-common >= 4:5.0 Requires: php-pear-XML_RPC %description cli @@ -436,9 +409,9 @@ Summary: Eventum SCM integration 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-common >= 4:5.0 +Requires: php-pcre %description scm This feature allows your software development teams to integrate your @@ -462,44 +435,25 @@ Szczegóły na temat instalacji można przeczytać pod . %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$,,' - -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 rpc/xmlrpc_client.php - -# bug fixes. -%patch4 -p0 -%patch7 -p0 -%patch8 -p0 -%patch9 -p1 +%setup -q + +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 -%patch10 -p0 +%{?with_order:%patch2 -p1} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch5 -p1 -%patch6 -p1 +cp -a %{SOURCE16} images #%patch200 -p1 # packaging %patch100 -p1 %patch101 -p1 -%patch102 -p1 -%patch103 -p1 -%patch104 -p1 %patch105 -p1 -%patch106 -p1 %patch107 -p1 cat <<'EOF'> mysql-permissions.sql @@ -508,39 +462,15 @@ cat <<'EOF'> mysql-permissions.sql 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 - -# 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/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 - -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 @@ -552,89 +482,45 @@ install -d \ $RPM_BUILD_ROOT/var/lib/%{name}/routed_{emails,drafts,notes} \ $RPM_BUILD_ROOT%{_appdir}/{include,htdocs/misc,upgrade} \ -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 +%{?with_order:cp -a htdocs/ajax $RPM_BUILD_ROOT%{_appdir}/htdocs} -# private key -echo ' $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 -> $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 - %find_lang %{name} +# scm +install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/scm.php + +# 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 + +# skip pear for cli +rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/cli +cp -a cli/lib/eventum $RPM_BUILD_ROOT%{_datadir}/%{name}/cli + %clean rm -rf $RPM_BUILD_ROOT @@ -697,6 +583,16 @@ so that %{name}-setup is able to secure your Eventum installation. EOF fi +# 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 -m620 -oroot -geventum /dev/null /var/log/%{name}/$a + fi +done + +# database update +%{_appdir}/upgrade/update-database.php || : + # nuke Smarty templates cache after upgrade rm -f /var/cache/eventum/*.php @@ -716,30 +612,6 @@ 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 <