3 %bcond_with ugly_patch # enable ugly patch. don't use it ;)
8 Summary: Open source content management platform
9 Summary(pl.UTF-8): Platforma do zarządzania treścią o otwartych źródłach
11 Version: %{_ver}.%{_patchlevel}
12 Release: %{_rel}%{?with_ugly_patch:p}
14 Group: Applications/WWW
15 Source0: http://drupal.org/files/projects/%{name}-%{version}.tar.gz
16 # Source0-md5: cfa5777fb6a612addcee75dad132909e
20 Patch0: %{name}-replication.patch
21 Patch1: %{name}-sitesdir.patch
22 Patch2: %{name}-topdir.patch
23 Patch3: %{name}-themedir2.patch
24 Patch4: %{name}-emptypass.patch
25 Patch5: %{name}-cron.patch
26 Patch6: %{name}-19298-cache.patch
27 Patch7: %{name}-update-cli.patch
28 Patch8: %{name}-locale-memory.patch
29 Patch9: %{name}-comment.patch
30 Patch10: %{name}-disabled_fields.patch
31 Patch11: %{name}-http-reject.patch
32 URL: http://drupal.org/
33 BuildRequires: rpmbuild(macros) >= 1.264
34 BuildRequires: sed >= 4.0
35 Requires: %{name}(DB_Driver) = %{version}-%{release}
36 Requires: %{name}(theme) = %{_ver}
37 Requires: /usr/bin/php
38 Requires: apache(mod_access)
39 Requires: apache(mod_alias)
40 Requires: apache(mod_dir)
41 Requires: apache(mod_expires)
42 Requires: apache(mod_rewrite)
47 Requires: webserver = apache
48 Requires: webserver(php) >= 4.3.3
49 Provides: %{name} = %{_ver}
50 Obsoletes: drupal-update
52 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54 %define _appdir %{_datadir}/%{name}
55 %define _webapps /etc/webapps
56 %define _webapp %{name}
57 %define _sysconfdir %{_webapps}/%{_webapp}
60 Drupal is software that allows an individual or a community of users
61 to easily publish, manage and organize a great variety of content on a
62 website. Tens of thousands of people and organizations have used
63 Drupal to set up scores of different kinds of web sites, including
64 - community web portals and discussion sites
65 - corporate web sites/intranet portals
68 - e-commerce applications
69 - resource directories
71 Drupal includes features to enable
72 - content management systems
74 - collaborative authoring environments
78 - file uploads and download
82 %description -l pl.UTF-8
83 Drupal to oprogramowanie pozwalające osobie lub społeczności
84 użytkowników na łatwe publikowanie, zarządzanie i organizowanie różnej
85 treści na stronie WWW. Dziesiątki tysięcy ludzi i organizacji używali
86 Drupala do ustawiania wyników różnych rodzajów stron WWW, w tym:
87 - portale WWW i strony dyskusyjne społeczności
88 - korporacyjne strony WWW/portale intranetowe
91 - aplikacje e-commerce
94 Drupal zawiera zasoby umożliwiające tworzenie:
95 - systemów zarządzania treścią
97 - środowisk pracy grupowej
101 - wrzucania i ściągania plików
107 Summary(pl.UTF-8): Usługa cron dla Drupala
108 Group: Applications/WWW
109 Requires: %{name} = %{version}-%{release}
113 This package contains script which invokes cron hooks for Drupal.
115 %description cron -l pl.UTF-8
116 Ten pakiet zawiera skrypt wywołujący uchwyty crona dla Drupala.
119 Summary: Drupal DB Driver for MySQL
120 Summary(pl.UTF-8): Sterownik bazy danych MySQL dla Drupala
121 Group: Applications/WWW
123 Provides: %{name}(DB_Driver) = %{version}-%{release}
125 %description db-mysql
126 This virtual package provides MySQL database backend for Drupal.
128 %description db-mysql -l pl.UTF-8
129 Ten wirtualny pakiet dostarcza backend bazy danych MySQL dla Drupala.
132 Summary: Drupal DB Driver for PostgreSQL
133 Summary(pl.UTF-8): Sterownik bazy danych PostgreSQL dla Drupala
134 Group: Applications/WWW
136 Provides: %{name}(DB_Driver) = %{version}-%{release}
138 %description db-pgsql
139 This virtual package provides PostgreSQL database backend for Drupal.
141 NOTE: This driver is not tested in PLD, and not all modules have
142 database schema for PostgreSQL. Use this driver at your own risk!
144 %description db-pgsql -l pl.UTF-8
145 Ten wirtualny pakiet dostarcza backend bazy danych PostgreSQL dla
148 UWAGA: Ten sterownik nie był testowany w PLD i nie wszystkie moduły
149 mają schematy bazy danych dla PostgreSQL-a. Można go używać na własne
153 Summary: Themes distributed with Drupal
154 Summary(pl.UTF-8): Motywy rozprowadzane z Drupalem
155 Group: Applications/WWW
156 Requires: %{name} = %{version}-%{release}
157 Provides: drupal(theme) = %{_ver}
160 This package contains themes distributed with Drupal.
162 %description themes -l pl.UTF-8
163 Ten pakiet zawiera motywy rozprowadzane z Drupalem.
166 Summary: XMLRPC server for Drupal
167 Summary(pl.UTF-8): Serwer XMLRPC dla Drupala
168 Group: Applications/WWW
169 Requires: %{name} = %{version}-%{release}
172 XMLRPC server for Drupal allows other Drupals authorize with your
173 Drupal's user creditentials, this is called Distributed Authentication
176 %description xmlrpc -l pl.UTF-8
177 Serwer XMLRPC dla Drupala pozwala innym Drupalom autoryzować się z
178 danymi uwierzytelniającymi użytkownika danego Drupala - jest to
179 nazywane rozproszonym uwierzytelnianiem.
193 %{?with_ugly_patch:%patch10 -p1}
194 %{?with_ugly_patch:%patch11 -p1}
196 cp -p %{SOURCE3} README.PLD
198 # remove backups from patching as we use globs to package files to buildroot
199 find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
202 rm -rf $RPM_BUILD_ROOT
203 install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/cron.d,/var/{cache,lib}/%{name}} \
204 $RPM_BUILD_ROOT%{_appdir}/{po,database,modules/po,htdocs/modules}
206 cp -a *.ico index.php $RPM_BUILD_ROOT%{_appdir}/htdocs
207 cp -a misc $RPM_BUILD_ROOT%{_appdir}/htdocs
208 cp -a xmlrpc.php $RPM_BUILD_ROOT%{_appdir}/htdocs
209 cp -a database/updates.inc $RPM_BUILD_ROOT%{_appdir}/database
211 cp -a update.php $RPM_BUILD_ROOT%{_appdir}
212 install cron.php $RPM_BUILD_ROOT%{_appdir}
213 cp -a modules/* $RPM_BUILD_ROOT%{_appdir}/modules
214 cp -a includes scripts $RPM_BUILD_ROOT%{_appdir}
215 cp -a sites $RPM_BUILD_ROOT%{_sysconfdir}
217 ln -s /var/lib/%{name} $RPM_BUILD_ROOT%{_appdir}/files
218 # needed for node.module for syndication icon
219 ln -s htdocs/misc $RPM_BUILD_ROOT%{_appdir}
222 cp -a themes $RPM_BUILD_ROOT%{_appdir}/htdocs
223 # move .xtmpl/.theme out of htdocs
224 (cd $RPM_BUILD_ROOT%{_appdir}/htdocs && tar cf - --remove-files themes/*/*.{xtmpl,theme}) | tar -xf - -C $RPM_BUILD_ROOT%{_appdir}
225 mv $RPM_BUILD_ROOT%{_appdir}/{htdocs/,}themes/engines
226 # make screenshot.png available in appdir
227 for a in $RPM_BUILD_ROOT%{_appdir}/htdocs/themes/*; do
229 ln -s ../../htdocs/themes/$t/screenshot.png $RPM_BUILD_ROOT%{_appdir}/themes/$t
233 s=themes/chameleon/marvin
234 ln -s ../../htdocs/$s $RPM_BUILD_ROOT%{_appdir}/$s
236 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
237 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
238 install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}
241 rm -rf $RPM_BUILD_ROOT
244 # Perform database updates
245 echo 'Performing Drupal database updates'
246 cd %{_appdir} && %{_bindir}/php update.php Update
250 if [ "$1" = 1 ]; then
251 %banner -e %{name}-db-mysql <<EOF
252 If this is your first install of Drupal, you need to create Drupal database:
254 mysqladmin create drupal
255 zcat %{_docdir}/%{name}-db-mysql-%{version}/database.mysql.gz | mysql drupal
256 mysql -e "GRANT SELECT, INSERT, UPDATE, DELETE ON drupal.* TO 'drupal'@'localhost' IDENTIFIED BY 'PASSWORD'"
257 mysql -e "GRANT CREATE TEMPORARY TABLES, LOCK TABLES ON *.* TO 'drupal'@'localhost'"
263 if [ "$1" = 1 ]; then
264 %banner -e %{name}-db-pgsql <<EOF
265 If this is your first install of Drupal, you need to create Drupal database:
267 and import initial schema from
268 %{_docdir}/%{name}-db-pgsql-%{version}/database.pgsql.gz
273 %triggerin -- apache1 < 1.3.37-3, apache1-base
274 %webapp_register apache %{_webapp}
276 %triggerun -- apache1 < 1.3.37-3, apache1-base
277 %webapp_unregister apache %{_webapp}
279 %triggerin -- apache < 2.2.0, apache-base
280 %webapp_register httpd %{_webapp}
282 %triggerun -- apache < 2.2.0, apache-base
283 %webapp_unregister httpd %{_webapp}
286 %defattr(644,root,root,755)
287 %doc *.txt README.PLD
289 %dir %attr(750,root,http) %{_sysconfdir}
290 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
291 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
293 %attr(750,root,http) %dir %{_sysconfdir}/sites
294 %attr(750,root,http) %dir %{_sysconfdir}/sites/default
295 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sites/default/*
300 %exclude %{_appdir}/includes/database.mysql.inc
301 %exclude %{_appdir}/includes/database.pgsql.inc
304 %dir %{_appdir}/themes
305 %dir %{_appdir}/themes/engines
307 %{_appdir}/update.php
312 %dir %{_appdir}/htdocs
313 %{_appdir}/htdocs/*.ico
314 %{_appdir}/htdocs/index.php
315 %{_appdir}/htdocs/misc
316 %dir %{_appdir}/htdocs/themes
317 %{_appdir}/htdocs/modules
319 %dir %attr(775,root,http) /var/lib/%{name}
320 %dir %attr(775,root,http) /var/cache/%{name}
323 %defattr(644,root,root,755)
324 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}
325 %attr(755,root,root) %{_appdir}/cron.php
328 %defattr(644,root,root,755)
329 %doc database/*.mysql
330 %doc README.replication
331 %{_appdir}/includes/database.mysql.inc
334 %defattr(644,root,root,755)
335 %doc database/*.pgsql
336 %{_appdir}/includes/database.pgsql.inc
339 %defattr(644,root,root,755)
340 %{_appdir}/themes/[!e]*
341 %{_appdir}/themes/engines/*
342 %{_appdir}/htdocs/themes/*
345 %defattr(644,root,root,755)
346 %{_appdir}/htdocs/xmlrpc.php