mass-renaming 5.0 into 4.3 - db still named planetlab5 and planetlab5.sql
[plewww.git] / plewww.spec
1 #
2 # $Id$
3 #
4
5 # what the myplc rpm requires
6 %define name plewww
7 %define version 4.3
8 %define taglevel 0
9
10 # no need to mention pldistro as this module differs in both distros
11 #%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
12 %define release %{taglevel}%{?date:.%{date}}
13
14 Summary: PlanetLab Europe (PLC) Web Pages
15 Name: %{name}
16 Version: %{version}
17 Release: %{release}
18 License: PlanetLab
19 Group: Applications/Systems
20 Source0: %{name}-%{version}.tar.gz
21 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
22 BuildArch: noarch
23
24 Vendor: OneLab
25 Packager: OneLab <support@one-lab.org>
26 Distribution: PlanetLab %{version}
27 URL: http://svn.one-lab.org/svn/new_plc_www/
28
29 # We use set everywhere
30 #Requires: httpd >= 2.0
31 Requires: php >= 5.0
32 Requires: postgresql >= 8.0
33 Requires: PLCAPI >= 5.0
34 Requires: drupal = 4.7
35 Requires: plewww-plekit
36
37 # this is what MyPLC requires
38 Provides: PLCWWW
39
40 # on centos5, when rebuilding the full monty, we get:
41 # Error: Missing Dependency: perl(GD) is needed by package PLCWWW
42 # and the perl-GD rpm is nowhere to be found
43 AutoReqProv: no
44
45 %package plekit
46 Summary: Utilities used by the plewww pages
47 Group: Applications/Systems
48
49 %description
50 The plewww package is made of the web pages that run on top of the 
51 PLCAPI component to provide the Web Interface to MyPLC users.
52
53 %description plekit
54 This subset of the plewww package has general purpose features for the benefit of other PL-related UI components.
55
56 %prep
57 %setup -q
58
59 %build
60 echo "There is no build stage for this component"
61 echo "All files just need to be installed as is from the codebase"
62
63 %install
64 rm -rf $RPM_BUILD_ROOT
65
66 #
67 # plcwww
68 #
69
70 echo "* PLEWWW: Installing web pages"
71 mkdir -p $RPM_BUILD_ROOT/var/www/html
72 # exclude codebase just in case
73 rsync -a --exclude Makefile --exclude httpd --exclude \*.spec --exclude .svn ./ $RPM_BUILD_ROOT/var/www/html/
74
75 echo "* PLEWWW: Installing conf files for httpd"
76 mkdir -p $RPM_BUILD_ROOT/etc/httpd/conf.d
77 install -D -m 644 httpd/*.conf $RPM_BUILD_ROOT/etc/httpd/conf.d/
78
79 %post
80 # attempt to perform most of the drupal post-install stuff - assuming version 6.x
81 drupal_settings_dir=/var/www/html/sites/default
82 if [ ! -d $drupal_settings_dir ] ; then
83     echo "Could not find directory $drupal_settings_dir"
84     echo "This suggests that you do not have a planetlab-custom drupal installed"
85     exit 1
86 fi
87 pushd $drupal_settings_dir
88 # tune $db_url
89 if [ ! -f settings.php.drupal ] ; then
90     cp settings.php settings.php.drupal
91     sed -e 's|^[ \t]*\$db_url.*|require_once("plc_config.php");$db_url="pgsql://" . PLC_DB_USER . ":" . PLC_DB_PASSWORD . "@" . PLC_DB_HOST . ":" . PLC_DB_PORT . "/drupal";|' \
92         settings.php.drupal > settings.php
93 fi
94 popd
95 # append our own database creation hacks to the drupal database schema
96 pushd /var/www/html/database
97 if [ ! -f database.pgsql.drupal ] ; then
98     cp database.pgsql database.pgsql.drupal
99     cat database.pgsql.drupal ../drupal-hacks/database.pgsql > database.pgsql
100 fi
101 popd
102 # hack the welcome page for MyPLC
103 pushd /var/www/html/modules
104 if [ ! -f node.module.drupal ] ; then
105     cp node.module node.module.drupal
106     [ -f /var/www/html/drupal-hacks/node.module ] && cp -f /var/www/html/drupal-hacks/node.module /var/www/html/modules/node.module
107 fi
108 popd
109
110 %clean
111 rm -rf $RPM_BUILD_ROOT
112
113 %files
114 %defattr(-,root,root,-)
115 /var/www/html/modules
116 /var/www/html/planetlab
117 /var/www/html/googlemap
118 /var/www/html/drupal-hacks
119 /etc/httpd/conf.d
120
121 %files plekit
122 /var/www/html/plekit
123
124 %changelog
125 * Fri Apr 25 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-onelab.4.2-11
126 - everyone is welcome to add nodes
127
128 * Thu Apr 24 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-onelab.4.2-10
129 - node-specific bootcd images to include arch in their name
130
131 * Wed Apr 23 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-onelab.4.2-9
132 - remove explicit dep to bootcd as the rpm name has changed
133
134 * Mon Mar 03 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-7 PLCWWW-4.2-8
135 - noarch
136
137 * Fri Feb 15 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-6 PLCWWW-4.2-7
138 - should fix yum.conf on nodes after install
139
140 * Thu Feb 14 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-5 PLCWWW-4.2-6
141 - uses different path for getbootmedium results - should be safer
142
143 * Sun Feb 10 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-4 PLCWWW-4.2-5
144 - comon icon replaced with the one from the comon website
145
146 * Fri Feb 08 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-3 PLCWWW-4.2-4
147 - displays rpms in the about page
148
149 * Thu Feb 07 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-2 PLCWWW-4.2-3
150 - safer, reference-less, way to implement layout mechnism - see
151 - settings.php for details
152 - setting types properly displayed according to user's role
153 - setting deletion : fixed (was still using code from slice attribute)
154 - more comon buttons : in the nodes and peers index pages
155 - comon_button knows about peer_id
156
157 * Tue Jan 22 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-1 PLCWWW-4.2-2
158 - merged the PlanetLabConf from Princeton's tag PLCWWW-4.1-1
159
160 * Mon Apr 16 2007 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> -
161 - Initial build.