{% if software_type == slap_software_type -%} {% set bin_directory = parameter_dict['buildout-bin-directory'] -%} {% set use_ipv6 = slapparameter_dict.get('use-ipv6', False) -%} [buildout] parts = publish-cloudooo-connection-information cloudooo-instance promise promise-openoffice {% if use_ipv6 %}promise-tunnel{% endif %} eggs-directory = {{ eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }} offline = true [publish-cloudooo-connection-information] recipe = slapos.cookbook:publish.serialised {% if use_ipv6 -%} url = cloudooo://[${ipv6toipv4:ipv6}]:${ipv6toipv4:ipv6-port}/ {% else -%} url = cloudooo://${cloudooo-instance:ip}:${cloudooo-instance:port}/ {% endif -%} [cloudooo-instance] recipe = slapos.cookbook:generic.cloudooo # Network options ip = ${slap-network-information:local-ipv4} {% set tcpv4_port = slapparameter_dict['tcpv4-port'] -%} port = {{ tcpv4_port }} openoffice-port = {{ tcpv4_port + 1 }} # Paths configuration-file = ${directory:etc}/cloudooo.cfg wrapper = ${directory:service}/cloudooo # Paths: Data data-directory = ${directory:cloudooo-data} environment = LD_LIBRARY_PATH = {{ parameter_dict['file'] }}/lib:{{ parameter_dict['fontconfig'] }}/lib:{{ parameter_dict['freetype'] }}/lib:{{ parameter_dict['libICE'] }}/lib:{{ parameter_dict['libpng12'] }}/lib:{{ parameter_dict['libSM'] }}/lib:{{ parameter_dict['libX11'] }}/lib:{{ parameter_dict['libXau'] }}/lib:{{ parameter_dict['libXdmcp'] }}/lib:{{ parameter_dict['libXext'] }}/lib:{{ parameter_dict['libxcb'] }}/lib:{{ parameter_dict['libXrender'] }}/lib:{{ parameter_dict['zlib'] }}/lib FONTCONFIG_FILE = ${fontconfig-instance:conf-path} # Binary information # cloudooo specific configuration ooo-binary-path = {{ parameter_dict['libreoffice-bin'] }}/program ooo-paster = {{ bin_directory }}/cloudooo_paster ooo-uno-path = {{ parameter_dict['libreoffice-bin'] }}/basis-link/program [fontconfig-instance] recipe = slapos.cookbook:fontconfig conf-path = ${directory:etc}/font.conf font-system-folder = {{ parameter_dict['fonts'] }} font-folder = ${directory:font} url-list = {{ slapparameter_dict.get('font-url-list', []) | join(' ') }} service-folder = ${directory:service} onetimedownload_path = {{ bin_directory }}/onetimedownload [promise] recipe = slapos.cookbook:check_port_listening path = ${directory:promise}/cloudooo hostname = ${cloudooo-instance:ip} port = ${cloudooo-instance:port} [promise-openoffice] recipe = slapos.cookbook:check_port_listening path = ${directory:promise}/openoffice hostname = ${cloudooo-instance:ip} port = ${cloudooo-instance:openoffice-port} {% if use_ipv6 -%} [promise-tunnel] recipe = slapos.cookbook:check_port_listening path = ${directory:promise}/tunnel hostname = ${ipv6toipv4:ipv6} port = ${ipv6toipv4:ipv6-port} [ipv6toipv4] recipe = slapos.cookbook:ipv6toipv4 runner-path = ${directory:service}/${:base-name} 6tunnel-path = {{ parameter_dict['6tunnel'] }}/bin/6tunnel shell-path = {{ parameter_dict['dash'] }}/bin/dash ipv4 = ${cloudooo-instance:ip} ipv6 = {{ (ipv6_set | list)[0] }} ipv6-port = ${cloudooo-instance:port} ipv4-port = ${cloudooo-instance:port} base-name = cloudooo-tunnel {% endif -%} # rest of parts are candidates for some generic stuff [directory] recipe = slapos.cookbook:mkdirectory etc = ${buildout:directory}/etc srv = ${buildout:directory}/srv service = ${:etc}/run promise = ${:etc}/promise cloudooo-data = ${:srv}/cloudooo font = ${:srv}/font {% endif %}