Summary: OpenCloud core services
Name: opencloud
-Version: 1.0.20
-Release: 1
+Version: 1.0.26
+Release: 7
License: GPL+
Group: Development/Tools
Source0: %{_tmppath}/%{name}-%{version}.tar.gz
# Empty section.
%pre
-#pip-python install django==1.5
+pip-python install django==1.7
pip-python install djangorestframework
pip-python install markdown # Markdown support for the browseable API.
pip-python install pyyaml # YAML content-type support.
pip-python install django-evolution
pip-python install django-bitfield
pip-python install django-ipware
+pip-python install django-encrypted-fields
+pip-python install python-keyczar
easy_install django_evolution
easy_install python_gflags
easy_install google_api_python_client
-wget -P /usr/lib/python2.7/site-packages/suit/static/suit/js http://code.jquery.com/jquery-1.9.1.min.js
+if [ ! -f /usr/lib/python2.7/site-packages/suit/static/suit/js/jquery-1.9.1.min.js ]; then
+ wget -P /usr/lib/python2.7/site-packages/suit/static/suit/js http://code.jquery.com/jquery-1.9.1.min.js
+fi
if [ ! -f /usr/share/GeoIP/GeoLiteCity.dat ]; then
rm -f /usr/share/GeoIP/GeoLiteCity.*
rm -rf %{buildroot}
mkdir -p %{buildroot}
install -d %{buildroot}/opt/planetstack
+install -d %{buildroot}/etc/init.d
# in builddir
-cp -rp ./planetstack %{buildroot}/opt/.
+
+
+# don't copy symbolic links (they are handled in %post)
+rsync -rptgoD ./planetstack %{buildroot}/opt/.
+cp observer-initscript %{buildroot}/etc/init.d/plstackobserver
find %{buildroot}/opt/planetstack -type f -print | sed "s@^$RPM_BUILD_ROOT@@g" > %{_tmppath}/tmp-filelist
+echo /etc/init.d/plstackobserver >> %{_tmppath}/tmp-filelist
+
+# remove config files from the file list (see %config below)
+cat > %{_tmppath}/config-files << "EOF"
+/opt/planetstack/plstackapi_config
+/opt/planetstack/deployment_auth.py
+EOF
+
+sort %{_tmppath}/tmp-filelist > %{_tmppath}/tmp-filelist.sorted
+sort %{_tmppath}/config-files > %{_tmppath}/config-files.sorted
+comm -13 %{_tmppath}/config-files.sorted %{_tmppath}/tmp-filelist.sorted > %{_tmppath}/tmp-filelist
+
cp %{_tmppath}/tmp-filelist /tmp/tmp-filelist
%clean
%config /opt/planetstack/deployment_auth.py
%post
+ln -s ec2_observer /opt/planetstack/observer
+ln -s config-opencloud.py /opt/planetstack/syndicate_observer/syndicatelib_config/config.py
+
+if [ ! -e /opt/planetstack/public_keys ]; then
+ cd /opt/planetstack
+ scripts/opencloud genkeys
+fi
+
if [ "$1" == 1 ] ; then
echo "NEW INSTALL - initializing database"
/opt/planetstack/scripts/opencloud initdb
else
- echo "UPGRADE - doing evolution"
+ # scripts/opencloud will choose evolve or migrate depending on django version
+ echo "UPGRADE - doing evolution/migration"
/opt/planetstack/scripts/opencloud evolvedb
fi
+
# start the server
/opt/planetstack/scripts/opencloud runserver