]>
Commit | Line | Data |
---|---|---|
bcab0f86 ER |
1 | # |
2 | # Conditional build: | |
3 | %bcond_with ugly_patch # enable ugly patch. don't use it ;) | |
4 | # | |
01c85086 | 5 | %define _ver 4.6 |
ab115a1d | 6 | %define _patchlevel 11 |
bcab0f86 | 7 | %define _rel 4 |
412d0f01 | 8 | Summary: Open source content management platform |
09f04e36 | 9 | Summary(pl.UTF-8): Platforma do zarządzania treścią o otwartych źródłach |
412d0f01 | 10 | Name: drupal |
01c85086 | 11 | Version: %{_ver}.%{_patchlevel} |
bcab0f86 | 12 | Release: %{_rel}%{?with_ugly_patch:p} |
412d0f01 ER |
13 | License: GPL |
14 | Group: Applications/WWW | |
15 | Source0: http://drupal.org/files/projects/%{name}-%{version}.tar.gz | |
ab115a1d | 16 | # Source0-md5: cfa5777fb6a612addcee75dad132909e |
54439521 | 17 | Source1: %{name}.conf |
70724985 | 18 | Source2: %{name}.cron |
8ade80fb | 19 | Source3: %{name}.PLD |
c0240262 ER |
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 | |
edfdf0be | 26 | Patch6: %{name}-19298-cache.patch |
2dcd617a | 27 | Patch7: %{name}-update-cli.patch |
8bf561c0 | 28 | Patch8: %{name}-locale-memory.patch |
532b39ca | 29 | Patch9: %{name}-comment.patch |
bcab0f86 ER |
30 | Patch10: %{name}-disabled_fields.patch |
31 | Patch11: %{name}-http-reject.patch | |
412d0f01 | 32 | URL: http://drupal.org/ |
0c7df6f6 | 33 | BuildRequires: rpmbuild(macros) >= 1.264 |
6c37b393 | 34 | BuildRequires: sed >= 4.0 |
8655c58e | 35 | Requires: %{name}(DB_Driver) = %{version}-%{release} |
01c85086 | 36 | Requires: %{name}(theme) = %{_ver} |
ab115a1d | 37 | Requires: /usr/bin/php |
3128c8e1 | 38 | Requires: apache(mod_access) |
8655c58e ER |
39 | Requires: apache(mod_alias) |
40 | Requires: apache(mod_dir) | |
3128c8e1 ER |
41 | Requires: apache(mod_expires) |
42 | Requires: apache(mod_rewrite) | |
3aa2f5f2 ER |
43 | Requires: php(mysql) |
44 | Requires: php(pcre) | |
45 | Requires: php(xml) | |
8655c58e ER |
46 | Requires: webapps |
47 | Requires: webserver = apache | |
3aa2f5f2 | 48 | Requires: webserver(php) >= 4.3.3 |
02a0440d | 49 | Provides: %{name} = %{_ver} |
c9f9ea34 | 50 | Obsoletes: drupal-update |
412d0f01 ER |
51 | BuildArch: noarch |
52 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
53 | ||
54 | %define _appdir %{_datadir}/%{name} | |
0c7df6f6 ER |
55 | %define _webapps /etc/webapps |
56 | %define _webapp %{name} | |
57 | %define _sysconfdir %{_webapps}/%{_webapp} | |
412d0f01 ER |
58 | |
59 | %description | |
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 | |
66 | - personal web sites | |
67 | - afficionado sites | |
68 | - e-commerce applications | |
69 | - resource directories | |
70 | ||
71 | Drupal includes features to enable | |
72 | - content management systems | |
73 | - blogs | |
74 | - collaborative authoring environments | |
75 | - forums | |
76 | - newsletters | |
77 | - picture galleries | |
78 | - file uploads and download | |
79 | ||
80 | and much more. | |
81 | ||
19981946 JR |
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 | |
829e6b2c JB |
88 | - korporacyjne strony WWW/portale intranetowe |
89 | - osobiste strony WWW | |
19981946 | 90 | - strony miłośników |
829e6b2c | 91 | - aplikacje e-commerce |
19981946 | 92 | - słowniki zasobów |
829e6b2c | 93 | |
19981946 JR |
94 | Drupal zawiera zasoby umożliwiające tworzenie: |
95 | - systemów zarządzania treścią | |
96 | - blogów | |
97 | - środowisk pracy grupowej | |
98 | - forów | |
829e6b2c | 99 | - nowin |
19981946 JR |
100 | - galerii zdjęć |
101 | - wrzucania i ściągania plików | |
829e6b2c | 102 | |
19981946 | 103 | i wiele więcej. |
829e6b2c | 104 | |
70724985 | 105 | %package cron |
829e6b2c | 106 | Summary: Drupal cron |
09f04e36 | 107 | Summary(pl.UTF-8): Usługa cron dla Drupala |
70724985 ER |
108 | Group: Applications/WWW |
109 | Requires: %{name} = %{version}-%{release} | |
110 | Requires: crondaemon | |
70724985 ER |
111 | |
112 | %description cron | |
829e6b2c JB |
113 | This package contains script which invokes cron hooks for Drupal. |
114 | ||
19981946 JR |
115 | %description cron -l pl.UTF-8 |
116 | Ten pakiet zawiera skrypt wywołujący uchwyty crona dla Drupala. | |
70724985 | 117 | |
a04f1ba7 ER |
118 | %package db-mysql |
119 | Summary: Drupal DB Driver for MySQL | |
09f04e36 | 120 | Summary(pl.UTF-8): Sterownik bazy danych MySQL dla Drupala |
a04f1ba7 | 121 | Group: Applications/WWW |
3aa2f5f2 | 122 | Requires: php(mysql) |
a04f1ba7 ER |
123 | Provides: %{name}(DB_Driver) = %{version}-%{release} |
124 | ||
125 | %description db-mysql | |
126 | This virtual package provides MySQL database backend for Drupal. | |
127 | ||
19981946 | 128 | %description db-mysql -l pl.UTF-8 |
8655c58e | 129 | Ten wirtualny pakiet dostarcza backend bazy danych MySQL dla Drupala. |
a04f1ba7 ER |
130 | |
131 | %package db-pgsql | |
132 | Summary: Drupal DB Driver for PostgreSQL | |
09f04e36 | 133 | Summary(pl.UTF-8): Sterownik bazy danych PostgreSQL dla Drupala |
a04f1ba7 | 134 | Group: Applications/WWW |
3aa2f5f2 | 135 | Requires: php(pgsql) |
a04f1ba7 ER |
136 | Provides: %{name}(DB_Driver) = %{version}-%{release} |
137 | ||
138 | %description db-pgsql | |
8655c58e | 139 | This virtual package provides PostgreSQL database backend for Drupal. |
a04f1ba7 ER |
140 | |
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! | |
143 | ||
19981946 | 144 | %description db-pgsql -l pl.UTF-8 |
a04f1ba7 ER |
145 | Ten wirtualny pakiet dostarcza backend bazy danych PostgreSQL dla |
146 | Drupala. | |
147 | ||
19981946 JR |
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 | |
b4699926 JB |
150 | ryzyko. |
151 | ||
01c85086 ER |
152 | %package themes |
153 | Summary: Themes distributed with Drupal | |
09f04e36 | 154 | Summary(pl.UTF-8): Motywy rozprowadzane z Drupalem |
01c85086 ER |
155 | Group: Applications/WWW |
156 | Requires: %{name} = %{version}-%{release} | |
157 | Provides: drupal(theme) = %{_ver} | |
158 | ||
159 | %description themes | |
160 | This package contains themes distributed with Drupal. | |
161 | ||
19981946 | 162 | %description themes -l pl.UTF-8 |
1017e008 JB |
163 | Ten pakiet zawiera motywy rozprowadzane z Drupalem. |
164 | ||
8c193c52 ER |
165 | %package xmlrpc |
166 | Summary: XMLRPC server for Drupal | |
09f04e36 | 167 | Summary(pl.UTF-8): Serwer XMLRPC dla Drupala |
8c193c52 ER |
168 | Group: Applications/WWW |
169 | Requires: %{name} = %{version}-%{release} | |
170 | ||
171 | %description xmlrpc | |
042c8875 | 172 | XMLRPC server for Drupal allows other Drupals authorize with your |
8c193c52 ER |
173 | Drupal's user creditentials, this is called Distributed Authentication |
174 | in Drupal world. | |
175 | ||
19981946 JR |
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 | |
042c8875 JB |
179 | nazywane rozproszonym uwierzytelnianiem. |
180 | ||
412d0f01 ER |
181 | %prep |
182 | %setup -q | |
c0240262 ER |
183 | %patch0 -p1 |
184 | %patch1 -p1 | |
185 | %patch2 -p1 | |
829e6b2c | 186 | %patch3 -p1 |
c0240262 | 187 | %patch4 -p1 |
829e6b2c | 188 | %patch5 -p1 |
edfdf0be | 189 | %patch6 -p0 |
2dcd617a | 190 | %patch7 -p1 |
8bf561c0 | 191 | %patch8 -p1 |
532b39ca | 192 | %patch9 -p1 |
bcab0f86 ER |
193 | %{?with_ugly_patch:%patch10 -p1} |
194 | %{?with_ugly_patch:%patch11 -p1} | |
412d0f01 | 195 | |
f7c6dec3 | 196 | cp -p %{SOURCE3} README.PLD |
412d0f01 | 197 | |
70ff63a9 ER |
198 | # remove backups from patching as we use globs to package files to buildroot |
199 | find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v | |
200 | ||
412d0f01 ER |
201 | %install |
202 | rm -rf $RPM_BUILD_ROOT | |
47d1108e | 203 | install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/cron.d,/var/{cache,lib}/%{name}} \ |
2dcd617a | 204 | $RPM_BUILD_ROOT%{_appdir}/{po,database,modules/po,htdocs/modules} |
412d0f01 ER |
205 | |
206 | cp -a *.ico index.php $RPM_BUILD_ROOT%{_appdir}/htdocs | |
6c37b393 | 207 | cp -a misc $RPM_BUILD_ROOT%{_appdir}/htdocs |
c9f9ea34 | 208 | cp -a xmlrpc.php $RPM_BUILD_ROOT%{_appdir}/htdocs |
2dcd617a | 209 | cp -a database/updates.inc $RPM_BUILD_ROOT%{_appdir}/database |
412d0f01 | 210 | |
fb7afeb8 ER |
211 | cp -a update.php $RPM_BUILD_ROOT%{_appdir} |
212 | install cron.php $RPM_BUILD_ROOT%{_appdir} | |
a93937fa ER |
213 | cp -a modules/* $RPM_BUILD_ROOT%{_appdir}/modules |
214 | cp -a includes scripts $RPM_BUILD_ROOT%{_appdir} | |
6c37b393 | 215 | cp -a sites $RPM_BUILD_ROOT%{_sysconfdir} |
412d0f01 | 216 | |
3ebcddee | 217 | ln -s /var/lib/%{name} $RPM_BUILD_ROOT%{_appdir}/files |
dd3fb6f3 ER |
218 | # needed for node.module for syndication icon |
219 | ln -s htdocs/misc $RPM_BUILD_ROOT%{_appdir} | |
be9c29c5 | 220 | |
743c9a08 ER |
221 | # install themes |
222 | cp -a themes $RPM_BUILD_ROOT%{_appdir}/htdocs | |
be9c29c5 ER |
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} | |
f4ab86cb | 225 | mv $RPM_BUILD_ROOT%{_appdir}/{htdocs/,}themes/engines |
6ee15950 ER |
226 | # make screenshot.png available in appdir |
227 | for a in $RPM_BUILD_ROOT%{_appdir}/htdocs/themes/*; do | |
228 | t=$(basename $a) | |
229 | ln -s ../../htdocs/themes/$t/screenshot.png $RPM_BUILD_ROOT%{_appdir}/themes/$t | |
230 | done | |
f4ab86cb | 231 | |
743c9a08 ER |
232 | # a hack |
233 | s=themes/chameleon/marvin | |
234 | ln -s ../../htdocs/$s $RPM_BUILD_ROOT%{_appdir}/$s | |
235 | ||
75dde265 | 236 | install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf |
0c7df6f6 | 237 | install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf |
70724985 | 238 | install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name} |
54439521 | 239 | |
829e6b2c JB |
240 | %clean |
241 | rm -rf $RPM_BUILD_ROOT | |
242 | ||
ab115a1d ER |
243 | %post |
244 | # Perform database updates | |
245 | echo 'Performing Drupal database updates' | |
2c11dd13 | 246 | cd %{_appdir} && %{_bindir}/php update.php Update |
ab115a1d ER |
247 | echo 'Done' |
248 | ||
b3296022 | 249 | %post db-mysql |
3128c8e1 | 250 | if [ "$1" = 1 ]; then |
b3296022 ER |
251 | %banner -e %{name}-db-mysql <<EOF |
252 | If this is your first install of Drupal, you need to create Drupal database: | |
6c37b393 | 253 | |
b3296022 ER |
254 | mysqladmin create drupal |
255 | zcat %{_docdir}/%{name}-db-mysql-%{version}/database.mysql.gz | mysql drupal | |
f7c6dec3 | 256 | mysql -e "GRANT SELECT, INSERT, UPDATE, DELETE ON drupal.* TO 'drupal'@'localhost' IDENTIFIED BY 'PASSWORD'" |
5dd481fc | 257 | mysql -e "GRANT CREATE TEMPORARY TABLES, LOCK TABLES ON *.* TO 'drupal'@'localhost'" |
f7c6dec3 | 258 | |
b3296022 ER |
259 | EOF |
260 | fi | |
261 | ||
262 | %post db-pgsql | |
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: | |
266 | ||
267 | and import initial schema from | |
268 | %{_docdir}/%{name}-db-pgsql-%{version}/database.pgsql.gz | |
6c37b393 ER |
269 | |
270 | EOF | |
3128c8e1 | 271 | fi |
6c37b393 | 272 | |
4a858d32 | 273 | %triggerin -- apache1 < 1.3.37-3, apache1-base |
0c7df6f6 | 274 | %webapp_register apache %{_webapp} |
54439521 | 275 | |
4a858d32 | 276 | %triggerun -- apache1 < 1.3.37-3, apache1-base |
0c7df6f6 | 277 | %webapp_unregister apache %{_webapp} |
54439521 | 278 | |
1fb905cc | 279 | %triggerin -- apache < 2.2.0, apache-base |
0c7df6f6 | 280 | %webapp_register httpd %{_webapp} |
54439521 | 281 | |
1fb905cc | 282 | %triggerun -- apache < 2.2.0, apache-base |
0c7df6f6 ER |
283 | %webapp_unregister httpd %{_webapp} |
284 | ||
412d0f01 ER |
285 | %files |
286 | %defattr(644,root,root,755) | |
b3296022 | 287 | %doc *.txt README.PLD |
54439521 | 288 | |
0c7df6f6 | 289 | %dir %attr(750,root,http) %{_sysconfdir} |
75dde265 | 290 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf |
0c7df6f6 | 291 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf |
54439521 | 292 | |
6c37b393 ER |
293 | %attr(750,root,http) %dir %{_sysconfdir}/sites |
294 | %attr(750,root,http) %dir %{_sysconfdir}/sites/default | |
5f407171 | 295 | %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sites/default/* |
6c37b393 | 296 | |
412d0f01 | 297 | %dir %{_appdir} |
c9f9ea34 | 298 | %{_appdir}/database |
412d0f01 | 299 | %{_appdir}/includes |
321e0de6 ER |
300 | %exclude %{_appdir}/includes/database.mysql.inc |
301 | %exclude %{_appdir}/includes/database.pgsql.inc | |
412d0f01 ER |
302 | %{_appdir}/modules |
303 | %{_appdir}/scripts | |
01c85086 | 304 | %dir %{_appdir}/themes |
8ccbe0a8 | 305 | %dir %{_appdir}/themes/engines |
76caba40 | 306 | %{_appdir}/po |
c9f9ea34 ER |
307 | %{_appdir}/update.php |
308 | # symlinks | |
a93937fa | 309 | %{_appdir}/files |
7b913139 | 310 | %{_appdir}/misc |
70724985 | 311 | |
be9c29c5 | 312 | %dir %{_appdir}/htdocs |
8c193c52 ER |
313 | %{_appdir}/htdocs/*.ico |
314 | %{_appdir}/htdocs/index.php | |
be9c29c5 | 315 | %{_appdir}/htdocs/misc |
01c85086 | 316 | %dir %{_appdir}/htdocs/themes |
a93937fa | 317 | %{_appdir}/htdocs/modules |
3ebcddee ER |
318 | |
319 | %dir %attr(775,root,http) /var/lib/%{name} | |
47d1108e | 320 | %dir %attr(775,root,http) /var/cache/%{name} |
0c0ad8e1 | 321 | |
70724985 ER |
322 | %files cron |
323 | %defattr(644,root,root,755) | |
324 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name} | |
fb7afeb8 | 325 | %attr(755,root,root) %{_appdir}/cron.php |
8c193c52 | 326 | |
a04f1ba7 ER |
327 | %files db-mysql |
328 | %defattr(644,root,root,755) | |
b3296022 ER |
329 | %doc database/*.mysql |
330 | %doc README.replication | |
321e0de6 | 331 | %{_appdir}/includes/database.mysql.inc |
a04f1ba7 ER |
332 | |
333 | %files db-pgsql | |
334 | %defattr(644,root,root,755) | |
b3296022 | 335 | %doc database/*.pgsql |
321e0de6 | 336 | %{_appdir}/includes/database.pgsql.inc |
a04f1ba7 | 337 | |
01c85086 ER |
338 | %files themes |
339 | %defattr(644,root,root,755) | |
8ccbe0a8 ER |
340 | %{_appdir}/themes/[!e]* |
341 | %{_appdir}/themes/engines/* | |
01c85086 ER |
342 | %{_appdir}/htdocs/themes/* |
343 | ||
8c193c52 ER |
344 | %files xmlrpc |
345 | %defattr(644,root,root,755) | |
346 | %{_appdir}/htdocs/xmlrpc.php |