X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=opencloud.spec;h=56de9d90841974fc0f0e7a4d9655562d3afad98e;hb=798881268d3586ecbaf4483b69d71cf8ec27583b;hp=54aa962269a06eb59c0a621c3b7ed649005cc252;hpb=a4c337f6f16c2e9a32bfaecb7c39cf323a3ddfe7;p=plstackapi.git diff --git a/opencloud.spec b/opencloud.spec index 54aa962..56de9d9 100644 --- a/opencloud.spec +++ b/opencloud.spec @@ -1,7 +1,7 @@ Summary: OpenCloud core services Name: opencloud -Version: 1.0.10 -Release: 1 +Version: 1.0.23 +Release: 0 License: GPL+ Group: Development/Tools Source0: %{_tmppath}/%{name}-%{version}.tar.gz @@ -29,7 +29,7 @@ requires: GeoIP # Empty section. %pre -pip-python install django==1.5 +#pip-python install django==1.5 pip-python install djangorestframework pip-python install markdown # Markdown support for the browseable API. pip-python install pyyaml # YAML content-type support. @@ -59,28 +59,66 @@ if [ ! -f /usr/share/GeoIP/GeoLiteCity.dat ]; then gzip -d /usr/share/GeoIP/GeoLiteCity*.gz fi +if [ "$1" == 2 ] ; then + if [[ -e /opt/planetstack/scripts/opencloud ]]; then + echo "UPGRADE - saving current state" + /opt/planetstack/scripts/opencloud dumpdata + fi +fi + %install rm -rf %{buildroot} mkdir -p %{buildroot} install -d %{buildroot}/opt/planetstack +install -d %{buildroot}/etc/init.d # in builddir -cp -rp ./planetstack %{buildroot}/opt/. -find %{buildroot}/opt/planetstack -type f -print | sed "s@^$RPM_BUILD_ROOT@@g" > %{_tmppath}/tmp-filelist + +# 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 rm -rf %{buildroot} %files -f %{_tmppath}/tmp-filelist %defattr(-,root,root,-) +%config /opt/planetstack/plstackapi_config +%config /opt/planetstack/deployment_auth.py %post -/opt/planetstack/scripts/opencloud initdb +ln -s ec2_observer /opt/planetstack/observer +ln -s config-opencloud.py /opt/planetstack/syndicate_observer/syndicatelib_config/config.py + +if [ "$1" == 1 ] ; then + echo "NEW INSTALL - initializing database" + /opt/planetstack/scripts/opencloud initdb +else + echo "UPGRADE - doing evolution" + /opt/planetstack/scripts/opencloud evolvedb +fi +# start the server +/opt/planetstack/scripts/opencloud runserver %preun if [ "$1" = 0 ] ; then - echo "doing preuninstall" + echo "UNINSTALL - destroying planetstack" rm -rf /opt/planetstack fi