instance.cfg 4.03 KB
Newer Older
iv's avatar
iv committed
1 2 3
[buildout]
parts =
  parameters
4
  promise-sudo-on-host
5
  template-full-build-script
6 7
  template-sudo-wrapper
  template-cros-sdk-wrapper
iv's avatar
iv committed
8

9
# standard declaration of eggs directories
iv's avatar
iv committed
10 11 12 13 14
eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}

#################################### Tools, sources getter ##################################

15
[depot-tools]
iv's avatar
iv committed
16 17 18 19
# needed for the "repo" command (to download many git repositories)
recipe = slapos.recipe.build:gitclone
repository = https://chromium.googlesource.com/chromium/tools/depot_tools.git
branch = master
20
git-executable = {{ git_path }}/git
iv's avatar
iv committed
21

22 23 24 25
[customize-path]
# add depot tools directory (for cros_sdk binary among others) and git directory to the path
command =
  export PATH="${directory:wrapper_dir}":"{{ git_path }}":"{{ curl_path }}":"${depot-tools:location}":"$PATH";
26 27 28 29

[nayuos-ebuilds]
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/nayuos-ebuilds.git
iv's avatar
iv committed
30
branch = master
31
git-executable = {{ git_path }}/git
iv's avatar
iv committed
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

############################################################################################

[parameters]
# for use of the "parameters" XML configuration given from the
# webrunner interface
# if needed, .serialized => json (more complex structures are OK, but need another 
# jinja template for reading the content of the parameters)
recipe = slapos.cookbook:slapconfiguration
computer = ${slap_connection:computer_id}
partition = ${slap_connection:partition_id}
url = ${slap_connection:server_url}
key = ${slap_connection:key_file}
cert = ${slap_connection:cert_file}

47 48 49 50
[directory]
recipe = slapos.cookbook:mkdirectory
log = ${buildout:directory}/var/log
run = ${buildout:directory}/etc/run
51
promise = ${buildout:directory}/etc/promise
52
wrapper_dir = ${buildout:directory}/wrapper_bin
53
cros_location = ${buildout:directory}/parts/chromiumos
54
ebuilds_dir = ${nayuos-ebuilds:location}
55
scripts_dir = {{ scripts_dir }}
56
logo_dir = {{ logo_dir }}
57

58 59 60 61 62
[bin]
wrapper_cros_sdk=${directory:wrapper_dir}/wrapper_cros_sdk
bash=/bin/bash
sudo=/usr/bin/sudo

63 64 65 66 67 68 69
[promise-sudo-on-host]
# assert sudo is installed on the slapos host, as it is required to enter the
# chroot 'cros_sdk'
recipe  = slapos.cookbook:wrapper
wrapper-path = !py! '${directory:promise}/' + '${:_buildout_section_name_}'[8:]
command-line = sudo -V

70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
[template-sudo-wrapper]
recipe = slapos.recipe.template:jinja2
template = {{ scripts_dir }}/wrapper_sudo.in
rendered = ${directory:wrapper_dir}/sudo
md5sum = ded5a92be4e37ec32eb9d3087d3e19bd
mode = 0700
context =
  key fake_cros_sdk_path bin:wrapper_cros_sdk
  key bash_path bin:bash
  key host_sudo_path bin:sudo

[template-cros-sdk-wrapper]
recipe = slapos.recipe.template:jinja2
template = {{ scripts_dir }}/wrapper_cros_sdk.in
rendered = ${bin:wrapper_cros_sdk}
md5sum = 7159fe3d5b85a283733cf686c4ee0a74
mode = 0700
context =
# XXX bash path is the one from the host
  key bash_path bin:bash
90
  raw git_path  {{ git_path }}
91 92
  raw curl_path {{ curl_path }}

93
[template-full-build-script]
94
# create the rendered script in the buildout-directory/etc/run
95 96
# (use jinja for templating)
recipe = slapos.recipe.template:jinja2
97 98
template = {{ scripts_dir }}/cros_full_build.in
rendered = ${directory:run}/cros_full_build
iv's avatar
iv committed
99
md5sum = d015e62f327dc8b81ba4c5ea2b2f863e
100
mode = 0700
101
context =
102 103 104 105 106 107 108 109 110 111 112
  key bash_path                         bin:bash
  key instance_log_dir                  directory:log
  key cros_location                     directory:cros_location
  key export_path_cmd                   customize-path:command
  key branch                            parameters:configuration.branch
  key boards_list                       parameters:configuration.boards
  key keep_cache                        parameters:configuration.keep_cache
  key ebuilds_dir                       directory:ebuilds_dir
  key scripts_dir                       directory:scripts_dir
  key logo_dir                          directory:logo_dir
  raw nayu_dev_rootfs_packages          app-misc/nayuos-chromium-policy
113
  raw nayu_dev_packages net-libs/nodejs net-misc/re6stnet dev-vcs/git dev-python/flask dev-python/virtualenv sys-fs/cryptsetup