X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=eventum.spec;h=4aa48b2c01d17d6198a0e8529ee38fc2cdc6041e;hb=e570944fdbe637ae1d3410c1d403e853686a1689;hp=a3b1e62ea73573bf5c6224f27c504ec0dec1efde;hpb=0a9026128ce5aa2616cb382e2ea733c2033d0c57;p=packages%2Feventum.git diff --git a/eventum.spec b/eventum.spec index a3b1e62..4aa48b2 100644 --- a/eventum.spec +++ b/eventum.spec @@ -7,26 +7,28 @@ # - 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 r3576 -%define rel 2.6 +%define rev r4022 +%define rel 2.54 #define _rc RC3 +%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.1 -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: http://eventum.mysql.org/downloads/eventum-2.0.RC3.tar.gz -#Source0: http://mysql.tonnikala.org/Downloads/eventum/%{name}-%{version}.tar.gz -Source0: %{name}-%{svn}.tar.bz2 -# Source0-md5: 5881deb20233ed663e51a5da510912df +#Source0: http://mysql.easynet.be/Downloads/eventum/%{name}-%{version}.tar.gz +# bzr branch lp:eventum eventum && cd eventum && make dist +Source0: %{name}-%{version}-dev-%{rev}.tar.gz +# Source0-md5: 660e9e1e8cd45e848fc84f7d02361fb8 Source1: %{name}-apache.conf Source2: %{name}-mail-queue.cron Source3: %{name}-mail-download.cron @@ -36,41 +38,36 @@ 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}-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 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://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: php(gd) -Requires: php(imap) -Requires: php(mbstring) -Requires: php(mysql) -Requires: php(pcre) -Requires: php(session) +Requires: php-common >= 4:%{php_min_version} +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 @@ -83,22 +80,31 @@ Requires: php-pear-Net_UserAgent_Detect Requires: php-pear-PEAR-core Requires: php-pear-Text_Diff Requires: php-pear-XML_RPC +Requires: php-session Requires: smarty-gettext Requires: webapps Requires: webserver(access) Requires: webserver(alias) Requires: webserver(indexfile) Requires: webserver(php) >= 4.2.0 +Suggests: localedb 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 _noautopear 'pear(init.php)' 'pear(/etc/webapps/.*)' 'pear(%{_appdir}/.*)' 'pear(jpgraph_dir.php)' 'pear(.*Smarty.class.php)' 'pear(Services/JSON.php)' + +# exclude optional php dependencies +%define _noautophp 'php(gnupg)' 'php(hash)' 'php(pecl-http)' 'php(json)' 'php(tk)' + +# we don't want php(xxx) being resolved to php-xxx +%define _noautoreqdep '^php(.*)$' + +%define _noautoreq %{_noautophp} %{_noautopear} %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} @@ -267,19 +273,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-@) 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-@) 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-@) 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-@) 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 @@ -290,17 +296,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-@) 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-@) 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-@) 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 @@ -315,41 +321,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-@) 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-@) 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-@) 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 @@ -378,7 +365,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,7 +400,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:%{php_min_version} Requires: php-pear-XML_RPC %description cli @@ -430,9 +416,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:%{php_min_version} +Requires: php-pcre %description scm This feature allows your software development teams to integrate your @@ -456,34 +442,26 @@ 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 +%setup -q -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} + +cp -a %{SOURCE16} htdocs/images #%patch200 -p1 # packaging %patch100 -p1 %patch101 -p1 -%patch102 -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 @@ -491,22 +469,15 @@ cat <<'EOF'> mysql-permissions.sql GRANT SELECT, UPDATE, DELETE, INSERT, ALTER, DROP, CREATE, INDEX ON eventum.* TO 'eventum'@'localhost' IDENTIFIED BY 'password'; EOF -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';, s;define('CONFIG_PATH'.*');define('CONFIG_PATH', '%{_webappdir}'); -/define('INSTALL_PATH'/d -" misc/upgrade/*/*.php +" 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 -%{__make} -C misc/localization +%{__make} -C localization %install rm -rf $RPM_BUILD_ROOT @@ -518,90 +489,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/*.mo; do - d=${a%/*} - install -d $RPM_BUILD_ROOT%{_datadir}/locale/$d - cp -a $a $RPM_BUILD_ROOT%{_datadir}/locale/$d -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 @@ -664,6 +590,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 @@ -683,30 +619,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 < 6 && $6 =="eventum" {sub("eventum", "http", $6)}{print}' $a > $a.rpmtmp && cat $a.rpmtmp > $a + rm -f $a.rpmtmp done -%triggerpostun -- eventum < 1.7.1-4.132.20061119.3143 -%{_appdir}/upgrade/upgrade.sh %{_appdir}/upgrade/v1.7.1_to_v2.0 <