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