]> git.pld-linux.org Git - packages/drupal.git/blobdiff - drupal.spec
- add trigger for DRUPAL-SA-2006-006 (suggested by blues); rel 3
[packages/drupal.git] / drupal.spec
index 4584e992bb8f9c65beeec3ece5ae0f94c702fcec..12cbb1a6ee1077ddf59c6934dabf80aa72a9f242 100644 (file)
@@ -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 '
+/<Directory \/var\/lib\/drupal>/{
+       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)
This page took 0.275428 seconds and 4 git commands to generate.