X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=drupal.spec;h=12cbb1a6ee1077ddf59c6934dabf80aa72a9f242;hb=601c7f38d6d178f6a45f2849808c5936d9a9fe43;hp=4584e992bb8f9c65beeec3ece5ae0f94c702fcec;hpb=5dd481fc9c17d0b3e5b102de571d22713ff0429d;p=packages%2Fdrupal.git diff --git a/drupal.spec b/drupal.spec index 4584e99..12cbb1a 100644 --- a/drupal.spec +++ b/drupal.spec @@ -1,12 +1,14 @@ +%define _ver 4.6 +%define _patchlevel 7 Summary: Open source content management platform Summary(pl): Platforma do zarz±dzania tre¶ci± o otwartych ¼ród³ach Name: drupal -Version: 4.6.3 -Release: 0.34 +Version: %{_ver}.%{_patchlevel} +Release: 3 License: GPL Group: Applications/WWW Source0: http://drupal.org/files/projects/%{name}-%{version}.tar.gz -# Source0-md5: f436973f02aa2cea15ef1ca90223082b +# Source0-md5: 8c15ded4450a1afcf0c5b6593dc74541 Source1: %{name}.conf Source2: %{name}.cron Source3: %{name}.PLD @@ -16,25 +18,34 @@ Patch2: %{name}-topdir.patch Patch3: %{name}-themedir2.patch Patch4: %{name}-emptypass.patch Patch5: %{name}-cron.patch +Patch6: %{name}-19298-cache.patch +Patch7: %{name}-update-cli.patch +Patch8: %{name}-locale-memory.patch +Patch9: %{name}-comment.patch URL: http://drupal.org/ -BuildRequires: rpmbuild(macros) >= 1.194 +BuildRequires: rpmbuild(macros) >= 1.264 BuildRequires: sed >= 4.0 -Requires: apache >= 1.3.33-3 -Requires: apache(mod_dir) +Requires: %{name}(DB_Driver) = %{version}-%{release} +Requires: %{name}(theme) = %{_ver} Requires: apache(mod_access) +Requires: apache(mod_alias) +Requires: apache(mod_dir) Requires: apache(mod_expires) Requires: apache(mod_rewrite) -Requires: apache(mod_alias) Requires: php >= 3:4.3.3 Requires: php-mysql Requires: php-pcre -Requires: %{name}(DB_Driver) = %{version}-%{release} Requires: php-xml +Requires: webapps +Requires: webserver = apache +Obsoletes: drupal-update BuildArch: noarch BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _appdir %{_datadir}/%{name} -%define _sysconfdir /etc/%{name} +%define _webapps /etc/webapps +%define _webapp %{name} +%define _sysconfdir %{_webapps}/%{_webapp} %description Drupal is software that allows an individual or a community of users @@ -87,9 +98,9 @@ Summary: Drupal cron Summary(pl): Us³uga cron dla Drupala Group: Applications/WWW Requires: %{name} = %{version}-%{release} +Requires: /usr/bin/php Requires: crondaemon Requires: php-cli >= 3:4.3.3 -Requires: /usr/bin/php %description cron This package contains script which invokes cron hooks for Drupal. @@ -108,8 +119,7 @@ Provides: %{name}(DB_Driver) = %{version}-%{release} This virtual package provides MySQL database backend for Drupal. %description db-mysql -l pl -Ten wirtualny pakiet dostarcza backend bazy danych MySQL dla -Drupala. +Ten wirtualny pakiet dostarcza backend bazy danych MySQL dla Drupala. %package db-pgsql Summary: Drupal DB Driver for PostgreSQL @@ -119,8 +129,7 @@ Requires: php-pgsql Provides: %{name}(DB_Driver) = %{version}-%{release} %description db-pgsql -This virtual package provides PostgreSQL database backend for -Drupal. +This virtual package provides PostgreSQL database backend for Drupal. NOTE: This driver is not tested in PLD, and not all modules have database schema for PostgreSQL. Use this driver at your own risk! @@ -133,6 +142,19 @@ UWAGA: Ten sterownik nie by maj± schematy bazy danych dla PostgreSQL-a. Mo¿na go u¿ywaæ na w³asne ryzyko. +%package themes +Summary: Themes distributed with Drupal +Summary(pl): Motywy rozprowadzane z Drupalem +Group: Applications/WWW +Requires: %{name} = %{version}-%{release} +Provides: drupal(theme) = %{_ver} + +%description themes +This package contains themes distributed with Drupal. + +%description themes -l pl +Ten pakiet zawiera motywy rozprowadzane z Drupalem. + %package xmlrpc Summary: XMLRPC server for Drupal Summary(pl): Serwer XMLRPC dla Drupala @@ -157,6 +179,10 @@ nazywane rozproszonym uwierzytelnianiem. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p0 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 find -name '*~' | xargs -r rm -v cp -p %{SOURCE3} README.PLD @@ -164,18 +190,21 @@ cp -p %{SOURCE3} README.PLD %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/cron.d,/var/{cache,lib}/%{name}} \ - $RPM_BUILD_ROOT%{_appdir}/{po,modules/po,htdocs/modules} + $RPM_BUILD_ROOT%{_appdir}/{po,database,modules/po,htdocs/modules} cp -a *.ico index.php $RPM_BUILD_ROOT%{_appdir}/htdocs cp -a misc $RPM_BUILD_ROOT%{_appdir}/htdocs cp -a xmlrpc.php $RPM_BUILD_ROOT%{_appdir}/htdocs +cp -a database/updates.inc $RPM_BUILD_ROOT%{_appdir}/database -cp -a cron.php $RPM_BUILD_ROOT%{_appdir} +cp -a cron.php update.php $RPM_BUILD_ROOT%{_appdir} cp -a modules/* $RPM_BUILD_ROOT%{_appdir}/modules cp -a includes scripts $RPM_BUILD_ROOT%{_appdir} cp -a sites $RPM_BUILD_ROOT%{_sysconfdir} ln -s /var/lib/%{name} $RPM_BUILD_ROOT%{_appdir}/files +# needed for node.module for syndication icon +ln -s htdocs/misc $RPM_BUILD_ROOT%{_appdir} # install themes cp -a themes $RPM_BUILD_ROOT%{_appdir}/htdocs @@ -193,6 +222,7 @@ s=themes/chameleon/marvin ln -s ../../htdocs/$s $RPM_BUILD_ROOT%{_appdir}/$s install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf +install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name} %clean @@ -222,44 +252,109 @@ and import initial schema from EOF fi -%triggerin -- apache1 >= 1.3.33-2 -%apache_config_install -v 1 -c %{_sysconfdir}/apache.conf +%triggerin -- apache1 +%webapp_register apache %{_webapp} -%triggerun -- apache1 >= 1.3.33-2 -%apache_config_uninstall -v 1 +%triggerun -- apache1 +%webapp_unregister apache %{_webapp} -%triggerin -- apache >= 2.0.0 -%apache_config_install -v 2 -c %{_sysconfdir}/apache.conf +%triggerin -- apache < 2.2.0, apache-base +%webapp_register httpd %{_webapp} -%triggerun -- apache >= 2.0.0 -%apache_config_uninstall -v 2 +%triggerun -- apache < 2.2.0, apache-base +%webapp_unregister httpd %{_webapp} + +%triggerpostun -- %{name} < 4.6.4-0.4 +# rescue app configs. +if [ -f /etc/drupal/sites/default/settings.php.rpmsave ]; then + mv -f %{_sysconfdir}/sites/default/settings.php{,.rpmnew} + mv -f /etc/drupal/sites/default/settings.php.rpmsave %{_sysconfdir}/sites/default/settings.php +fi +# other configured sites, if any +for i in /etc/drupal/sites/*; do + d=$(basename $i) + [ "$d" = "default" ] && continue + mv -f %{_sysconfdir}/sites/$d{,.rpmnew} + mv -f $i %{_sysconfdir}/sites/$d +done + +# migrate from apache-config macros +if [ -f /etc/drupal/apache.conf.rpmsave ]; then + if [ -d /etc/apache/webapps.d ]; then + cp -f %{_sysconfdir}/apache.conf{,.rpmnew} + cp -f /etc/drupal/apache.conf.rpmsave %{_sysconfdir}/apache.conf + fi + + if [ -d /etc/httpd/webapps.d ]; then + cp -f %{_sysconfdir}/httpd.conf{,.rpmnew} + cp -f /etc/drupal/apache.conf.rpmsave %{_sysconfdir}/httpd.conf + fi + rm -f /etc/drupal/apache.conf.rpmsave +fi + +# place new config location, as trigger puts config only on first install, do it here. +if [ -L /etc/apache/conf.d/99_%{name}.conf ]; then + rm -f /etc/apache/conf.d/99_%{name}.conf + /usr/sbin/webapp register apache %{_webapp} + apache_reload=1 +fi +if [ -L /etc/httpd/httpd.conf/99_%{name}.conf ]; then + rm -f /etc/httpd/httpd.conf/99_%{name}.conf + /usr/sbin/webapp register httpd %{_webapp} + httpd_reload=1 +fi + +if [ "$httpd_reload" ]; then + %service -q httpd reload +fi +if [ "$apache_reload" ]; then + %service -q apache reload +fi + +%triggerpostun -- %{name} < 4.6.7-2.6 +grep -c This_is_a_Drupal_security_line_do_not_remove \ +%{_sysconfdir}/apache.conf %{_sysconfdir}/httpd.conf \ +| awk -F: '/:0/{print $1}' | xargs -r \ +sed -i -e ' +//{ + n + a\ SetHandler This_is_a_Drupal_security_line_do_not_remove +}' +[ ! -L /etc/httpd/webapps.d/drupal.conf ] || %service -q httpd reload +[ ! -L /etc/apache/webapps.d/drupal.conf ] || %service -q apache reload %files %defattr(644,root,root,755) %doc *.txt README.PLD -%doc database/updates.inc -%attr(750,root,http) %dir %{_sysconfdir} +%dir %attr(750,root,http) %{_sysconfdir} %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf %attr(750,root,http) %dir %{_sysconfdir}/sites %attr(750,root,http) %dir %{_sysconfdir}/sites/default %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sites/default/* %dir %{_appdir} +%{_appdir}/database %{_appdir}/includes +%exclude %{_appdir}/includes/database.mysql.inc +%exclude %{_appdir}/includes/database.pgsql.inc %{_appdir}/modules %{_appdir}/scripts -%{_appdir}/themes +%dir %{_appdir}/themes +%dir %{_appdir}/themes/engines %{_appdir}/po -# symlink +%{_appdir}/update.php +# symlinks %{_appdir}/files +%{_appdir}/misc %dir %{_appdir}/htdocs %{_appdir}/htdocs/*.ico %{_appdir}/htdocs/index.php %{_appdir}/htdocs/misc -%{_appdir}/htdocs/themes +%dir %{_appdir}/htdocs/themes %{_appdir}/htdocs/modules %dir %attr(775,root,http) /var/lib/%{name} @@ -274,10 +369,18 @@ fi %defattr(644,root,root,755) %doc database/*.mysql %doc README.replication +%{_appdir}/includes/database.mysql.inc %files db-pgsql %defattr(644,root,root,755) %doc database/*.pgsql +%{_appdir}/includes/database.pgsql.inc + +%files themes +%defattr(644,root,root,755) +%{_appdir}/themes/[!e]* +%{_appdir}/themes/engines/* +%{_appdir}/htdocs/themes/* %files xmlrpc %defattr(644,root,root,755)