blob: 56de9d90841974fc0f0e7a4d9655562d3afad98e [file] [log] [blame]
Siobhan Tully44fd4cc2014-02-23 00:07:12 -05001Summary: OpenCloud core services
2Name: opencloud
John H. Hartman7a3deca2014-08-11 16:46:27 -07003Version: 1.0.23
4Release: 0
Siobhan Tully44fd4cc2014-02-23 00:07:12 -05005License: GPL+
6Group: Development/Tools
7Source0: %{_tmppath}/%{name}-%{version}.tar.gz
8BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
9requires: postgresql
10requires: postgresql-server
11requires: python-psycopg2
12requires: graphviz
13requires: graphviz-devel
14requires: graphviz-python
15requires: libxslt-devel
16requires: python-pip
17requires: tar
18requires: gcc
Scott Baker524acdb2014-03-19 23:45:49 -070019requires: python-httplib2
Scott Baker09c7af42014-04-14 11:00:25 -070020requires: GeoIP
Siobhan Tully44fd4cc2014-02-23 00:07:12 -050021
22%description
23%{summary}
24
25%prep
26%setup -q
27
28%build
29# Empty section.
30
31%pre
Scott Baker8ccabb92014-06-25 23:07:54 -070032#pip-python install django==1.5
Siobhan Tully44fd4cc2014-02-23 00:07:12 -050033pip-python install djangorestframework
34pip-python install markdown # Markdown support for the browseable API.
35pip-python install pyyaml # YAML content-type support.
36pip-python install django-filter # Filtering support
37pip-python install lxml # XML manipulation library
38pip-python install netaddr # IP Addr library
39pip-python install pytz
40pip-python install django-timezones
41pip-python install requests
42pip-python install django-crispy-forms
43pip-python install django-geoposition
44pip-python install django-extensions
45pip-python install django-suit
46pip-python install django-evolution
Scott Baker524acdb2014-03-19 23:45:49 -070047pip-python install django-bitfield
Scott Baker09c7af42014-04-14 11:00:25 -070048pip-python install django-ipware
Siobhan Tully44fd4cc2014-02-23 00:07:12 -050049
50easy_install django_evolution
Scott Baker524acdb2014-03-19 23:45:49 -070051easy_install python_gflags
52easy_install google_api_python_client
53
54wget -P /usr/lib/python2.7/site-packages/suit/static/suit/js http://code.jquery.com/jquery-1.9.1.min.js
Siobhan Tully44fd4cc2014-02-23 00:07:12 -050055
Scott Baker566c0022014-04-18 16:14:04 -070056if [ ! -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
60fi
Scott Bakeredec3322014-04-14 23:51:04 -070061
Scott Baker91d769f2014-05-15 14:23:22 -070062if [ "$1" == 2 ] ; then
Scott Baker8ccabb92014-06-25 23:07:54 -070063 if [[ -e /opt/planetstack/scripts/opencloud ]]; then
64 echo "UPGRADE - saving current state"
65 /opt/planetstack/scripts/opencloud dumpdata
66 fi
Scott Baker91d769f2014-05-15 14:23:22 -070067fi
68
Siobhan Tully44fd4cc2014-02-23 00:07:12 -050069%install
70rm -rf %{buildroot}
71mkdir -p %{buildroot}
72install -d %{buildroot}/opt/planetstack
Sapan Bhatiaa4d3e382014-08-04 23:49:52 -040073install -d %{buildroot}/etc/init.d
Siobhan Tully44fd4cc2014-02-23 00:07:12 -050074
75# in builddir
John H. Hartman7a3deca2014-08-11 16:46:27 -070076
77
78# don't copy symbolic links (they are handled in %post)
79rsync -rptgoD ./planetstack %{buildroot}/opt/.
Sapan Bhatia55049402014-08-04 23:45:59 -040080cp observer-initscript %{buildroot}/etc/init.d/plstackobserver
Siobhan Tully44fd4cc2014-02-23 00:07:12 -050081
Scott Baker140f15a2014-05-15 15:14:23 -070082find %{buildroot}/opt/planetstack -type f -print | sed "s@^$RPM_BUILD_ROOT@@g" > %{_tmppath}/tmp-filelist
John H. Hartman7a3deca2014-08-11 16:46:27 -070083echo /etc/init.d/plstackobserver >> %{_tmppath}/tmp-filelist
84
85# remove config files from the file list (see %config below)
86cat > %{_tmppath}/config-files << "EOF"
87/opt/planetstack/plstackapi_config
88/opt/planetstack/deployment_auth.py
89EOF
90
91sort %{_tmppath}/tmp-filelist > %{_tmppath}/tmp-filelist.sorted
92sort %{_tmppath}/config-files > %{_tmppath}/config-files.sorted
93comm -13 %{_tmppath}/config-files.sorted %{_tmppath}/tmp-filelist.sorted > %{_tmppath}/tmp-filelist
94
Scott Baker140f15a2014-05-15 15:14:23 -070095cp %{_tmppath}/tmp-filelist /tmp/tmp-filelist
Siobhan Tully44fd4cc2014-02-23 00:07:12 -050096
97%clean
98rm -rf %{buildroot}
99
100%files -f %{_tmppath}/tmp-filelist
101%defattr(-,root,root,-)
Scott Baker140f15a2014-05-15 15:14:23 -0700102%config /opt/planetstack/plstackapi_config
Scott Baker8ccabb92014-06-25 23:07:54 -0700103%config /opt/planetstack/deployment_auth.py
Siobhan Tully44fd4cc2014-02-23 00:07:12 -0500104
105%post
John H. Hartman7a3deca2014-08-11 16:46:27 -0700106ln -s ec2_observer /opt/planetstack/observer
107ln -s config-opencloud.py /opt/planetstack/syndicate_observer/syndicatelib_config/config.py
108
Scott Bakere7df4a12014-05-15 14:21:31 -0700109if [ "$1" == 1 ] ; then
110 echo "NEW INSTALL - initializing database"
111 /opt/planetstack/scripts/opencloud initdb
112else
113 echo "UPGRADE - doing evolution"
114 /opt/planetstack/scripts/opencloud evolvedb
115fi
116# start the server
117/opt/planetstack/scripts/opencloud runserver
Siobhan Tully44fd4cc2014-02-23 00:07:12 -0500118
119%preun
Scott Baker4cd29252014-04-08 23:47:11 -0700120if [ "$1" = 0 ] ; then
Scott Bakere7df4a12014-05-15 14:21:31 -0700121 echo "UNINSTALL - destroying planetstack"
Scott Baker4cd29252014-04-08 23:47:11 -0700122 rm -rf /opt/planetstack
123fi
Siobhan Tully44fd4cc2014-02-23 00:07:12 -0500124
125%changelog
126* Sat Feb 22 2014 Siobhan Tully 1.0.0
127- First Build
128