1 Summary: OpenCloud core services
6 Group: Development/Tools
7 Source0: %{_tmppath}/%{name}-%{version}.tar.gz
8 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
10 requires: postgresql-server
11 requires: python-psycopg2
13 requires: graphviz-devel
14 requires: graphviz-python
15 requires: libxslt-devel
19 requires: python-httplib2
33 pip-python install django==1.7
34 pip-python install djangorestframework
35 pip-python install markdown # Markdown support for the browseable API.
36 pip-python install pyyaml # YAML content-type support.
37 pip-python install django-filter # Filtering support
38 pip-python install lxml # XML manipulation library
39 pip-python install netaddr # IP Addr library
40 pip-python install pytz
41 pip-python install django-timezones
42 pip-python install requests
43 pip-python install django-crispy-forms
44 pip-python install django-geoposition
45 pip-python install django-extensions
46 pip-python install django-suit
47 pip-python install django-evolution
48 pip-python install django-bitfield
49 pip-python install django-ipware
50 pip-python install django-encrypted-fields
51 pip-python install python-keyczar
53 easy_install django_evolution
54 easy_install python_gflags
55 easy_install google_api_python_client
57 if [ ! -f /usr/lib/python2.7/site-packages/suit/static/suit/js/jquery-1.9.1.min.js ]; then
58 wget -P /usr/lib/python2.7/site-packages/suit/static/suit/js http://code.jquery.com/jquery-1.9.1.min.js
61 if [ ! -f /usr/share/GeoIP/GeoLiteCity.dat ]; then
62 rm -f /usr/share/GeoIP/GeoLiteCity.*
63 wget -P /usr/share/GeoIP http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
64 gzip -d /usr/share/GeoIP/GeoLiteCity*.gz
67 if [ "$1" == 2 ] ; then
68 if [[ -e /opt/planetstack/scripts/opencloud ]]; then
69 echo "UPGRADE - saving current state"
70 /opt/planetstack/scripts/opencloud dumpdata
77 install -d %{buildroot}/opt/planetstack
78 install -d %{buildroot}/etc/init.d
83 # don't copy symbolic links (they are handled in %post)
84 rsync -rptgoD ./planetstack %{buildroot}/opt/.
85 cp observer-initscript %{buildroot}/etc/init.d/plstackobserver
87 find %{buildroot}/opt/planetstack -type f -print | sed "s@^$RPM_BUILD_ROOT@@g" > %{_tmppath}/tmp-filelist
88 echo /etc/init.d/plstackobserver >> %{_tmppath}/tmp-filelist
90 # remove config files from the file list (see %config below)
91 cat > %{_tmppath}/config-files << "EOF"
92 /opt/planetstack/plstackapi_config
93 /opt/planetstack/deployment_auth.py
96 sort %{_tmppath}/tmp-filelist > %{_tmppath}/tmp-filelist.sorted
97 sort %{_tmppath}/config-files > %{_tmppath}/config-files.sorted
98 comm -13 %{_tmppath}/config-files.sorted %{_tmppath}/tmp-filelist.sorted > %{_tmppath}/tmp-filelist
100 cp %{_tmppath}/tmp-filelist /tmp/tmp-filelist
105 %files -f %{_tmppath}/tmp-filelist
106 %defattr(-,root,root,-)
107 %config /opt/planetstack/plstackapi_config
108 %config /opt/planetstack/deployment_auth.py
111 ln -s ec2_observer /opt/planetstack/observer
112 ln -s config-opencloud.py /opt/planetstack/syndicate_observer/syndicatelib_config/config.py
114 if [ ! -e /opt/planetstack/public_keys ]; then
116 scripts/opencloud genkeys
119 if [ "$1" == 1 ] ; then
120 echo "NEW INSTALL - initializing database"
121 /opt/planetstack/scripts/opencloud initdb
123 # scripts/opencloud will choose evolve or migrate depending on django version
124 echo "UPGRADE - doing evolution/migration"
125 /opt/planetstack/scripts/opencloud evolvedb
129 /opt/planetstack/scripts/opencloud runserver
132 if [ "$1" = 0 ] ; then
133 echo "UNINSTALL - destroying planetstack"
134 rm -rf /opt/planetstack
138 * Sat Feb 22 2014 Siobhan Tully 1.0.0