split in two
[plewww.git] / plewww.spec
1 #
2 # $Id$
3 #
4
5 # what the myplc rpm requires
6 %define name plewww
7 %define version 5.0
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 for building the plewww pages, for the benefit of other PL-related UI components.
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 %prep
54 %setup -q
55
56 %build
57 echo "There is no build stage for this component"
58 echo "All files just need to be installed as is from the codebase"
59
60 %install
61 rm -rf $RPM_BUILD_ROOT
62
63 #
64 # plcwww
65 #
66
67 echo "* PLEWWW: Installing web pages"
68 mkdir -p $RPM_BUILD_ROOT/var/www/html
69 # let's be conservative and exclude codebase files, though there should not be any
70 rsync -a --exclude \*.spec --exclude .svn --exclude CVS ./ $RPM_BUILD_ROOT/var/www/html/
71
72 echo "* PLEWWW: Installing config for httpd"
73 install -D -m 644 httpd.conf $RPM_BUILD_ROOT/etc/httpd/conf.d/plcwww.conf
74
75 %post
76 # attempt to perform most of the drupal post-install stuff - assuming version 6.x
77 drupal_settings_dir=/var/www/html/sites/default
78 if [ ! -d $drupal_settings_dir ] ; then
79     echo "Could not find directory $drupal_settings_dir"
80     echo "This suggests that you do not have a planetlab-custom drupal installed"
81     exit 1
82 fi
83 pushd $drupal_settings_dir
84 # tune $db_url
85 if [ ! -f settings.php.drupal ] ; then
86     cp settings.php settings.php.drupal
87     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";|' \
88         settings.php.drupal > settings.php
89 fi
90 popd
91 # append our own database creation hacks to the drupal database schema
92 pushd /var/www/html/database
93 if [ ! -f database.pgsql.drupal ] ; then
94     cp database.pgsql database.pgsql.drupal
95     cat database.pgsql.drupal ../drupal-hacks/database.pgsql > database.pgsql
96 fi
97 popd
98 # hack the welcome page for MyPLC
99 pushd /var/www/html/modules
100 if [ ! -f node.module.drupal ] ; then
101     cp node.module node.module.drupal
102     [ -f /var/www/html/drupal-hacks/node.module ] && cp -f /var/www/html/drupal-hacks/node.module /var/www/html/modules/node.module
103 fi
104 popd
105
106 %clean
107 rm -rf $RPM_BUILD_ROOT
108
109 %files
110 %defattr(-,root,root,-)
111 /var/www/html/modules
112 /var/www/html/planetlab
113 /var/www/html/googlemap
114 /var/www/html/drupal-hacks
115 /etc/httpd/conf.d/plcwww.conf
116
117 %files plekit
118 /var/www/html/plekit
119
120 %changelog
121 * Fri Apr 25 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-onelab.4.2-11
122 - everyone is welcome to add nodes
123
124 * Thu Apr 24 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-onelab.4.2-10
125 - node-specific bootcd images to include arch in their name
126
127 * Wed Apr 23 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-onelab.4.2-9
128 - remove explicit dep to bootcd as the rpm name has changed
129
130 * Mon Mar 03 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-7 PLCWWW-4.2-8
131 - noarch
132
133 * Fri Feb 15 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-6 PLCWWW-4.2-7
134 - should fix yum.conf on nodes after install
135
136 * Thu Feb 14 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-5 PLCWWW-4.2-6
137 - uses different path for getbootmedium results - should be safer
138
139 * Sun Feb 10 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-4 PLCWWW-4.2-5
140 - comon icon replaced with the one from the comon website
141
142 * Fri Feb 08 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-3 PLCWWW-4.2-4
143 - displays rpms in the about page
144
145 * Thu Feb 07 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-2 PLCWWW-4.2-3
146 - safer, reference-less, way to implement layout mechnism - see
147 - settings.php for details
148 - setting types properly displayed according to user's role
149 - setting deletion : fixed (was still using code from slice attribute)
150 - more comon buttons : in the nodes and peers index pages
151 - comon_button knows about peer_id
152
153 * Tue Jan 22 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCWWW-4.2-1 PLCWWW-4.2-2
154 - merged the PlanetLabConf from Princeton's tag PLCWWW-4.1-1
155
156 * Mon Apr 16 2007 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> -
157 - Initial build.