X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=eventum.spec;h=18401720f223e1cc3d17c9f158fbbd22ddf060b0;hb=48ec718dcb463d162c32cf84649385dadda59dd6;hp=59c121adef770dcad33f40da1d29fdb5d378814f;hpb=899100ff46062633ab93050c4e902fa48111b3d9;p=packages%2Feventum.git diff --git a/eventum.spec b/eventum.spec index 59c121a..1840172 100644 --- a/eventum.spec +++ b/eventum.spec @@ -1,29 +1,22 @@ -# TODO -# - discard bundled packages (from INSTALL): -# - JpGraph 1.5.3 (last GPL version) -# - dTree 2.0.5 (http://www.destroydrop.com/javascript/tree/) -# - dynCalendar.js (http://www.phpguru.org/dyncalendar.html) -# - overLIB 3.5.1 (http://www.bosrup.com/web/overlib/) -# - A few other small javascript libraries # # Conditional build: -%bcond_without order # with experimental order patch +%bcond_with order # with experimental order patch -%define php_min_version 5.1.2 -%define subver 4413 -%define rel 2.1 +%define rel 1 +#define subver 207 +#define githash 0ce2ec6 +%define php_min_version 5.3.3 %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.3.1 -#Release: %{rel} -Release: %{rel}.bzr%{subver} -License: GPL +Version: 3.0.2 +Release: %{?subver:1.%{subver}.%{?githash:g%{githash}.}}%{rel} +License: GPL v2 Group: Applications/WWW -#Source0: http://launchpad.net/eventum/trunk/%{version}/+download/%{name}-%{version}.tar.gz -Source0: %{name}-%{version}-dev-r%{subver}.tar.gz -# Source0-md5: d5b7d65199ebf8b1432f3429532efd07 +Source0: https://github.com/eventum/eventum/releases/download/v%{version}/%{name}-%{version}.tar.gz +# Source0-md5: c6a5236ddfb1ae47cb09b08babbc37df +#Source0: %{name}-%{version}-%{subver}-g%{githash}.tar.gz Source1: %{name}-apache.conf Source2: %{name}-mail-queue.cron Source3: %{name}-mail-download.cron @@ -33,14 +26,17 @@ Source6: %{name}-cvs.php Source7: %{name}-irc.php Source8: %{name}-irc.init Source9: %{name}-irc.sysconfig +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 -Patch0: %{name}-lf.patch +Source17: %{name}.tmpfiles +#Patch0: %{name}-lf.patch Patch2: %{name}-order.patch -Patch3: group-users.patch +#Patch3: group-users.patch +#Patch4: https://github.com/glensc/eventum/compare/cf_escape.patch # packaging patches that probably never go upstream Patch100: %{name}-paths.patch Patch101: %{name}-cvs-config.patch @@ -49,23 +45,26 @@ Patch107: %{name}-gettext.patch # some tests Patch200: %{name}-fixed-nav.patch URL: http://eventum.mysql.org/ +BuildRequires: /usr/bin/php BuildRequires: gettext-devel +BuildRequires: php(core) >= %{php_min_version} BuildRequires: rpm-php-pearprov >= 4.0.2-98 -BuildRequires: rpmbuild(macros) >= 1.461 +BuildRequires: rpmbuild(macros) >= 1.654 BuildRequires: sed >= 4.0 Requires: %{name}-base = %{version}-%{release} -Requires: Smarty >= 2.6.10-4 -Requires: php-common >= 4:%{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: fonts-TTF-RedHat-liberation +Requires: php(core) >= %{php_min_version} +Requires: php(filter) +Requires: php(iconv) +Requires: php(imap) +Requires: php(json) +Requires: php(mbstring) +Requires: php(mysqli) +Requires: php(pcre) +Requires: php(session) +Requires: php-Smarty >= 3.1 +Requires: php-Smarty-plugin-gettext Requires: php-pear-DB -Requires: php-pear-Date Requires: php-pear-Mail Requires: php-pear-Mail_Mime Requires: php-pear-Mail_mimeDecode @@ -78,24 +77,24 @@ 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: phplot >= 5.8.0 Requires: webapps Requires: webserver(access) Requires: webserver(alias) Requires: webserver(indexfile) Requires: webserver(php) >= 4.2.0 Suggests: localedb -Conflicts: logrotate < 3.7-4 +Suggests: php-pear-Net_LDAP2 +Conflicts: logrotate < 3.8.0 BuildArch: noarch BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define _noautopear pear(../init.php) pear(init.php) pear(/etc/webapps/.*) pear(%{_appdir}/.*) pear(jpgraph_dir.php) pear(.*Smarty.class.php) pear(Services/JSON.php) pear(class.date_helper.php) +%define _noautoreq_pear ../init.php ../../init.php init.php /usr/share/eventum/init.php /etc/webapps/.* %{_appdir}/.* .*Smarty.class.php Services/JSON.php class.date_helper.php sphinxapi.php Net/LDAP2.* Auth/SASL.* Util.php smarty_internal.* # exclude optional php dependencies %define _noautophp php-gnupg php-hash php-pecl-http php-tk -%define _noautoreq %{_noautophp} %{_noautopear} +%define _noautoreq %{_noautophp} %define _libdir %{_prefix}/lib/%{name} %define _appdir %{_datadir}/%{name} @@ -394,8 +393,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-cli -Requires: php-common >= 4:%{php_min_version} +Requires: php(core) >= %{php_min_version} +Requires: php(phar) Requires: php-pear-XML_RPC %description cli @@ -410,10 +409,14 @@ funkcji interfejsu WWW prosto z linii poleceń powłoki. Summary: Eventum SCM integration Summary(pl.UTF-8): Integracja SCM dla Eventum Group: Applications/WWW -Requires: %{name}-base = %{version}-%{release} -Requires: php-cli -Requires: php-common >= 4:%{php_min_version} -Requires: php-pcre +Requires: php(core) >= %{php_min_version} +Requires: php(json) +Requires: php(pcre) +Requires: php(spl) +Suggests: cvs +Suggests: git-core +Suggests: php(openssl) +Suggests: subversion %description scm This feature allows your software development teams to integrate your @@ -436,26 +439,53 @@ prawie każdym systemem SCM, jak np. CVS. Szczegóły na temat instalacji można przeczytać pod . +%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 +%setup -q -n %{name}-%{version}%{?githash:-%{subver}-g%{githash}} + +mv docs/examples . # GPL v2 rm docs/COPYING -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 +#%patch0 -p1 %{?with_order:%patch2 -p1} -%patch3 -p0 +#%patch3 -p0 +#%patch4 -p1 -cp -p %{SOURCE16} htdocs/images +%{?with_order:cp -p %{SOURCE16} htdocs/images} #%patch200 -p1 +# produce default sphinx config +# must be run before paths.patch +%if 0 +cat <<'EOF' > config/config.php + config/sphinx.conf +rm -f config/config.php +%endif + # packaging %patch100 -p1 %patch101 -p1 @@ -475,29 +505,41 @@ find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v %install rm -rf $RPM_BUILD_ROOT install -d \ - $RPM_BUILD_ROOT{%{_webappdir},%{_sysconfdir},%{_bindir},%{_sbindir},%{_libdir}} \ + $RPM_BUILD_ROOT{%{_webappdir}/{custom_field,templates,workflow},%{_sysconfdir},%{_bindir},%{_sbindir},%{_libdir}} \ $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} -%{__make} install-eventum install-cli install-irc install-scm install-jpgraph install-localization \ +%{__make} install-eventum install-cli install-irc install-scm install-localization \ sysconfdir=%{_webappdir} \ + localedir=%{_localedir} \ DESTDIR=$RPM_BUILD_ROOT +# unsupported locale +%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ht + +install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} +cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} + %{?with_order:cp -a htdocs/ajax $RPM_BUILD_ROOT%{_appdir}/htdocs} 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 + +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} 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 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_webappdir}/irc_config.php @@ -509,20 +551,12 @@ cp -p %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/%{name} # postfix router install -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/router-postfix -%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/locale/ht +cp -p %{SOURCE17} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf %find_lang %{name} # scm -install -p %{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 +cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/scm.php %clean rm -rf $RPM_BUILD_ROOT @@ -538,7 +572,8 @@ for a in cli.log errors.log irc_bot.log login_attempts.log; do fi done -# database update +# run database update if configured +test -s %{_webappdir}/config.php && \ %{_appdir}/upgrade/update-database.php || : # nuke Smarty templates cache after upgrade @@ -569,7 +604,7 @@ chmod 660 %{_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:http %{_webappdir}/{config,private_key}.php fi @@ -602,31 +637,24 @@ fi %triggerun -- lighttpd %webapp_unregister lighttpd %{_webapp} -%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 +%triggerpostun -- %{name} < 3.0.0-0.2 +for f in /etc/cron.d/eventum-*; do + # crontabs moved to bin %{__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 + s,/usr/share/eventum/crons/process_mail_queue.php,%{_appdir}/bin/process_mail_queue.php, + s,/usr/share/eventum/crons/download_emails.php,%{_appdir}/bin/download_emails.php, + s,/usr/share/eventum/crons/check_reminders.php,%{_appdir}/bin/check_reminders.php, + s,/usr/share/eventum/crons/monitor.php,%{_appdir}/bin/monitor.php, + ' $f done %files -f %{name}.lang %defattr(644,root,root,755) -%doc docs/* htdocs/setup/schema.sql +%doc docs/* %attr(751,root,root) %dir %{_webappdir} +%attr(751,root,root) %dir %{_webappdir}/custom_field +%attr(751,root,root) %dir %{_webappdir}/templates +%attr(751,root,root) %dir %{_webappdir}/workflow %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 @@ -634,43 +662,48 @@ done %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 -%{_webappdir}/sphinx.conf.php %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 +%dir %{_appdir}/bin +%attr(755,root,root) %{_appdir}/bin/process_all_emails.php + +%{_appdir}/autoload.php %{_appdir}/init.php %dir %{_appdir}/htdocs %{_appdir}/htdocs/*.php %{_appdir}/htdocs/*.ico +%{_appdir}/htdocs/ajax %{_appdir}/htdocs/css %{_appdir}/htdocs/customer %{_appdir}/htdocs/images %{_appdir}/htdocs/js %{_appdir}/htdocs/manage +%{_appdir}/htdocs/misc %{_appdir}/htdocs/reports %{_appdir}/htdocs/rpc -%{_appdir}/htdocs/misc -%if %{with order} -%{_appdir}/htdocs/ajax -%endif +%{_appdir}/htdocs/components %{_appdir}/templates %dir %{_appdir}/upgrade -%{_appdir}/upgrade/init.php +%{_appdir}/upgrade/flush_compiled_templates.php +%{_appdir}/upgrade/*.sql %attr(755,root,root) %{_appdir}/upgrade/update-database.php -%dir %{_appdir}/upgrade/v* -%attr(755,root,root) %{_appdir}/upgrade/v*/*.php +%attr(755,root,root) %{_appdir}/upgrade/ldap_import.php +%attr(755,root,root) %{_appdir}/upgrade/ldap_update_users.php +%attr(755,root,root) %{_appdir}/upgrade/scm_trac_import.php %{_appdir}/upgrade/patches %dir %{_appdir}/lib %{_appdir}/lib/eventum -%{_appdir}/lib/jpgraph %exclude %{_appdir}/lib/eventum/class.monitor.php +%{_examplesdir}/%{name}-%{version} + +%{systemdtmpfilesdir}/%{name}.conf %dir %attr(730,root,http) /var/run/%{name} %dir %attr(730,root,http) /var/cache/%{name} @@ -691,36 +724,36 @@ done %files mail-queue %defattr(644,root,root,755) -%attr(755,root,root) %{_appdir}/crons/process_mail_queue.php +%attr(755,root,root) %{_appdir}/bin/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}/crons/download_emails.php +%attr(755,root,root) %{_appdir}/bin/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}/crons/check_reminders.php +%attr(755,root,root) %{_appdir}/bin/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}/lib/eventum/class.monitor.php -%attr(755,root,root) %{_appdir}/crons/monitor.php +%attr(755,root,root) %{_appdir}/bin/monitor.php %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}-monitor %files route-drafts %defattr(644,root,root,755) -%attr(755,root,root) %{_appdir}/route_drafts.php +%attr(755,root,root) %{_appdir}/bin/route_drafts.php %files route-emails %defattr(644,root,root,755) -%attr(755,root,root) %{_appdir}/route_emails.php +%attr(755,root,root) %{_appdir}/bin/route_emails.php %files route-notes %defattr(644,root,root,755) -%attr(755,root,root) %{_appdir}/route_notes.php +%attr(755,root,root) %{_appdir}/bin/route_notes.php %files router-postfix %defattr(644,root,root,755) @@ -737,12 +770,18 @@ done %defattr(644,root,root,755) %doc cli/eventumrc %attr(755,root,root) %{_bindir}/%{name} -%{_appdir}/cli %files scm %defattr(644,root,root,755) +%attr(751,root,root) %dir %{_sysconfdir} %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 %attr(755,root,root) %{_sbindir}/eventum-cvs-hook +%attr(755,root,root) %{_sbindir}/eventum-git-hook %attr(755,root,root) %{_sbindir}/eventum-svn-hook +%attr(755,root,root) %{_sbindir}/helpers.php + +%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