Commit f5ebda78 authored by Thomas Leymonerie's avatar Thomas Leymonerie

Clean up slapos.recipe.template

Use slapos.recipe.template instead of slapos.recipe.template if possible

Harmonize template keys :
rendered -> output
template -> url
template = inline: -> inline =

Delete "mode" key

See merge request nexedi/slapos!1151
parent 08a696d4
Pipeline #21163 failed with stage
in 0 seconds
......@@ -60,17 +60,16 @@ eggs +=
# env.sh for ZODB's python to be on $PATH.
[ZODB-env.sh]
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:directory}/${:_buildout_section_name_}
template = inline:
recipe = slapos.recipe.template
output = ${buildout:directory}/${:_buildout_section_name_}
inline =
export PS1="(ZODB-env) $PS1"
export PATH=${buildout:bin-directory}:$PATH
# .nxdtest to run ZODB tests
[.nxdtest]
<= jinja2-template
template =
inline:
inline =
# determine where ZODB & friends were installed
from subprocess import check_output
where = check_output(['python', '-c', """if 1:
......@@ -99,12 +98,12 @@ template =
# instance to run nxdtest.
[instance.cfg]
<= jinja2-template
template = inline:
inline =
[buildout]
extends = ${nxdtest-instance.cfg:rendered}
extends = ${nxdtest-instance.cfg:output}
[runTestSuite]
env.sh = ${ZODB-env.sh:rendered}
env.sh = ${ZODB-env.sh:output}
workdir = ${buildout:directory}
......
......@@ -18,8 +18,8 @@ md5sum = e5f4b1d997e50ffe4998c68c8ec45403
recipe = slapos.recipe.template:jinja2
location = ${buildout:parts-directory}/${:_buildout_section_name_}
filename = bazel_tools_cpp_CROSSTOOL
template = ${:_profile_base_location_}/${:filename}.in
rendered = ${:location}/${:filename}
url = ${:_profile_base_location_}/${:filename}.in
output = ${:location}/${:filename}
context =
key gcc_location gcc:prefix
key binutils_location binutils:location
......@@ -28,8 +28,8 @@ context =
recipe = slapos.recipe.template:jinja2
location = ${buildout:parts-directory}/${:_buildout_section_name_}
filename = bazel_src_main_cpp_BUILD
template = ${:_profile_base_location_}/${:filename}.in
rendered = ${:location}/${:filename}
url = ${:_profile_base_location_}/${:filename}.in
output = ${:location}/${:filename}
# We previously passed an argument that we don't want anymore. Rather than
# changing templates, we pass a dummy argument that will have no effect.
linkopts = -DSLAPOS_DUMMY=
......@@ -50,10 +50,10 @@ url = https://github.com/bazelbuild/bazel/releases/download/0.6.1/bazel-0.6.1-di
md5sum = 8c5c827e33d3ff74c263c1299810b485
patch-binary = ${patch:location}/bin/patch
patch-file-path = ${:_profile_base_location_}/bazel-0.6.1.patch
bazel-crosstool-modified-file-path = ${template-bazel-crosstool:rendered}
bazel-src-main-cpp-build-path = ${template-bazel-src-main-cpp-build:rendered}
bazel-src-main-tools-build-path = ${template-bazel-src-main-tools-build:rendered}
bazel-src-tools-singlejar-build-path = ${template-bazel-src-tools-singlejar-build:rendered}
bazel-crosstool-modified-file-path = ${template-bazel-crosstool:output}
bazel-src-main-cpp-build-path = ${template-bazel-src-main-cpp-build:output}
bazel-src-main-tools-build-path = ${template-bazel-src-main-tools-build:output}
bazel-src-tools-singlejar-build-path = ${template-bazel-src-tools-singlejar-build:output}
unzip-bin = ${unzip:location}/bin
zip-bin = ${zip:location}/bin
java_home = ${zulu:location}
......
......@@ -28,9 +28,9 @@ git-executable = ${git:location}/bin/git
[cythonplus_env.sh]
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:directory}/${:_buildout_section_name_}
template =
inline:{% set path, python = os.path.split(python) -%}
output = ${buildout:directory}/${:_buildout_section_name_}
inline =
{% set path, python = os.path.split(python) -%}
{% if 'part' in gcc -%}
{% set path = path + ':' + gcc.prefix + '/bin' -%}
{% endif -%}
......
......@@ -31,7 +31,7 @@ part = firefox
recipe = slapos.recipe.build
location = ${buildout:bin-directory}/${:part}
fonts-conf = ${firefox-default-fonts-conf:rendered}
fonts-conf = ${firefox-default-fonts-conf:output}
init =
self.buildout[options['part']]
install =
......@@ -72,8 +72,8 @@ part = firefox-52
[firefox-default-fonts-conf]
recipe = slapos.recipe.template:jinja2
template = ${template-fonts-conf:output}
rendered = ${buildout:parts-directory}/${:_buildout_section_name_}/fonts.conf
url = ${template-fonts-conf:output}
output = ${buildout:parts-directory}/${:_buildout_section_name_}/fonts.conf
context =
key cachedir :cache-dir
key fonts :fonts
......
......@@ -119,10 +119,10 @@ environment-extra =
#
# ${go:exe} is standalone executable that runs go in activated gowork environment.
[go]
recipe = slapos.recipe.template:jinja2
recipe = slapos.recipe.template
exe = ${buildout:bin-directory}/go
rendered= ${:exe}
template= inline:
output= ${:exe}
inline =
#!/bin/sh -e
. ${gowork:env.sh}
exec go "$@"
......
......@@ -132,11 +132,11 @@ promises =
# as future-proof against new versions of Chromium.
[headless-chromium-wrapper]
recipe = slapos.recipe.template:jinja2
template =
inline:#!/bin/sh
inline =
#!/bin/sh
export LD_LIBRARY_PATH="{{ nss_location }}/lib:$LD_LIBRARY_PATH"
exec {{ chromium_binary }} "$@"
rendered = ${buildout:bin-directory}/headless-chromium
output = ${buildout:bin-directory}/headless-chromium
context =
key nss_location nss:location
key chromium_binary headless-chromium:binary
......@@ -34,10 +34,10 @@ install =
[helloweb-go]
# we already have gowork/bin/helloweb with helloweb Go build.
# Add bin/helloweb-go that runs go version of helloweb without any environment preset needed.
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:bin-directory}/${:_buildout_section_name_}
template =
inline:#!/bin/sh -e
recipe = slapos.recipe.template
output = ${buildout:bin-directory}/${:_buildout_section_name_}
inline =
#!/bin/sh -e
. ${gowork:env.sh}
exec helloweb "$@"
......@@ -97,9 +97,9 @@ make-targets= ${bundler:bundle} install
[helloweb-ruby]
# NOTE slapos.cookbook:wrapper also works, but currently _only_ in instance
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:bin-directory}/${:_buildout_section_name_}
template =
inline:#!/bin/sh -e
recipe = slapos.recipe.template
output = ${buildout:bin-directory}/${:_buildout_section_name_}
inline =
#!/bin/sh -e
export BUNDLE_GEMFILE=${helloweb-ruby-bundle:path}/Gemfile
exec ${bundler:bundle} exec sh -c 'helloweb.rb "$@"' ${:_buildout_section_name_} "$@"
......@@ -40,8 +40,8 @@ url = ${:_profile_base_location_}/${:filename}
[instance-jupyter-notebook]
recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/${:filename}
rendered = ${buildout:directory}/template.cfg
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:directory}/template.cfg
context =
key bin_directory buildout:bin-directory
key develop_eggs_directory buildout:develop-eggs-directory
......
......@@ -15,7 +15,7 @@
[instance-jupyter-notebook]
filename = instance.cfg.in
md5sum = 357f28614a13cdbf00a29a83cbfd2642
md5sum = 9f412363ce2c2ac99e3328f7d87d456d
[jupyter-notebook-config]
filename = jupyter_notebook_config.py.jinja
......
......@@ -73,8 +73,8 @@ environment =
[jupyter-notebook-config]
recipe = slapos.recipe.template:jinja2
template = {{ jupyter_config_location }}/{{ jupyter_config_filename }}
rendered = ${directory:jupyter_config_dir}/jupyter_notebook_config.py
url = {{ jupyter_config_location }}/{{ jupyter_config_filename }}
output = ${directory:jupyter_config_dir}/jupyter_notebook_config.py
context =
raw config_cfg ${buildout:directory}/knowledge0.cfg
......@@ -130,8 +130,8 @@ target-directory = ${directory:erp5_kernel_dir}
[kernel-json]
recipe = slapos.recipe.template:jinja2
template = {{ kernel_json_location }}/{{ kernel_json_filename }}
rendered = ${directory:erp5_kernel_dir}/kernel.json
url = {{ kernel_json_location }}/{{ kernel_json_filename }}
output = ${directory:erp5_kernel_dir}/kernel.json
# Use python2.7 executable bin file for kernel config
context =
raw python_executable {{ python_executable }}
......
......@@ -12,8 +12,8 @@ parts =
[matplotlibrc]
recipe = slapos.recipe.template:jinja2
location = ${buildout:parts-directory}/${:_buildout_section_name_}
template = ${:_profile_base_location_}/${:filename}
rendered = ${matplotlibrc:location}/matplotlibrc
url = ${:_profile_base_location_}/${:filename}
output = ${matplotlibrc:location}/matplotlibrc
backend = agg
context =
key backend matplotlibrc:backend
......
......@@ -21,20 +21,20 @@ eggs +=
# env.sh for interpreter to be on $PATH.
[nxdtest-env.sh]
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:directory}/${:_buildout_section_name_}
template = inline:
recipe = slapos.recipe.template
output = ${buildout:directory}/${:_buildout_section_name_}
inline =
export PS1="(nxdtest-env) $PS1"
export PATH=${buildout:bin-directory}:$PATH
# instance to run nxdtest.
[instance.cfg]
<= jinja2-template
template = inline:
inline =
[buildout]
extends = ${nxdtest-instance.cfg:rendered}
extends = ${nxdtest-instance.cfg:output}
[runTestSuite]
env.sh = ${nxdtest-env.sh:rendered}
env.sh = ${nxdtest-env.sh:output}
workdir = ${nxdtest-repository:location}
......@@ -73,7 +73,7 @@ perl-PATH = ${:location}/bin/
# dependencies
perl-bin = ${:perl-PATH}/perl
perl-PERL5LIB =
perl-PERL5LIB =
# Implementation
recipe = slapos.recipe.cmmi
......@@ -117,12 +117,12 @@ perl_location = ${perl:location}
# - inc : colon (:) separated site perl of modules to include in @INC
# Outputs:
# - perl-bin : an executable perl
recipe = slapos.recipe.template:jinja2
template = inline:
recipe = slapos.recipe.template
inline =
#!/bin/sh
{% set inc = "${:inc}".split(':') %} {# XXX we could remove duplicates from inc #}
exec ${perl:location}/bin/perl \
{% for item in inc -%}{% if item %} -I "{{ item }}" \
{% endif %}{% endfor %} "$@"
rendered = ${buildout:bin-directory}/${:_buildout_section_name_}
perl-bin = ${:rendered}
output = ${buildout:bin-directory}/${:_buildout_section_name_}
perl-bin = ${:output}
......@@ -88,12 +88,10 @@ init =
# .X.pyprog is python program to start and run entry
# it uses .X.pyexe as underlying python interpreter
[.%(name)s.pyprog]
recipe = slapos.recipe.template:jinja2
recipe = slapos.recipe.template
exe = %(exe)s
rendered= $${:exe}
mode = 755
template=
inline:
output= $${:exe}
inline =
#!$${.%(name)s.pyexe:exe}
import sys
%(__pyinit)s
......
......@@ -28,21 +28,21 @@ eggs = ${pygolang:egg}
# env.sh for pygolang's python/gpython to be on $PATH.
[pygolang-env.sh]
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:directory}/${:_buildout_section_name_}
template = inline:
recipe = slapos.recipe.template
output = ${buildout:directory}/${:_buildout_section_name_}
inline =
export PS1="(pygolang-env) $PS1"
export PATH=${buildout:bin-directory}:$PATH
# instance to run nxdtest.
[instance.cfg]
<= jinja2-template
template = inline:
inline =
[buildout]
extends = ${nxdtest-instance.cfg:rendered}
extends = ${nxdtest-instance.cfg:output}
[runTestSuite]
env.sh = ${pygolang-env.sh:rendered}
env.sh = ${pygolang-env.sh:output}
workdir = ${pygolang-repository:location}
......
......@@ -47,19 +47,17 @@ post-install =
keytar.node
[theia-wrapper]
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:bin-directory}/${:_buildout_section_name_}
template =
inline:
recipe = slapos.recipe.template
output = ${buildout:bin-directory}/${:_buildout_section_name_}
inline =
#!/bin/sh
cd ${theia:location}
exec ${yarn:location}/bin/yarn theia start "$@"
[theia-open]
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:bin-directory}/${:_buildout_section_name_}
template =
inline:
recipe = slapos.recipe.template
output = ${buildout:bin-directory}/${:_buildout_section_name_}
inline =
#!/bin/sh
exec ${nodejs:location}/bin/node ${theia:location}/node_modules/.bin/theia-open "$@"
......
......@@ -39,9 +39,9 @@ eggs =
# env.sh for that python + go to be on $PATH
[wendelin.core-env.sh]
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:directory}/${:_buildout_section_name_}
template = inline:
recipe = slapos.recipe.template
output = ${buildout:directory}/${:_buildout_section_name_}
inline =
. ${gowork:env.sh}
export PS1="(wendelin.core-env) $PS1"
export PATH=${buildout:bin-directory}:${gdb:location}/bin:$PATH
......@@ -49,12 +49,12 @@ template = inline:
# instance to run nxdtest.
[instance.cfg]
<= jinja2-template
template = inline:
inline =
[buildout]
extends = ${nxdtest-instance.cfg:rendered}
extends = ${nxdtest-instance.cfg:output}
[runTestSuite]
env.sh = ${wendelin.core-env.sh:rendered}
env.sh = ${wendelin.core-env.sh:output}
workdir = ${wendelin.core-repository:location}
......
......@@ -23,21 +23,21 @@ eggs = ${zodbtools:egg}[test]
# env.sh for zodbtools's python to be on $PATH.
[zodbtools-env.sh]
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:directory}/${:_buildout_section_name_}
template = inline:
recipe = slapos.recipe.template
output = ${buildout:directory}/${:_buildout_section_name_}
inline =
export PS1="(zodbtools-env) $PS1"
export PATH=${buildout:bin-directory}:$PATH
# instance to run nxdtest.
[instance.cfg]
<= jinja2-template
template = inline:
inline =
[buildout]
extends = ${nxdtest-instance.cfg:rendered}
extends = ${nxdtest-instance.cfg:output}
[runTestSuite]
env.sh = ${zodbtools-env.sh:rendered}
env.sh = ${zodbtools-env.sh:output}
workdir = ${zodbtools-repository:location}
......
......@@ -24,7 +24,7 @@ Here is an example of a section to add in your software.cfg :
openoffice-port = 1235
ooo-binary-path = ${directory:libreoffice-bin}/program
environment =
FONTCONFIG_FILE = $${fontconfig-conf:rendered}
FONTCONFIG_FILE = $${fontconfig-conf:output}
PATH = ${binary-link:target-directory}
ooo-uno-path = ${directory:libreoffice-bin}/basis-link/program
......
......@@ -46,8 +46,8 @@ md5sum = ae4a0043414336a521b524d9c95f1c68
[template-pullrdiffbackup]
filename = instance-pullrdiffbackup.cfg.in
md5sum = 45a4faa217ea5b83ecf271791e1632dd
md5sum = 931038cfa23216af1628b960a2e10de6
[template]
filename = instance.cfg.in
md5sum = 3df515def97f1e8a9f181514ae6ef03f
md5sum = 974e21f30669e1b83e1e0cd8def0adc3
......@@ -42,7 +42,6 @@ plugin = $${:etc}/plugin
recipe = slapos.recipe.template
url = ${template-dcron-service:output}
output = $${directory:services}/crond
mode = 0700
logfile = $${directory:log}/crond.log
#################################
......@@ -122,7 +121,6 @@ config-statistic_name = {{ '$${' ~ slave_reference }}-backup-script:statistic_na
recipe = slapos.recipe.template
url = ${template-backup-script:output}
output = $${directory:backupscript}/$${:_buildout_section_name_}
mode = 0700
datadirectory = {{ '$${' ~ slave_reference }}-backup-directory:directory}
sshkey = {{ '$${' ~ slave_reference }}-backup-private_key:key}
connection = {{ connection }}
......@@ -140,7 +138,6 @@ statistic_log = $${directory:statistic}/$${:statistic_name}
recipe = slapos.recipe.template
url = ${template-crontab-line:output}
output = $${directory:cron-lines}/$${:_buildout_section_name_}
mode = 0600
script = {{ '$${' ~ slave_reference }}-backup-script:output}
frequency = {{ frequency }}
{% do crontab_line_list.append("$${%s-backup-crontab-line:output}" % slave_reference) -%}
......@@ -155,14 +152,12 @@ frequency = {{ frequency }}
recipe = slapos.recipe.template
url = ${template-update-rss-script:output}
output = $${directory:etc}/$${:_buildout_section_name_}
mode = 0700
global_rss = $${slap-connection:computer-id}-$${slap-connection:partition-id}.rss
[update-rss-crontab-line]
recipe = slapos.recipe.template
url = ${template-crontab-line:output}
output = $${directory:cron-lines}/$${:_buildout_section_name_}
mode = 0600
script = $${update-rss-script:output}
frequency = */5 * * * *
{% do crontab_line_list.append("$${update-rss-crontab-line:output}") -%}
......@@ -186,8 +181,7 @@ command = ${coreutils-output:cat} ${template-crontab:output} {{ crontab_line_lis
recipe = slapos.recipe.template
url = ${template-nginx-service:output}
output = $${directory:services}/nginx
mode = 0700
virtual-depends =
virtual-depends =
$${nginx-configuration:ip}
[nginx-listen-promise]
......@@ -201,7 +195,6 @@ config-port = $${nginx-configuration:port}
recipe = slapos.recipe.template
url = ${template-nginx-configuration:output}
output = $${directory:etc}/nginx.cfg
mode = 0600
access_log = $${directory:log}/nginx-access.log
error_log = $${directory:log}/nginx-error.log
ip = {{ partition_ipv6 }}
......@@ -224,7 +217,7 @@ private-path-list +=
# Add parts generated by template
[buildout]
extends =
${monitor-template:rendered}
${monitor-template:output}
parts =
......
......@@ -8,8 +8,8 @@ offline = true
[dynamic-template-pullrdiffbackup]
recipe = slapos.recipe.template:jinja2
template = ${template-pullrdiffbackup:output}
rendered = $${buildout:parts-directory}/$${:_buildout_section_name_}/$${:filename}
url = ${template-pullrdiffbackup:output}
output = $${buildout:parts-directory}/$${:_buildout_section_name_}/$${:filename}
filename = instance-pullrdiffbackup.cfg
extensions = jinja2.ext.do
context =
......@@ -20,7 +20,7 @@ context =
[switch-softwaretype]
recipe = slapos.cookbook:switch-softwaretype
RootSoftwareInstance = $${:pullrdiffbackup}
pullrdiffbackup = dynamic-template-pullrdiffbackup:rendered
pullrdiffbackup = dynamic-template-pullrdiffbackup:output
[slap-configuration]
# Fetches parameters defined in SlapOS Master for this instance.
......
......@@ -41,49 +41,41 @@ eggs =
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:directory}/${:filename}
mode = 0644
[template-nginx-configuration]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:directory}/${:filename}
mode = 0644
[template-dcron-service]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:directory}/${:filename}
mode = 0644
[template-backup-script]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:directory}/${:filename}
mode = 0644
[template-crontab-line]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:directory}/${:filename}
mode = 0644
[template-crontab]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:directory}/${:filename}
mode = 0644
[status2rss]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:directory}/${:filename}
mode = 0644
[template-update-rss-script]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:directory}/${:filename}
mode = 0644
##########################################################
# Buildout instance.cfg templates
......@@ -92,13 +84,11 @@ mode = 0644
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:directory}/template-pullrdiffbackup.cfg
mode = 0644
[template]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:directory}/template.cfg
mode = 0644
[versions]
gunicorn = 19.1.1
......@@ -19,7 +19,7 @@ md5sum = c4079d70ab3268234651bf6c36234b2f
[template-instance-beremiz]
filename = instance-beremiz.cfg.jinja2.in
md5sum = ac05663b9006b7c4c9810a18e1ea4220
md5sum = 51071494633f4ffba700baf935dc6955
[template-instance-beremiz-test]
filename = instance-beremiz-test.cfg.jinja2.in
......
......@@ -95,7 +95,6 @@ inline =
{{ x11vnc_bin }} -storepasswd ${random-password:passwd} ${:passfile};
fi
output = ${directory:bin}/x11vnc_passwd
mode = 700
[generate-vnc-password]
recipe = plone.recipe.command
......
......@@ -116,14 +116,14 @@ context =
key buildout_directory buildout:directory
key template_fluxbox_menu template-fluxbox-menu.in:target
key template_fonts_conf_target template-fonts-conf:output
key template_monitor_cfg monitor2-template:rendered
key template_monitor_cfg monitor2-template:output
key template_instance_beremiz template-instance-beremiz:target
key template_instance_beremiz_test template-instance-beremiz-test:target
key template_logrotate template-logrotate-base:rendered
key template_logrotate template-logrotate-base:output
key fontconfig_location fontconfig:location
key font_dejavu dejavu-fonts:location
key font_liberation liberation-fonts:location
key logrotate_cfg template-logrotate-base:rendered
key logrotate_cfg template-logrotate-base:output
key bison_location bison:location
key flex_location flex:location
key fluxbox_location fluxbox:location
......@@ -134,7 +134,7 @@ context =
key matiec_location matiec:location
key mesa_location mesa:location
key novnc_location noVNC:location
key nxdtest_template nxdtest-instance.cfg:rendered
key nxdtest_template nxdtest-instance.cfg:output
key python_bin :python-bin
key opencv_location opencv:location
key openssl_location openssl:location
......
......@@ -50,12 +50,12 @@ eggs = click
[instance-profile]
recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/${:filename}
rendered = ${buildout:directory}/instance.cfg
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:directory}/instance.cfg
extensions = jinja2.ext.do
context =
section buildout buildout
raw template_monitor ${monitor2-template:rendered}
raw template_monitor ${monitor2-template:output}
# md5sum is fetched from buildout.hash.cfg and can be recalculated automatically by
# calling update-hash
......
......@@ -11,8 +11,8 @@ download-cache = ${:directory}/download-cache
[template]