Make changes to install observer initscript in the right place
[plstackapi.git] / opencloud.spec
1 Summary: OpenCloud core services
2 Name: opencloud
3 Version: 1.0.20
4 Release: 1
5 License: GPL+
6 Group: Development/Tools
7 Source0: %{_tmppath}/%{name}-%{version}.tar.gz
8 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
9 requires: postgresql
10 requires: postgresql-server
11 requires: python-psycopg2
12 requires: graphviz
13 requires: graphviz-devel
14 requires: graphviz-python
15 requires: libxslt-devel
16 requires: python-pip
17 requires: tar
18 requires: gcc
19 requires: python-httplib2
20 requires: GeoIP
21
22 %description
23 %{summary}
24
25 %prep
26 %setup -q
27
28 %build
29 # Empty section.
30
31 %pre
32 #pip-python install django==1.5
33 pip-python install djangorestframework
34 pip-python install markdown  # Markdown support for the browseable API.
35 pip-python install pyyaml    # YAML content-type support.
36 pip-python install django-filter  # Filtering support
37 pip-python install lxml  # XML manipulation library
38 pip-python install netaddr # IP Addr library
39 pip-python install pytz
40 pip-python install django-timezones
41 pip-python install requests
42 pip-python install django-crispy-forms
43 pip-python install django-geoposition
44 pip-python install django-extensions
45 pip-python install django-suit
46 pip-python install django-evolution
47 pip-python install django-bitfield
48 pip-python install django-ipware
49
50 easy_install django_evolution
51 easy_install python_gflags
52 easy_install google_api_python_client
53
54 wget -P /usr/lib/python2.7/site-packages/suit/static/suit/js http://code.jquery.com/jquery-1.9.1.min.js
55
56 if [ ! -f /usr/share/GeoIP/GeoLiteCity.dat ]; then
57    rm -f /usr/share/GeoIP/GeoLiteCity.*
58    wget -P /usr/share/GeoIP http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
59    gzip -d /usr/share/GeoIP/GeoLiteCity*.gz
60 fi
61
62 if [ "$1" == 2 ] ; then
63     if [[ -e /opt/planetstack/scripts/opencloud ]]; then
64         echo "UPGRADE - saving current state"
65         /opt/planetstack/scripts/opencloud dumpdata
66     fi
67 fi
68
69 %install
70 rm -rf %{buildroot}
71 mkdir -p  %{buildroot}
72 install -d %{buildroot}/opt/planetstack
73 install -d %{buildroot}/etc/init.d
74
75 # in builddir
76 cp -rp ./planetstack %{buildroot}/opt/.
77 cp observer-initscript %{buildroot}/etc/init.d/plstackobserver
78
79 find %{buildroot}/opt/planetstack -type f -print | sed "s@^$RPM_BUILD_ROOT@@g" > %{_tmppath}/tmp-filelist
80 cp %{_tmppath}/tmp-filelist /tmp/tmp-filelist
81 echo /etc/init.d/plstackobserver > %{_tmppath}/tmp-filelist
82
83 %clean
84 rm -rf %{buildroot}
85
86 %files -f %{_tmppath}/tmp-filelist
87 %defattr(-,root,root,-)
88 %config /opt/planetstack/plstackapi_config
89 %config /opt/planetstack/deployment_auth.py
90
91 %post
92 if [ "$1" == 1 ] ; then
93     echo "NEW INSTALL - initializing database"
94     /opt/planetstack/scripts/opencloud initdb
95 else
96     echo "UPGRADE - doing evolution"
97     /opt/planetstack/scripts/opencloud evolvedb
98 fi
99 # start the server
100 /opt/planetstack/scripts/opencloud runserver
101
102 %preun
103 if [ "$1" = 0 ] ; then
104     echo "UNINSTALL - destroying planetstack"
105     rm -rf /opt/planetstack
106 fi
107
108 %changelog
109 * Sat Feb 22 2014  Siobhan Tully  1.0.0
110 - First Build
111