- minify javascripts with jsmin at compile time
[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 18
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 BuildRequires: python
24
25 Vendor: OneLab
26 Packager: OneLab <support@one-lab.org>
27 Distribution: PlanetLab %{version}
28 URL: http://svn.one-lab.org/svn/new_plc_www/
29
30 # We use set everywhere
31 #Requires: httpd >= 2.0
32 Requires: php >= 5.0
33 Requires: postgresql >= 8.0
34 Requires: PLCAPI >= 4.3
35 Requires: drupal = 4.7
36 Requires: plewww-plekit
37
38 # this is what MyPLC requires
39 Provides: PLCWWW
40
41 # on centos5, when rebuilding the full monty, we get:
42 # Error: Missing Dependency: perl(GD) is needed by package PLCWWW
43 # and the perl-GD rpm is nowhere to be found
44 AutoReqProv: no
45
46 %package plekit
47 Summary: Utilities used by the plewww pages
48 Group: Applications/Systems
49
50 %description
51 The plewww package is made of the web pages that run on top of the 
52 PLCAPI component to provide the Web Interface to MyPLC users.
53
54 %description plekit
55 This subset of the plewww package has general purpose features for the benefit of other PL-related UI components.
56
57 %prep
58 %setup -q
59
60 %build
61 echo "Compressing javascript files"
62 make compress
63
64 %install
65 rm -rf $RPM_BUILD_ROOT
66
67 #
68 # plewww
69 # xxx : uninstall should undo this
70 #
71
72 echo "* PLEWWW: Installing web pages"
73 mkdir -p $RPM_BUILD_ROOT/var/www/html
74 # exclude codebase just in case
75 rsync -a --exclude jsmin.py --exclude Makefile --exclude httpd --exclude \*.spec --exclude .svn ./ $RPM_BUILD_ROOT/var/www/html/
76
77 echo "* PLEWWW: Installing conf files for httpd"
78 mkdir -p $RPM_BUILD_ROOT/etc/httpd/conf.d
79 install -D -m 644 httpd/*.conf $RPM_BUILD_ROOT/etc/httpd/conf.d/
80
81 %post
82 # attempt to perform most of the drupal post-install stuff - assuming version 6.x
83 drupal_settings_dir=/var/www/html/sites/default
84 if [ ! -d $drupal_settings_dir ] ; then
85     echo "Could not find directory $drupal_settings_dir"
86     echo "This suggests that you do not have a planetlab-custom drupal installed"
87     exit 1
88 fi
89 pushd $drupal_settings_dir
90 # tune $db_url
91 if [ ! -f settings.php.drupal ] ; then
92     cp settings.php settings.php.drupal
93     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";|' \
94         settings.php.drupal > settings.php
95 fi
96 popd
97 # append our own database creation hacks to the drupal database schema
98 pushd /var/www/html/database
99 if [ ! -f database.pgsql.drupal ] ; then
100     cp database.pgsql database.pgsql.drupal
101     cat database.pgsql.drupal ../drupal-hacks/database.pgsql > database.pgsql
102 fi
103 popd
104 # hack the welcome page for MyPLC
105 pushd /var/www/html/modules
106 if [ ! -f node.module.drupal ] ; then
107     cp node.module node.module.drupal
108     [ -f /var/www/html/drupal-hacks/node.module ] && cp -f /var/www/html/drupal-hacks/node.module /var/www/html/modules/node.module
109 fi
110 popd
111
112 %clean
113 rm -rf $RPM_BUILD_ROOT
114
115 %files
116 %defattr(-,root,root,-)
117 /var/www/html/modules
118 /var/www/html/planetlab
119 /var/www/html/googlemap
120 /var/www/html/drupal-hacks
121 /etc/httpd/conf.d
122
123 %files plekit
124 /var/www/html/plekit
125
126 %changelog
127 * Sun Jun 07 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-18
128 - planetlab module to show 'All My Sites Nodes' link rather than 'My Site Nodes' if several sites
129
130 * Sun Jun 07 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-17
131 - first draft for pcu-handling features
132 - lighter contrat for PLE/PLC toggles
133 - as many 'my site'-like  links as the user has sites
134
135 * Wed Jun 03 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-16
136 - fix for whitelisted nodes
137 - now links to the node register wizard
138 - can enable sites
139 - various other minor fixes, like broken planetlab.module for techs, and login link
140
141 * Sat May 30 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-15
142 - plekittable knows how to turn off sort-on-load, and the admin users pages do
143 - + various cosmetic fixes
144
145 * Tue May 26 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-14
146 - a few minor improvements pushed on PLE
147
148 * Fri May 15 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-13
149 - fix for sites that were displayed as not public
150 - improvements to the python interface to sortable tables for monitor
151
152 * Fri May 15 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-12
153 - various improvements
154
155 * Wed May 06 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-11
156 - sliver page now correctly shows sliver tags
157 - support for download-node-usb-partition and various other improvements
158
159 * Tue Apr 28 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-10
160 - a few tweaks and typos fixed on PLE
161
162 * Tue Apr 21 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-9
163 - slice_add & node_download dialogs use plekit
164 - slice_add can add people in the slice
165 - various improvements after rollout on PLE
166
167 * Fri Apr 17 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-8
168 - cosmetic fixes to be in 4.3-rc2
169 - also a first (unpackaged) draft of the plekit table in python
170
171 * Tue Apr 14 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-7
172 - search in tables more robust
173
174 * Thu Apr 09 2009 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - PLEWWW-4.3-6
175 - performance improvements
176
177 * Thu Apr 09 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-5
178 - detect expired session and redirect to the login page
179
180 * Thu Apr 09 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-4
181 - improve browser health - was using too many cycles
182
183 * Tue Apr 07 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-3
184 - more consistency between views, and cosmetic changes
185
186 * Mon Mar 30 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-2
187 - area for managing slice tags
188
189 * Tue Mar 24 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLEWWW-4.3-1
190 - first checkpoint tag for PLEWWW
191 - mostly functionally complete, probably a lot of tweaks still needed
192
193 * Fri Apr 25 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-onelab.4.2-11
194 - everyone is welcome to add nodes
195
196 * Thu Apr 24 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-onelab.4.2-10
197 - node-specific bootcd images to include arch in their name
198
199 * Wed Apr 23 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-onelab.4.2-9
200 - remove explicit dep to bootcd as the rpm name has changed
201
202 * Mon Mar 03 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-7 PLCWWW-4.2-8
203 - noarch
204
205 * Fri Feb 15 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-6 PLCWWW-4.2-7
206 - should fix yum.conf on nodes after install
207
208 * Thu Feb 14 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-5 PLCWWW-4.2-6
209 - uses different path for getbootmedium results - should be safer
210
211 * Sun Feb 10 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-4 PLCWWW-4.2-5
212 - comon icon replaced with the one from the comon website
213
214 * Fri Feb 08 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-3 PLCWWW-4.2-4
215 - displays rpms in the about page
216
217 * Thu Feb 07 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-2 PLCWWW-4.2-3
218 - safer, reference-less, way to implement layout mechnism - see
219 - settings.php for details
220 - setting types properly displayed according to user's role
221 - setting deletion : fixed (was still using code from slice attribute)
222 - more comon buttons : in the nodes and peers index pages
223 - comon_button knows about peer_id
224
225 * Tue Jan 22 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-1 PLCWWW-4.2-2
226 - merged the PlanetLabConf from Princeton's tag PLCWWW-4.1-1
227
228 * Mon Apr 16 2007 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> -
229 - Initial build.