drupal.spec 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568
  1. ##
  2. ## drupal.spec -- OpenPKG RPM Package Specification
  3. ## Copyright (c) 2000-2005 OpenPKG Foundation e.V. <http://openpkg.net/>
  4. ## Copyright (c) 2000-2005 Ralf S. Engelschall <http://engelschall.com/>
  5. ##
  6. ## Permission to use, copy, modify, and distribute this software for
  7. ## any purpose with or without fee is hereby granted, provided that
  8. ## the above copyright notice and this permission notice appear in all
  9. ## copies.
  10. ##
  11. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  12. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  13. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  14. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  15. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  16. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  17. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  18. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  19. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  20. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  21. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  22. ## SUCH DAMAGE.
  23. ##
  24. # package versions
  25. %define V_drupal_major 4.6
  26. %define V_drupal 4.6.0
  27. %define V_module_article 4.6.0
  28. %define V_module_attachment 4.6.0
  29. %define V_module_buddylist 4.6.0
  30. %define V_module_commentcloser 4.6.0
  31. %define V_module_customerror 4.6.0
  32. %define V_module_contextlinks 4.6.0
  33. %define V_module_daily 4.6.0
  34. %define V_module_diff 4.6.0
  35. %define V_module_feedback 4.6.0
  36. %define V_module_filemanager 4.6.0
  37. %define V_module_flexinode 4.6.0
  38. %define V_module_fontsize 4.6.0
  39. %define V_module_forms 4.6.0
  40. %define V_module_form_mail 4.6.0
  41. %define V_module_freelinking 4.6.0
  42. %define V_module_front 4.6.0
  43. %define V_module_glossary 4.6.0
  44. %define V_module_hof 4.6.0
  45. %define V_module_htmlarea 4.6.0
  46. %define V_module_image 4.6.0
  47. %define V_module_livediscussions 4.6.0
  48. %define V_module_mailalias 4.6.0
  49. %define V_module_mailhandler 4.6.0
  50. %define V_module_members 4.6.0
  51. %define V_module_menu_otf 4.6.0
  52. %define V_module_nodewords 4.6.0
  53. %define V_module_nmoderation 4.6.0
  54. %define V_module_node_import 4.6.0
  55. %define V_module_og 4.6.0
  56. %define V_module_paypal_framework 4.6.0
  57. %define V_module_paypal_subscription 4.6.0
  58. %define V_module_quotes 4.6.0
  59. %define V_module_rsvp 4.6.0
  60. %define V_module_series 4.6.0
  61. %define V_module_sitemenu 4.6.0
  62. %define V_module_smartypants 4.6.0
  63. %define V_module_survey 4.6.0
  64. %define V_module_syndication 4.6.0
  65. %define V_module_taxonomy_block 4.6.0
  66. %define V_module_taxonomy_browser 4.6.0
  67. %define V_module_taxonomy_dhtml 4.6.0
  68. %define V_module_taxonomy_menu 4.6.0
  69. %define V_module_taxonomy_multi_edit 4.6.0
  70. %define V_module_textile 4.6.0
  71. %define V_module_theme_editor 4.6.0
  72. %define V_module_tinymce 4.6.0
  73. %define V_module_urlfilter 4.6.0
  74. %define V_module_variable 4.6.0
  75. %define V_module_webform 4.6.0
  76. %define V_module_webserver_auth 4.6.0
  77. %define V_module_week 4.6.0
  78. %define V_engine_phptemplate 4.6.0
  79. %define V_theme_spreadfirefox 4.6.0
  80. %define V_theme_democratica 4.6.0
  81. # package information
  82. Name: drupal
  83. Summary: Content Management Platform
  84. URL: http://www.drupal.org/
  85. Vendor: Dries Buytaert et al.
  86. Packager: OpenPKG
  87. Distribution: OpenPKG
  88. Class: EVAL
  89. Group: Web
  90. License: GPL
  91. Version: %{V_drupal_major}
  92. Release: 20050416
  93. # list of sources
  94. Source0: http://drupal.org/files/projects/drupal-%{V_drupal}.tar.gz
  95. Source1: http://drupal.org/files/projects/article-%{V_module_article}.tar.gz
  96. Source2: http://drupal.org/files/projects/attachment-%{V_module_attachment}.tar.gz
  97. Source3: http://drupal.org/files/projects/buddylist-%{V_module_buddylist}.tar.gz
  98. Source4: http://drupal.org/files/projects/commentcloser-%{V_module_commentcloser}.tar.gz
  99. Source5: http://drupal.org/files/projects/customerror-%{V_module_customerror}.tar.gz
  100. Source6: http://drupal.org/files/projects/contextlinks-%{V_module_contextlinks}.tar.gz
  101. Source7: http://drupal.org/files/projects/daily-%{V_module_daily}.tar.gz
  102. Source8: http://drupal.org/files/projects/diff-%{V_module_diff}.tar.gz
  103. Source9: http://drupal.org/files/projects/feedback-%{V_module_feedback}.tar.gz
  104. Source10: http://drupal.org/files/projects/filemanager-%{V_module_filemanager}.tar.gz
  105. Source11: http://drupal.org/files/projects/flexinode-%{V_module_flexinode}.tar.gz
  106. Source12: http://drupal.org/files/projects/fontsize-%{V_module_fontsize}.tar.gz
  107. Source13: http://drupal.org/files/projects/forms-%{V_module_forms}.tar.gz
  108. Source14: http://drupal.org/files/projects/form_mail-%{V_module_form_mail}.tar.gz
  109. Source15: http://drupal.org/files/projects/freelinking-%{V_module_freelinking}.tar.gz
  110. Source16: http://drupal.org/files/projects/front-%{V_module_front}.tar.gz
  111. Source17: http://drupal.org/files/projects/glossary-%{V_module_glossary}.tar.gz
  112. Source18: http://drupal.org/files/projects/hof-%{V_module_hof}.tar.gz
  113. Source19: http://drupal.org/files/projects/htmlarea-%{V_module_htmlarea}.tar.gz
  114. Source20: http://drupal.org/files/projects/image-%{V_module_image}.tar.gz
  115. Source21: http://drupal.org/files/projects/livediscussions-%{V_module_livediscussions}.tar.gz
  116. Source22: http://drupal.org/files/projects/mailalias-%{V_module_mailalias}.tar.gz
  117. Source23: http://drupal.org/files/projects/mailhandler-%{V_module_mailhandler}.tar.gz
  118. Source24: http://drupal.org/files/projects/members-%{V_module_members}.tar.gz
  119. Source25: http://drupal.org/files/projects/menu_otf-%{V_module_menu_otf}.tar.gz
  120. Source26: http://drupal.org/files/projects/nodewords-%{V_module_nodewords}.tar.gz
  121. Source27: http://drupal.org/files/projects/nmoderation-%{V_module_nmoderation}.tar.gz
  122. Source28: http://drupal.org/files/projects/node_import-%{V_module_node_import}.tar.gz
  123. Source29: http://drupal.org/files/projects/og-%{V_module_og}.tar.gz
  124. Source30: http://drupal.org/files/projects/paypal_framework-%{V_module_paypal_framework}.tar.gz
  125. Source31: http://drupal.org/files/projects/paypal_subscription-%{V_module_paypal_subscription}.tar.gz
  126. Source32: http://drupal.org/files/projects/quotes-%{V_module_quotes}.tar.gz
  127. Source33: http://drupal.org/files/projects/rsvp-%{V_module_rsvp}.tar.gz
  128. Source34: http://drupal.org/files/projects/series-%{V_module_series}.tar.gz
  129. Source35: http://drupal.org/files/projects/sitemenu-%{V_module_sitemenu}.tar.gz
  130. Source36: http://drupal.org/files/projects/smartypants-%{V_module_smartypants}.tar.gz
  131. Source37: http://drupal.org/files/projects/survey-%{V_module_survey}.tar.gz
  132. Source38: http://drupal.org/files/projects/syndication-%{V_module_syndication}.tar.gz
  133. Source39: http://drupal.org/files/projects/taxonomy_block-%{V_module_taxonomy_block}.tar.gz
  134. Source40: http://drupal.org/files/projects/taxonomy_browser-%{V_module_taxonomy_browser}.tar.gz
  135. Source41: http://drupal.org/files/projects/taxonomy_dhtml-%{V_module_taxonomy_dhtml}.tar.gz
  136. Source42: http://drupal.org/files/projects/taxonomy_menu-%{V_module_taxonomy_menu}.tar.gz
  137. Source43: http://drupal.org/files/projects/taxonomy_multi_edit-%{V_module_taxonomy_multi_edit}.tar.gz
  138. Source44: http://drupal.org/files/projects/textile-%{V_module_textile}.tar.gz
  139. Source45: http://drupal.org/files/projects/theme_editor-%{V_module_theme_editor}.tar.gz
  140. Source46: http://drupal.org/files/projects/tinymce-%{V_module_tinymce}.tar.gz
  141. Source47: http://drupal.org/files/projects/urlfilter-%{V_module_urlfilter}.tar.gz
  142. Source48: http://drupal.org/files/projects/variable-%{V_module_variable}.tar.gz
  143. Source49: http://drupal.org/files/projects/webform-%{V_module_webform}.tar.gz
  144. Source50: http://drupal.org/files/projects/webserver_auth-%{V_module_webserver_auth}.tar.gz
  145. Source51: http://drupal.org/files/projects/week-%{V_module_week}.tar.gz
  146. Source52: http://drupal.org/files/projects/phptemplate-%{V_engine_phptemplate}.tar.gz
  147. Source53: http://drupal.org/files/projects/spreadfirefox-%{V_theme_spreadfirefox}.tar.gz
  148. Source54: http://drupal.org/files/projects/democratica-%{V_theme_democratica}.tar.gz
  149. Source100: drupal-setup.sh
  150. Source101: drupal-cron.sh
  151. Source102: drupal-apache.conf
  152. Source103: rc.drupal
  153. # build information
  154. Prefix: %{l_prefix}
  155. BuildRoot: %{l_buildroot}
  156. BuildPreReq: OpenPKG, openpkg >= 20040130
  157. PreReq: OpenPKG, openpkg >= 20040130
  158. PreReq: apache
  159. PreReq: apache::with_mod_php = yes
  160. PreReq: apache::with_mod_php_mysql = yes
  161. PreReq: apache::with_mod_php_xml = yes
  162. AutoReq: no
  163. AutoReqProv: no
  164. %description
  165. Drupal is a dynamic web site platform which allows an individual
  166. or community of users to publish, manage and organize a
  167. variety of content, Drupal integrates many popular features of
  168. content management systems, weblogs, collaborative tools and
  169. discussion-based community software into one easy-to-use package.
  170. %track
  171. prog drupal = {
  172. version = %{V_drupal}
  173. url = http://drupal.org/project/releases/%{V_drupal_major}
  174. regex = drupal-(__VER__)\.tar\.gz
  175. }
  176. prog drupal:article = {
  177. version = %{V_module_article}
  178. url = http://drupal.org/project/releases/%{V_drupal_major}
  179. regex = article-(__VER__)\.tar\.gz
  180. }
  181. prog drupal:buddylist = {
  182. version = %{V_module_buddylist}
  183. url = http://drupal.org/project/releases/%{V_drupal_major}
  184. regex = buddylist-(__VER__)\.tar\.gz
  185. }
  186. prog drupal:commentcloser = {
  187. version = %{V_module_commentcloser}
  188. url = http://drupal.org/project/releases/%{V_drupal_major}
  189. regex = commentcloser-(__VER__)\.tar\.gz
  190. }
  191. prog drupal:customerror = {
  192. version = %{V_module_customerror}
  193. url = http://drupal.org/project/releases/%{V_drupal_major}
  194. regex = customerror-(__VER__)\.tar\.gz
  195. }
  196. prog drupal:contextlinks = {
  197. version = %{V_module_contextlinks}
  198. url = http://drupal.org/project/releases/%{V_drupal_major}
  199. regex = contextlinks-(__VER__)\.tar\.gz
  200. }
  201. prog drupal:daily = {
  202. version = %{V_module_daily}
  203. url = http://drupal.org/project/releases/%{V_drupal_major}
  204. regex = daily-(__VER__)\.tar\.gz
  205. }
  206. prog drupal:feedback = {
  207. version = %{V_module_feedback}
  208. url = http://drupal.org/project/releases/%{V_drupal_major}
  209. regex = feedback-(__VER__)\.tar\.gz
  210. }
  211. prog drupal:flexinode = {
  212. version = %{V_module_flexinode}
  213. url = http://drupal.org/project/releases/%{V_drupal_major}
  214. regex = flexinode-(__VER__)\.tar\.gz
  215. }
  216. prog drupal:fontsize = {
  217. version = %{V_module_fontsize}
  218. url = http://drupal.org/project/releases/%{V_drupal_major}
  219. regex = fontsize-(__VER__)\.tar\.gz
  220. }
  221. prog drupal:front = {
  222. version = %{V_module_front}
  223. url = http://drupal.org/project/releases/%{V_drupal_major}
  224. regex = front-(__VER__)\.tar\.gz
  225. }
  226. prog drupal:livediscussions = {
  227. version = %{V_module_livediscussions}
  228. url = http://drupal.org/project/releases/%{V_drupal_major}
  229. regex = livediscussions-(__VER__)\.tar\.gz
  230. }
  231. prog drupal:nodewords = {
  232. version = %{V_module_nodewords}
  233. url = http://drupal.org/project/releases/%{V_drupal_major}
  234. regex = nodewords-(__VER__)\.tar\.gz
  235. }
  236. prog drupal:paypal_framework = {
  237. version = %{V_module_paypal_framework}
  238. url = http://drupal.org/project/releases/%{V_drupal_major}
  239. regex = paypal_framework-(__VER__)\.tar\.gz
  240. }
  241. prog drupal:paypal_subcription = {
  242. version = %{V_module_paypal_subscription}
  243. url = http://drupal.org/project/releases/%{V_drupal_major}
  244. regex = paypal_subscription-(__VER__)\.tar\.gz
  245. }
  246. prog drupal:quotes = {
  247. version = %{V_module_quotes}
  248. url = http://drupal.org/project/releases/%{V_drupal_major}
  249. regex = quotes-(__VER__)\.tar\.gz
  250. }
  251. prog drupal:rsvp = {
  252. version = %{V_module_rsvp}
  253. url = http://drupal.org/project/releases/%{V_drupal_major}
  254. regex = rsvp-(__VER__)\.tar\.gz
  255. }
  256. prog drupal:series = {
  257. version = %{V_module_series}
  258. url = http://drupal.org/project/releases/%{V_drupal_major}
  259. regex = series-(__VER__)\.tar\.gz
  260. }
  261. prog drupal:sitemenu = {
  262. version = %{V_module_sitemenu}
  263. url = http://drupal.org/project/releases/%{V_drupal_major}
  264. regex = sitemenu-(__VER__)\.tar\.gz
  265. }
  266. prog drupal:smartypants = {
  267. version = %{V_module_smartypants}
  268. url = http://drupal.org/project/releases/%{V_drupal_major}
  269. regex = smartypants-(__VER__)\.tar\.gz
  270. }
  271. prog drupal:taxonomy_block = {
  272. version = %{V_module_taxonomy_block}
  273. url = http://drupal.org/project/releases/%{V_drupal_major}
  274. regex = taxonomy_block-(__VER__)\.tar\.gz
  275. }
  276. prog drupal:taxonomy_menu = {
  277. version = %{V_module_taxonomy_menu}
  278. url = http://drupal.org/project/releases/%{V_drupal_major}
  279. regex = taxonomy_menu-(__VER__)\.tar\.gz
  280. }
  281. prog drupal:textile = {
  282. version = %{V_module_textile}
  283. url = http://drupal.org/project/releases/%{V_drupal_major}
  284. regex = textile-(__VER__)\.tar\.gz
  285. }
  286. prog drupal:week = {
  287. version = %{V_module_week}
  288. url = http://drupal.org/project/releases/%{V_drupal_major}
  289. regex = week-(__VER__)\.tar\.gz
  290. }
  291. %prep
  292. %setup -q -c
  293. %setup -q -D -T -a 1
  294. %setup -q -D -T -a 2
  295. %setup -q -D -T -a 3
  296. %setup -q -D -T -a 4
  297. %setup -q -D -T -a 5
  298. %setup -q -D -T -a 6
  299. %setup -q -D -T -a 7
  300. %setup -q -D -T -a 8
  301. %setup -q -D -T -a 9
  302. %setup -q -D -T -a 10
  303. %setup -q -D -T -a 11
  304. %setup -q -D -T -a 12
  305. %setup -q -D -T -a 13
  306. %setup -q -D -T -a 14
  307. %setup -q -D -T -a 15
  308. %setup -q -D -T -a 16
  309. %setup -q -D -T -a 17
  310. %setup -q -D -T -a 18
  311. %setup -q -D -T -a 19
  312. %setup -q -D -T -a 20
  313. %setup -q -D -T -a 21
  314. %setup -q -D -T -a 22
  315. %setup -q -D -T -a 23
  316. %setup -q -D -T -a 24
  317. %setup -q -D -T -a 25
  318. %setup -q -D -T -a 26
  319. %setup -q -D -T -a 27
  320. %setup -q -D -T -a 28
  321. %setup -q -D -T -a 29
  322. %setup -q -D -T -a 30
  323. %setup -q -D -T -a 31
  324. %setup -q -D -T -a 32
  325. %setup -q -D -T -a 33
  326. %setup -q -D -T -a 34
  327. %setup -q -D -T -a 35
  328. %setup -q -D -T -a 36
  329. %setup -q -D -T -a 37
  330. %setup -q -D -T -a 38
  331. %setup -q -D -T -a 39
  332. %setup -q -D -T -a 40
  333. %setup -q -D -T -a 41
  334. %setup -q -D -T -a 42
  335. %setup -q -D -T -a 43
  336. %setup -q -D -T -a 44
  337. %setup -q -D -T -a 45
  338. %setup -q -D -T -a 46
  339. %setup -q -D -T -a 47
  340. %setup -q -D -T -a 48
  341. %setup -q -D -T -a 49
  342. %setup -q -D -T -a 50
  343. %setup -q -D -T -a 51
  344. %setup -q -D -T -a 52
  345. %setup -q -D -T -a 53
  346. %setup -q -D -T -a 54
  347. %build
  348. %install
  349. # create installation hierarchy
  350. rm -rf $RPM_BUILD_ROOT
  351. %{l_shtool} mkdir -f -p -m 755 \
  352. $RPM_BUILD_ROOT%{l_prefix}/sbin \
  353. $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
  354. $RPM_BUILD_ROOT%{l_prefix}/etc/drupal \
  355. $RPM_BUILD_ROOT%{l_prefix}/share/drupal \
  356. $RPM_BUILD_ROOT%{l_prefix}/var/drupal/files \
  357. $RPM_BUILD_ROOT%{l_prefix}/var/drupal/run \
  358. $RPM_BUILD_ROOT%{l_prefix}/var/drupal/log
  359. # install all files and strip down installation afterwards
  360. cp -rp drupal-%{V_drupal}/* drupal-%{V_drupal}/.[a-z]* \
  361. $RPM_BUILD_ROOT%{l_prefix}/share/drupal/
  362. ( cd $RPM_BUILD_ROOT%{l_prefix}/share/drupal
  363. rm -f .htaccess
  364. rm -rf database/database.pgsql
  365. rm -rf scripts
  366. rm -f [A-Z]*.txt
  367. chmod a-x modules/*.module
  368. ) || exit $?
  369. # move configuration location
  370. mv $RPM_BUILD_ROOT%{l_prefix}/share/drupal/sites/default \
  371. $RPM_BUILD_ROOT%{l_prefix}/etc/drupal/default
  372. mkdir $RPM_BUILD_ROOT%{l_prefix}/etc/drupal/default/themes
  373. rmdir $RPM_BUILD_ROOT%{l_prefix}/share/drupal/sites
  374. %{l_shtool} mkln -t -s \
  375. $RPM_BUILD_ROOT%{l_prefix}/etc/drupal \
  376. $RPM_BUILD_ROOT%{l_prefix}/share/drupal/sites
  377. %{l_shtool} mkln -s \
  378. $RPM_BUILD_ROOT%{l_prefix}/var/drupal/files \
  379. $RPM_BUILD_ROOT%{l_prefix}/share/drupal/files
  380. # install add-on module
  381. %{l_shtool} mkdir -f -p -m 755 \
  382. $RPM_BUILD_ROOT%{l_prefix}/share/drupal/modules/extra
  383. for module in \
  384. article \
  385. attachment \
  386. buddylist \
  387. commentcloser \
  388. customerror \
  389. contextlinks \
  390. daily \
  391. diff \
  392. feedback \
  393. filemanager \
  394. flexinode \
  395. fontsize \
  396. forms \
  397. form_mail \
  398. freelinking \
  399. front \
  400. glossary \
  401. hof \
  402. htmlarea \
  403. image \
  404. livediscussions \
  405. mailalias \
  406. mailhandler \
  407. members \
  408. menu_otf \
  409. nodewords \
  410. nmoderation \
  411. node_import \
  412. og \
  413. paypal_framework \
  414. paypal_subscription \
  415. quotes \
  416. rsvp \
  417. series \
  418. sitemenu \
  419. smartypants \
  420. survey \
  421. syndication \
  422. taxonomy_block \
  423. taxonomy_browser \
  424. taxonomy_dhtml \
  425. taxonomy_menu \
  426. taxonomy_multi_edit \
  427. textile \
  428. theme_editor \
  429. tinymce \
  430. urlfilter \
  431. variable \
  432. webform \
  433. webserver_auth \
  434. week \
  435. ; do
  436. ( cd $module
  437. rm -f CHANGELOG* Changelog* CREDITS* INSTALL* LICENSE* README* TODO* || true
  438. rm -f */CHANGELOG* */Changelog* */CREDITS* */INSTALL* */LICENSE* */README* */TODO* || true
  439. rm -rf doc po || true
  440. rm -rf */doc */po || true
  441. ) || exit $?
  442. cp -rp $module $RPM_BUILD_ROOT%{l_prefix}/share/drupal/modules/extra/
  443. done
  444. # install add-on template engine
  445. %{l_shtool} mkdir -f -p -m 755 \
  446. $RPM_BUILD_ROOT%{l_prefix}/share/drupal/themes/engines/phptemplate
  447. ( cd phptemplate
  448. cp -p *.engine *.php \
  449. $RPM_BUILD_ROOT%{l_prefix}/share/drupal/themes/engines/phptemplate/
  450. ) || exit $?
  451. # install add-on themes
  452. for theme in \
  453. spreadfirefox \
  454. democratica \
  455. ; do
  456. ( cd $theme
  457. rm -f CHANGELOG* Changelog* CREDITS* INSTALL* LICENSE* README* TODO* || true
  458. rm -f */CHANGELOG* */Changelog* */CREDITS* */INSTALL* */LICENSE* */README* */TODO* || true
  459. ) || exit $?
  460. cp -rp $theme $RPM_BUILD_ROOT%{l_prefix}/share/drupal/themes/
  461. done
  462. # install run-command script
  463. %{l_shtool} install -c -m 755 %{l_value -s -a} \
  464. %{SOURCE rc.drupal} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  465. # install MySQL database setup script
  466. %{l_shtool} install -c -m 755 %{l_value -s -a} \
  467. %{SOURCE drupal-setup.sh} $RPM_BUILD_ROOT%{l_prefix}/sbin/drupal-setup
  468. # install Cron job script
  469. %{l_shtool} install -c -m 755 %{l_value -s -a} \
  470. %{SOURCE drupal-cron.sh} $RPM_BUILD_ROOT%{l_prefix}/sbin/drupal-cron
  471. # install custom Apache configuration
  472. l_hostname=`%{l_shtool} echo -e %h`
  473. l_domainname=`%{l_shtool} echo -e %d | cut -c2-`
  474. %{l_shtool} install -c -m 644 %{l_value -s -a} \
  475. -e "s;@l_hostname@;$l_hostname;g" \
  476. -e "s;@l_domainname@;$l_domainname;g" \
  477. %{SOURCE drupal-apache.conf} \
  478. $RPM_BUILD_ROOT%{l_prefix}/etc/drupal/
  479. # determine installation files
  480. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
  481. %{l_files_std} \
  482. '%config %{l_prefix}/etc/drupal/*' \
  483. '%config %{l_prefix}/etc/drupal/*/*' \
  484. '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/etc/drupal/default/*' \
  485. '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/share/drupal' \
  486. '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/drupal' \
  487. '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/drupal/files'
  488. %files -f files
  489. %clean
  490. rm -rf $RPM_BUILD_ROOT
  491. %post
  492. if [ $1 -eq 1 ]; then
  493. # display final hints on initial installation
  494. ( echo "1. To complete this installation of Drupal please start MySQL and"
  495. echo " initialize the Drupal database like this:"
  496. echo " \$ $RPM_INSTALL_PREFIX/etc/rc mysql start"
  497. echo " \$ $RPM_INSTALL_PREFIX/sbin/drupal-setup"
  498. echo ""
  499. echo "2. By default, Drupal is run by the OpenPKG cron jobs only every"
  500. echo " 15 minutes. To run Drupal every 5 minutes for more granular"
  501. echo " data gathering, set this variable:"
  502. echo " # $RPM_INSTALL_PREFIX/etc/rc.conf:"
  503. echo " drupal_cron=\"no\""
  504. echo " and insert a new cronjob for user %{l_rusr}"
  505. echo " # system crontab:"
  506. echo " */5 * * * * %{l_rusr} $RPM_INSTALL_PREFIX/sbin/drupal-cron"
  507. echo ""
  508. echo "3. By default, Drupal runs its own Apache server on IPv4 address"
  509. echo " 127.0.0.1, TCP port 8080. Please change this by editing the"
  510. echo " \"Port 8080\" and \"Listen 127.0.0.1:8080\" directives in"
  511. echo " $RPM_INSTALL_PREFIX/etc/drupal/drupal-apache.conf"
  512. echo " Also do not forget to adjust the \$base_url variable in:"
  513. echo " $RPM_INSTALL_PREFIX/etc/drupal/default/settings.php"
  514. echo ""
  515. echo "4. After this postinstallation, start Drupal by running"
  516. echo " \$ $RPM_INSTALL_PREFIX/etc/rc drupal start"
  517. echo " and connect with a browser to:"
  518. echo " http://127.0.0.1:8080/"
  519. echo " Create an account and login. The first account will"
  520. echo " automatically become the main administrator account"
  521. echo " with total control over your Drupal site."
  522. ) | %{l_rpmtool} msg -b -t notice
  523. fi
  524. if [ $1 -eq 2 ]; then
  525. # display final hints on update installation
  526. ( echo "Please perform a Drupal database upgrade by visiting the"
  527. echo " http://127.0.0.1:8080/update.php"
  528. echo "page on your Drupal website."
  529. ) | %{l_rpmtool} msg -b -t notice
  530. # after upgrade, restart service
  531. eval `%{l_rc} drupal status 2>/dev/null`
  532. [ ".$drupal_active" = .yes ] && %{l_rc} drupal restart
  533. fi
  534. exit 0
  535. %preun
  536. if [ $1 -eq 0 ]; then
  537. # before erase, stop service and remove log files
  538. %{l_rc} drupal stop 2>/dev/null
  539. rm -f $RPM_INSTALL_PREFIX/var/drupal/log/* >/dev/null 2>&1 || true
  540. rm -f $RPM_INSTALL_PREFIX/var/drupal/run/* >/dev/null 2>&1 || true
  541. fi
  542. exit 0