software.cfg 7.25 KB
Newer Older
1
[buildout]
2 3 4
extensions =
  buildout-versions
  
5
extends =
6
  ../../component/gzip/buildout.cfg
7
  ../../component/dcron/buildout.cfg
8
  ../../component/logrotate/buildout.cfg
9
  ../../component/git/buildout.cfg
10
  ../../component/gnutls/buildout.cfg
11
  ../../component/libpng/buildout.cfg
12 13 14
  ../../component/libuuid/buildout.cfg
  ../../component/noVNC/buildout.cfg
  ../../component/openssl/buildout.cfg
15 16
  ../../component/dash/buildout.cfg
  ../../stack/nodejs.cfg
17
  ../../stack/shacache-client.cfg
18

19 20
develop =
  ${:parts-directory}/websockify
21
  /opt/slapdev
22

Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
23 24
parts =
  template
25
  dash
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
26 27
  kvm
  eggs
28
  check-local-eggs
29 30 31 32 33 34 35 36 37
  check-local-eggs2
  nodejs
  npm
  http-proxy
  proxy-by-url
  npm-modules
  dcron
  logrotate
  fail
38

39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
find-links +=
  http://www.nexedi.org/static/packages/source/slapos.buildout/

versions = versions

# Use only quite well working sites.
allow-hosts =
  *.nexedi.org
  *.python.org
  *.sourceforge.net
  alastairs-place.net
  dist.repoze.org
  effbot.org
  github.com
  peak.telecommunity.com
  psutil.googlecode.com
  www.dabeaz.com
  www.owlfish.com
57 58 59 60 61 62
  launchpad.net

# XXX: Workaround of SlapOS limitation
# Unzippig of eggs is required, as SlapOS do not yet provide nicely working
# development / fast switching environment for whole software
unzip = true
63

64 65 66 67 68 69 70 71 72 73 74 75 76
#XXX-Cedric : Currently, one can only access to KVM using noVNC.
#             Ideally one should be able to access KVM by using either NoVNC or VNC.
#             Problem is : no native crypto support in web browsers. So we have to disable ssl
#             In qemu builtin vnc server, and make it available only for localhost 
#             so that only novnc can listen to it.

#XXX-Cedric: Check status of https://github.com/kanaka/noVNC/issues/13 to see
#            When qemu has builtin support for websockets in vnc server to get rid of 
#            Websockify (socket <-> websocket proxy server) when it is ready.
#            May solve previous XXX depending on the implementation.

#XXX-Cedric: Check status of 
#            https://www.tiolive.com/nexedi/bug_module/20110819-11F4F70 for
77
#            Chrome >= 14 and Firefox >=7 can access to noVNC. (should be solved)
78

79 80 81 82
#XXX-Cedric : add list of keyboard layouts (azerty/us querty/...) parameter to qemu

[kvm]
recipe = hexagonit.recipe.cmmi
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
83 84
url = http://downloads.sourceforge.net/project/kvm/qemu-kvm/1.0/qemu-kvm-1.0.tar.gz
md5sum = 00a825db46a70ba8ef9fc95da9cc7c1e
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
configure-options =
  --disable-sdl
  --disable-xen
  --enable-vnc-tls
  --disable-vnc-sasl
  --disable-curses
  --disable-curl
  --enable-kvm
  --disable-docs
  --enable-vnc-png
  --disable-vnc-jpeg
  --extra-cflags="-I${gnutls:location}/include -I${libuuid:location}/include -I${zlib:location}/include -I${libpng:location}/include"
  --extra-ldflags="-Wl,-rpath -Wl,${glib:location}/lib -L${glib:location}/lib -Wl,-rpath -Wl,${gnutls:location}/lib -L${gnutls:location}/lib -L${gettext:location}/lib -Wl,-rpath -Wl,${gettext:location}/lib -Wl,-rpath -Wl,${libpng:location}/lib -L${libpng:location}/lib -L${libuuid:location}/lib -Wl,-rpath -Wl,${libuuid:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -lpng -lz -lgnutls"
  --disable-werror
environment =
  PATH=${pkgconfig:location}/bin:%(PATH)s
  PKG_CONFIG_PATH=${gnutls:location}/lib/pkgconfig:${glib:location}/lib/pkgconfig
102 103

[websockify]
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
104
# XXX-Cedric : use official egg from pypi when it is released
105 106
recipe = plone.recipe.command
stop-on-error = true
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
107 108
commit = e7363f43443deb9982bdb5c3db50eec475584b06
repository = https://github.com/desaintmartin/websockify.git
109
location = ${buildout:parts-directory}/${:_buildout_section_name_}
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
110
git-binary = ${git:location}/bin/git
111
command = export GIT_SSL_NO_VERIFY=true; (${:git-binary} clone --quiet ${:repository} ${:location} && cd ${:location} && ${:git-binary} reset --hard ${:commit}) || (rm -fr ${:location}; exit 1)
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
112
update-command =
113 114 115 116 117 118 119 120

