[buildout]
versions = versions

parts =
  template
  apache-php
  mariadb
  eggs
  instance-recipe-egg
  downloadcache-workaround
  
extends =
  ../../stack/lamp.cfg
  ../../stack/shacache-client.cfg

[application]
recipe = slapos.recipe.build
url = http://www.chaozz.nl/binaries/freewebshop/FreeWebshop.org2.2.9_R2.zip
md5sum = 9a32bfa3feb47e33c4eb81a9e00271e6
script =
  if not self.options.get('url'): self.options['url'], self.options['md5sum'] = self.options[guessPlatform()].split(' ')
  extract_dir = self.extract(self.download(self.options['url'], self.options.get('md5sum')))
  workdir = guessworkdir(extract_dir)
  self.copyTree(workdir, "${buildout:parts-directory}/${:_buildout_section_name_}")
  
[instance-recipe]
egg = slapos.cookbook
module = lamp.simple

[template]
# Default template for the instance.
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
#md5sum = Student shall put md5 of instance.cfg here
output = ${buildout:directory}/template.cfg
mode = 0644

[instance-recipe-egg]
recipe = zc.recipe.egg
eggs =
    ${mysql-python:egg}
    ${instance-recipe:egg}
    slapos.toolbox[lampconfigure]

[versions]
# Use SlapOS patched zc.buildout
zc.buildout = 1.5.3-dev-SlapOS-010

[downloadcache-workaround]
# workaround irritating problem of hexagonit.recipe.cmmi which automatically
# creates download cache, which in turn switches builout to "semi-offline" mode
recipe = plone.recipe.command
# in hexagonit.recipe.cmmi if there is no ${buildout:download-cache} set it resolves
# to ${buildout:directory}/downloads but this variable is available late, that's
# why it is hardcoded only for required case
download-cache = ${buildout:directory}/downloads
command = [ -d ${:download-cache} ] && rm -fr ${:download-cache}/* || exit 0
update-command = ${:command}
stop-on-error = True