5fb557a1e97377a31afea151887219b96182aa35
[myplc.git] / build.sh
1 #!/bin/bash
2 #
3 # Builds MyPLC, either inside the MyPLC development environment in
4 # devel/root (if PLC_DEVEL_BOOTSTRAP is true), or in the current host
5 # environment (may be itself a MyPLC development environment or a
6 # Fedora environment with the appropriate development packages
7 # installed).
8 #
9 # Marc E. Fiuczynski <mef@cs.princeton.edu>
10 # Copyright (C) 2007 The Trustees of Princeton University
11 #
12 # $Id$
13 #
14
15 . build.functions
16
17 # XXX .spec file needs to have the appropriate set of requires statements
18
19 # Install configuration scripts
20 echo "* myplc-native: Installing configuration scripts"
21 pldistro=$1; shift
22 RPM_BUILD_ROOT=$1 ; shift
23 PYTHON_SITEARCH=`python -c 'from distutils.sysconfig import get_python_lib; print get_python_lib(1)'`
24 rm -rf ${RPM_BUILD_ROOT}
25 mkdir -p ${RPM_BUILD_ROOT}
26 echo "* myplc-native: installing plc_config.py in " ${PYTHON_SITEARCH}
27 install -D -m 755 plc_config.py ${RPM_BUILD_ROOT}/${PYTHON_SITEARCH}/plc_config.py
28 install -D -m 644 bashrc ${RPM_BUILD_ROOT}/usr/share/myplc/bashrc
29
30 echo "* myplc-native: installing scripts in /usr/bin"
31 install -D -m 755 plc-config ${RPM_BUILD_ROOT}/usr/bin/plc-config
32 install -D -m 755 plc-config-tty ${RPM_BUILD_ROOT}/usr/bin/plc-config-tty
33 install -D -m 755 db-config ${RPM_BUILD_ROOT}/usr/bin/db-config
34 install -D -m 755 dns-config ${RPM_BUILD_ROOT}/usr/bin/dns-config
35 install -D -m 755 plc-map.py ${RPM_BUILD_ROOT}/usr/bin/plc-map.py
36 install -D -m 755 plc-kml.py ${RPM_BUILD_ROOT}/usr/bin/plc-kml.py
37 install -D -m 755 refresh-peer.py ${RPM_BUILD_ROOT}/usr/bin/refresh-peer.py
38 install -D -m 755 clean-empty-dirs.py ${RPM_BUILD_ROOT}/usr/bin/clean-empty-dirs.py
39 install -D -m 755 mtail.py ${RPM_BUILD_ROOT}/usr/bin/mtail.py
40 install -D -m 755 plc-check-ssl-peering.py ${RPM_BUILD_ROOT}/usr/bin/plc-check-ssl-peering.py
41 install -D -m 755 plc-orphan-accounts.py ${RPM_BUILD_ROOT}/usr/bin/plc-orphan-accounts.py
42
43 # Install initscript 
44 install -D -m 755 plc.init ${RPM_BUILD_ROOT}/etc/init.d/plc
45
46 # Install initscripts
47 echo "* myplc-native: Installing initscripts"
48 find plc.d | cpio -p -d -u ${RPM_BUILD_ROOT}/etc/
49 chmod 755 ${RPM_BUILD_ROOT}/etc/plc.d/*
50
51 # Install db-config.d files
52 echo "* myplc: Installing db-config.d files"
53 mkdir -p ${RPM_BUILD_ROOT}/etc/planetlab/db-config.d
54 cp db-config.d/* ${RPM_BUILD_ROOT}/etc/planetlab/db-config.d
55 chmod 444 ${RPM_BUILD_ROOT}/etc/planetlab/db-config.d/*
56
57 # Extra scripts (mostly for mail and dns) not installed by myplc by default.  Used in production
58 echo "* myplc-native: installing scripts in /etc/support-scripts"
59 mkdir -p ${RPM_BUILD_ROOT}/etc/support-scripts
60 cp support-scripts/* ${RPM_BUILD_ROOT}/etc/support-scripts
61 chmod 444 ${RPM_BUILD_ROOT}/etc/support-scripts/*
62
63 # copy initscripts to etc/plc_sliceinitscripts
64 mkdir -p ${RPM_BUILD_ROOT}/etc/plc_sliceinitscripts
65 cp plc_sliceinitscripts/* ${RPM_BUILD_ROOT}/etc/plc_sliceinitscripts
66 chmod 444 ${RPM_BUILD_ROOT}/etc/plc_sliceinitscripts/*
67
68 # Install configuration file
69 echo "* myplc: Installing configuration file"
70 install -D -m 444 default_config.xml ${RPM_BUILD_ROOT}/etc/planetlab/default_config.xml
71 install -D -m 444 plc_config.dtd ${RPM_BUILD_ROOT}/etc/planetlab/plc_config.dtd
72
73 # yumgroups.xml and yum repo : let noderepo handle that
74
75 exit 0