[check-local-eggs]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command = grep parts ${buildout:develop-eggs-directory}/websockify.egg-link
depends = ${eggs:dummy}

121 122 123 124 125 126 127
[check-local-eggs2]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command = grep slapdev ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
depends = ${eggs:dummy}

128 129 130 131 132
[eggs]
recipe = z3c.recipe.scripts
dummy =
  ${websockify:location}
eggs =
133
#   ${lxml-python:egg}
134
  websockify
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
  slapos.cookbook
  slapos.toolbox

[http-proxy]
# https://github.com/nodejitsu/node-http-proxy
recipe = slapos.recipe.build:download-unpacked
#XXX-Cedric : use upstream when merged
url = https://nodeload.github.com/desaintmartin/node-http-proxy/zipball/master
md5sum = 20204d0b29c2cef26e1c91e99eedca6b

[proxy-by-url]
# https://github.com/dominictarr/proxy-by-url
recipe = slapos.recipe.build:download-unpacked
#XXX-Cedric : use upstream when merged
url = https://nodeload.github.com/desaintmartin/proxy-by-url/zipball/master
md5sum = f6a7c4f8f01f3049086a1dbde2cd141c

[npm-modules]
recipe = plone.recipe.command
destination = ${buildout:parts-directory}/${:_buildout_section_name_}
location = ${buildout:parts-directory}/${:_buildout_section_name_}
command =
  rm -fr ${:destination} &&
  mkdir -p ${:destination} &&
  cd ${:destination} &&
  ${nodejs:location}/bin/node ${npm:location}/bin/npm install colors &&
  ${nodejs:location}/bin/node ${npm:location}/bin/npm install socket.io &&
  ${nodejs:location}/bin/node ${npm:location}/bin/npm install socket.io-client &&
  ${nodejs:location}/bin/node ${npm:location}/bin/npm install optimist
  ${nodejs:location}/bin/node ${npm:location}/bin/npm install pkginfo


[template-kvm]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-kvm.cfg
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
170
md5sum = 223cd79d1cc92b0db6f8e56f6c37fba9
171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
output = ${buildout:directory}/template-kvm.cfg
mode = 0644

[template-nbd]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-nbd.cfg
md5sum = 35bb719918248a90167b9c0c6a96ce75
output = ${buildout:directory}/template-nbd.cfg
mode = 0644

[template-frontend]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-frontend.cfg
md5sum = 16a28991ce59f215f11d7cc61906d64e
output = ${buildout:directory}/template-frontend.cfg
mode = 0644

188 189 190
[template]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
191
md5sum = 0a98e34aaec7097a84066c0665e3a49a
192 193
output = ${buildout:directory}/template.cfg
mode = 0644
Łukasz Nowak's avatar
Łukasz Nowak committed
194 195

[versions]
196
# Use SlapOS patched zc.buildout
197
zc.buildout = 1.6.0-dev-SlapOS-004
198 199 200 201 202 203

[fail]
recipe = plone.recipe.command
stop-on-error = true
command = touch /couscous

204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221

[networkcache]
# signature certificates of the following uploaders.
#   Romain Courteaud
signature-certificate-list =
  -----BEGIN CERTIFICATE-----
  MIIB4DCCAUkCADANBgkqhkiG9w0BAQsFADA5MQswCQYDVQQGEwJGUjEZMBcGA1UE
  CBMQRGVmYXVsdCBQcm92aW5jZTEPMA0GA1UEChMGTmV4ZWRpMB4XDTExMDkxNTA5
  MDAwMloXDTEyMDkxNTA5MDAwMlowOTELMAkGA1UEBhMCRlIxGTAXBgNVBAgTEERl
  ZmF1bHQgUHJvdmluY2UxDzANBgNVBAoTBk5leGVkaTCBnzANBgkqhkiG9w0BAQEF
  AAOBjQAwgYkCgYEApYZv6OstoqNzxG1KI6iE5U4Ts2Xx9lgLeUGAMyfJLyMmRLhw
  boKOyJ9Xke4dncoBAyNPokUR6iWOcnPHtMvNOsBFZ2f7VA28em3+E1JRYdeNUEtX
  Z0s3HjcouaNAnPfjFTXHYj4um1wOw2cURSPuU5dpzKBbV+/QCb5DLheynisCAwEA
  ATANBgkqhkiG9w0BAQsFAAOBgQBCZLbTVdrw3RZlVVMFezSHrhBYKAukTwZrNmJX
  mHqi2tN8tNo6FX+wmxUUAf3e8R2Ymbdbn2bfbPpcKQ2fG7PuKGvhwMG3BlF9paEC
  q7jdfWO18Zp/BG7tagz0jmmC4y/8akzHsVlruo2+2du2freE8dK746uoMlXlP93g
  QUUGLQ==
  -----END CERTIFICATE-----