diff options
Diffstat (limited to 'doc/eltf_params_updated_template_how_to_use.txt')
| -rw-r--r-- | doc/eltf_params_updated_template_how_to_use.txt | 320 | 
1 files changed, 320 insertions, 0 deletions
| diff --git a/doc/eltf_params_updated_template_how_to_use.txt b/doc/eltf_params_updated_template_how_to_use.txt new file mode 100644 index 0000000..97b07aa --- /dev/null +++ b/doc/eltf_params_updated_template_how_to_use.txt | |||
| @@ -0,0 +1,320 @@ | |||
| 1 | eltf_params_template_updated_howto_use.txt | ||
| 2 | |||
| 3 | This is a way to collect all parameters for an Enea Edge release | ||
| 4 | in one parameter file, easy to automatically update by ELTF regularly. | ||
| 5 | |||
| 6 | NOTE: Both the release info AND the open source books use parameters from | ||
| 7 | here, but the XML file is inside the release info book directory. | ||
| 8 | |||
| 9 | NOTE: The manifest_conf.mk, or overridden by the environment variable | ||
| 10 | MANIFESTHASH, contains the full tag (or hashvalue) for downloading | ||
| 11 | the manifest when the books are built. The list of target | ||
| 12 | directories are fetched from the manifest into the book. | ||
| 13 | The eltf_params_updates.xml can all the time contain | ||
| 14 | the final next complete tag e.g. refs/tags/EL6 or similar | ||
| 15 | in the ELTF_PL_CLONE_W_REPO parameter command lines. | ||
| 16 | |||
| 17 | The ordinary book XML files use xi:include statements to include elements | ||
| 18 | from this parameter file. The book XML files can thus be manually edited. | ||
| 19 | Before editing, you must run "make init". | ||
| 20 | Any other text in the template or updated.xml file, outside the parts that | ||
| 21 | are included in the book, are not used but still all must be correct | ||
| 22 | DocBook XML files. | ||
| 23 | |||
| 24 | ELTF work: | ||
| 25 | template => ELTF replaces ALL ELTF_xxx variables => updated XML file | ||
| 26 | => push to git only if changed | ||
| 27 | |||
| 28 | |||
| 29 | eltf_params_template.xml (in git) | ||
| 30 | File used by ELTF to autocreate/update the real parameter | ||
| 31 | file eltf_params_updated.xml. | ||
| 32 | |||
| 33 | eltf_params_updated.xml (in git) | ||
| 34 | Real parameter file where ELTF has replaced all ELTF_xx variables with | ||
| 35 | strings, in several cases with multiline strings. | ||
| 36 | No spaces or linefeed allowed in beginning or end of the variable values! | ||
| 37 | |||
| 38 | |||
| 39 | xi:include: Each parameter is xi:include'ed in various book files, using | ||
| 40 | the IDs existing in the parameter files. | ||
| 41 | In most cases the 1:st element inside an element with an ID is included | ||
| 42 | using a format like eltf-prereq-apt-get-commands-host/1. | ||
| 43 | In very few cases the element with the ID is included in the book, one | ||
| 44 | example is the target section which has an ID, but which contains | ||
| 45 | multiple subsections, one per target. | ||
| 46 | All IDs in a book must be unique. | ||
| 47 | |||
| 48 | DocBook XML: All XML files must be correct DocBook XML files. | ||
| 49 | |||
| 50 | Do NOT edit/save the real *updated.xml file with XMLmind to avoid changes | ||
| 51 | not done by ELTF. But it is OK to open the real file in XMLmind to | ||
| 52 | check that the format is correct. | ||
| 53 | |||
| 54 | ELTF should autocreate a temporary "real" file but only replace | ||
| 55 | and push the eltf_params_updated.xml if it is changed. | ||
| 56 | |||
| 57 | |||
| 58 | make eltf | ||
| 59 | This lists all ELTF_xxx variables and some rules how to treat them | ||
| 60 | |||
| 61 | DocBook Format: All elements - rules: | ||
| 62 | Several strict generic XML rules apply for all strings: | ||
| 63 | 1. No TABs allowed or any other control chr than "linefeed" | ||
| 64 | 2. Only 7-bit ASCII | ||
| 65 | 3. Any < > & must be converted to < > and & | ||
| 66 | Similar for any other non-7-bit-ASCII but avoid those! | ||
| 67 | 4. No leading spaces or linefeeds when replacing the ELTF_* variable | ||
| 68 | 5. No trailing spaces or linefeeds when replacing the ELTF_* variable | ||
| 69 | 6. Note: Keep existing spaces before/efter ELTF_* in a few cases. | ||
| 70 | |||
| 71 | DocBook Format: <programlisting> - rules: ELTF*PL* variables | ||
| 72 | Several strict rules apply for the multiline string in programlisting | ||
| 73 | in addition to the general XML rules above: | ||
| 74 | 7. Max line length < 80 char | ||
| 75 | 8. Use backslash (\) to break longer lines | ||
| 76 | 9. Use spaces (e.g. 4) to indent continuation lines in programlistings | ||
| 77 | 10. No trailing spaces on any line | ||
| 78 | 11. No spaces or linefeed immediately after leading <programlisting> | ||
| 79 | 12. No spaces or linefeed before trailing </programlisting> | ||
| 80 | |||
| 81 | DocBook Format: <ulink> - rules: ELTF_*URL* variables | ||
| 82 | 13. ELTF_*URL and corresponding ELTF_*TXTURL shall be identical strings | ||
| 83 | 14. Only if the URL is extremely long, the TXTURL can be a separate string | ||
| 84 | |||
| 85 | Each target has one section with target parameters: | ||
| 86 | <section id="eltf-target-table-ELTF_T_MANIFEST_DIR"> | ||
| 87 | <title>MACHINE ELTF_T_MANIFEST_DIR - Information</title> | ||
| 88 | ..... with many ELTF_ variables .... | ||
| 89 | </section> | ||
| 90 | |||
| 91 | 15. If there is only one target. ELTF just replaces ELTF parameters | ||
| 92 | |||
| 93 | 16. It there are multiple targets. ELTF copies the section and appends the | ||
| 94 | section the required number of times. | ||
| 95 | Each section ID will become unique: eltf-target-table-ELTF_T_MANIFEST_DIR | ||
| 96 | Each section title will become unique | ||
| 97 | |||
| 98 | Tables with target parameters in each target section: | ||
| 99 | 17. It is possible for ELTF to append more rows with one parameter each | ||
| 100 | to these tables, because the entire tables are included in the book | ||
| 101 | |||
| 102 | Special - NOT YET READY DEFINED how to handle the optionally included | ||
| 103 | Eclipse and its version, but this is a first suggestion: | ||
| 104 | 18. Just now ELTF can define ELFT_ECLIPSE_VERSION as a full string | ||
| 105 | with both version number and name, | ||
| 106 | 19. MANUALLY if Eclipse is NOT included in the release, | ||
| 107 | the release manager should manually set condition="hidden" on | ||
| 108 | the entire section in the book XML about Eclipse | ||
| 109 | |||
| 110 | |||
| 111 | |||
| 112 | BELOW WE TRY TO EXPLAIN EACH ELTF_* variable, but always check with make eltf | ||
| 113 | if there are more new variables, missing in this description file. | ||
| 114 | |||
| 115 | _____________________________________________________________________________ | ||
| 116 | ELTF_PL_HOST_PREREQ Multiline list of host prerequisites, e.g. commands | ||
| 117 | like sudo apt-get install xxxx or similar. | ||
| 118 | First line = comment with the complete host name! | ||
| 119 | It is possible to include multiple hosts by just | ||
| 120 | adding an empty line, comment with host name, etc. | ||
| 121 | xi:include eltf-prereq-apt-get-commands-host/1 | ||
| 122 | This is a <programlisting>...</programlisting> | ||
| 123 | Example: | ||
| 124 | # Host Ubuntu 14.04.5 LTS 64bit | ||
| 125 | sudo apt-get update | ||
| 126 | sudo apt-get install sed wget subversion git-core coreutils unzip texi2html \ | ||
| 127 | texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \ | ||
| 128 | make gcc build-essential xsltproc g++ desktop-file-utils chrpath \ | ||
| 129 | libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \ | ||
| 130 | libxml-parser-perl | ||
| 131 | |||
| 132 | _____________________________________________________________________________ | ||
| 133 | ELTF_PL_GET_REPO Multiline commands to download the repo tool | ||
| 134 | xi:include eltf-getting-repo-install-command/1 | ||
| 135 | This is a <programlisting>...</programlisting> | ||
| 136 | Example: | ||
| 137 | mkdir -p ~/bin | ||
| 138 | curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo | ||
| 139 | chmod a+x ~/bin/repo | ||
| 140 | export PATH=~/bin:$PATH | ||
| 141 | |||
| 142 | _____________________________________________________________________________ | ||
| 143 | ELTF_EL_REL_VER General parameter string: The version of this Enea | ||
| 144 | NFV Access release. Major version and optional .Minor | ||
| 145 | Typically created from MAJOR and MINOR in enea.conf | ||
| 146 | MINOR in enea.conf is empty or contains a dot+minor | ||
| 147 | xi_include EneaEdge_REL_VER/1 | ||
| 148 | This is a <phrase>X.x</phrase> used in many places. | ||
| 149 | Examples: | ||
| 150 | 6 | ||
| 151 | or | ||
| 152 | 6.1 | ||
| 153 | |||
| 154 | _____________________________________________________________________________ | ||
| 155 | ELTF_YOCTO_VER General parameter string: Yocto version, created | ||
| 156 | from DISTRO in poky.ent | ||
| 157 | xi:include Yocto_VER/1 | ||
| 158 | This is a <phrase>X.x</phrase> used in many places. | ||
| 159 | Example: | ||
| 160 | 2.1 | ||
| 161 | |||
| 162 | _____________________________________________________________________________ | ||
| 163 | ELTF_YOCTO_NAME General parameter string: Yocto name (branch), created | ||
| 164 | from DISTRO_NAME_NO_CAP in poky.ent | ||
| 165 | xi:include Yocto_NAME/1 | ||
| 166 | This is a <phrase>X.x</phrase> used in many places. | ||
| 167 | Example: | ||
| 168 | krogoth | ||
| 169 | |||
| 170 | _____________________________________________________________________________ | ||
| 171 | ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL | ||
| 172 | ELTF_YOCTO_PROJ_DOWNLOAD_URL strings with correct Yocto version string | ||
| 173 | at the end, typically without "dot". | ||
| 174 | xi:include ULINK_YOCTO_PROJECT_DOWNLOAD/1 | ||
| 175 | This is an <ulink url="...">...</ulink> | ||
| 176 | Example: | ||
| 177 | http://www.yoctoproject.org/downloads/core/krogoth/21 | ||
| 178 | |||
| 179 | _____________________________________________________________________________ | ||
| 180 | ELTF_EL_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL strings | ||
| 181 | ELTF_EL_DOWNLOAD_URL and shall be the http:/..... address where | ||
| 182 | Enea NFV Access can be downloaded | ||
| 183 | Often containing same version as in ELTF_EL_REL_VER | ||
| 184 | xi:include ULINK_ENEA_LINUX_URL/1 | ||
| 185 | This is an <ulink url="...">...</ulink> | ||
| 186 | Example: | ||
| 187 | http://linux.enea.com/6 | ||
| 188 | |||
| 189 | _____________________________________________________________________________ | ||
| 190 | ELTF_PL_CLONE_W_REPO Multiline commands to run repo to clone everything. | ||
| 191 | Use the variable $MACHINE/default.xml (the text in | ||
| 192 | the book will list the avaiable values of MACHINE, | ||
| 193 | taken from the manifest repository) | ||
| 194 | xi:include eltf-repo-cloning-enea-linux/1 | ||
| 195 | This is a <programlisting>...</programlisting> | ||
| 196 | Example: | ||
| 197 | mkdir enea-linux | ||
| 198 | cd enea-linux | ||
| 199 | repo init -u git@git.enea.com:linux/manifests/el_manifests-virtualization.git \ | ||
| 200 | -b refs/tags/EL6 -m $MACHINE/default.xml | ||
| 201 | repo sync | ||
| 202 | |||
| 203 | _____________________________________________________________________________ | ||
| 204 | ELTF_ECLIPSE_VERSION Optional general parameter string. | ||
| 205 | NOT YET READY DEFINED | ||
| 206 | Just now a release manage must manually set | ||
| 207 | condition="hidden" on the Eclipse section, | ||
| 208 | if Eclipse is not included in the release. | ||
| 209 | ELTF just replaces ELTF_ECLIPSE_VERSION with a full | ||
| 210 | string with "X.Y (name)" | ||
| 211 | It includes the ID and can only be ONCE in the book. | ||
| 212 | xi:include eltf-eclipse-version-row | ||
| 213 | Example. | ||
| 214 | 4.5 (Mars) | ||
| 215 | |||
| 216 | |||
| 217 | _____________________________________________________________________________ | ||
| 218 | ELTF_T_* All these are in each target (MACHINE) and ELTF | ||
| 219 | must separately replace them with strings for | ||
| 220 | each target | ||
| 221 | NOTE: All (except the MANIFEST_DIR) are in rows | ||
| 222 | in a table and ELTF can select to append | ||
| 223 | more parameters by adding more rows | ||
| 224 | |||
| 225 | _____________________________________________________________________________ | ||
| 226 | ELTF_T_MANIFEST_DIR This happens to be in two places. Must be exactly | ||
| 227 | ELTF_T_MANIFEST_DIR the directory name in the manifest, e.g. same | ||
| 228 | as the MACHINE names in $MACHINE/default.xml. | ||
| 229 | In book: a) Part of section ID | ||
| 230 | b) Part of section title | ||
| 231 | Examples: | ||
| 232 | p2041rgb | ||
| 233 | or | ||
| 234 | ls1021aiot | ||
| 235 | or | ||
| 236 | qemuarm | ||
| 237 | |||
| 238 | _____________________________________________________________________________ | ||
| 239 | ELTF_T_NAME Target specific: "Target Official Name" | ||
| 240 | NOT same as the target directory name in most cases. | ||
| 241 | In book: An <entry> element in a row | ||
| 242 | Examples: | ||
| 243 | P2041RGB | ||
| 244 | or | ||
| 245 | LS1021a-IoT | ||
| 246 | or | ||
| 247 | qemuarm | ||
| 248 | |||
| 249 | _____________________________________________________________________________ | ||
| 250 | ELTF_T_ARC_DESC Target specific: "Architecture and Description" | ||
| 251 | It can be a short identification string or | ||
| 252 | it can be a longer descriptive sentence. | ||
| 253 | In book: An <entry> element in a row | ||
| 254 | Examples: | ||
| 255 | Power, e500mc | ||
| 256 | or | ||
| 257 | ARM Cortex-A7 | ||
| 258 | |||
| 259 | _____________________________________________________________________________ | ||
| 260 | ELTF_T_DS_TXTURL Target specific: "Link to target datasheet. These | ||
| 261 | ELTF_T_DS_URL two usually are IDENTICAL strings with correct | ||
| 262 | hyperlink to the target's official datasheet. | ||
| 263 | In book: an <ulink url="...">...</ulink> | ||
| 264 | Only if the link is VERY LONG, the text part shall | ||
| 265 | instead be a descriptive string (see 2:nd example). | ||
| 266 | NOTE: Also here no spaces or line-feeds! | ||
| 267 | Examples: | ||
| 268 | url="http://wiki.qemu.org">http://wiki.qemu.org | ||
| 269 | or | ||
| 270 | url="http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors/qoriq-ls1021a-iot-gateway-reference-design:LS1021A-IoT">link to NXP's datasheet | ||
| 271 | |||
| 272 | _____________________________________________________________________________ | ||
| 273 | ELTF_T_POKY_VER Target specific: "Poky version" created either | ||
| 274 | from POKYVERSION in poky.ent | ||
| 275 | or using a hashvalue with a leading string, in | ||
| 276 | which case it may be different per target. | ||
| 277 | In book: An <entry> in a row | ||
| 278 | Examples: | ||
| 279 | 15.0.0 | ||
| 280 | or | ||
| 281 | Git commit id: 75ca53211488a3e268037a44ee2a7ac5c7181bd2 | ||
| 282 | |||
| 283 | _____________________________________________________________________________ | ||
| 284 | ELTF_T_GCC_VER Target specific: "GCC Version". Should be in poky | ||
| 285 | but not easy to find among various parameters. | ||
| 286 | ELTF would extract it from build logs building SDK | ||
| 287 | and it is possibly different per target. | ||
| 288 | In book: An <entry> in a row | ||
| 289 | Example: | ||
| 290 | 5.3 | ||
| 291 | |||
| 292 | _____________________________________________________________________________ | ||
| 293 | ELTF_T_KERN_VER Target specific: "Linux Kernel Version". Often | ||
| 294 | different per target. | ||
| 295 | In book: An <entry> in a row | ||
| 296 | Example: | ||
| 297 | 3.12 | ||
| 298 | |||
| 299 | _____________________________________________________________________________ | ||
| 300 | ELTF_T_DRIVERS Target specific: "Supported Drivers". This is a | ||
| 301 | comma-separated list of driver names. | ||
| 302 | ELTF should create the list in same order for each | ||
| 303 | target, e.g. alphabetic migth be OK. | ||
| 304 | In book: An <entry> in a row | ||
| 305 | Example: | ||
| 306 | Ethernet, I2C, SPI, PCI, USB, SD/SDHC/SDXC | ||
| 307 | |||
| 308 | |||
| 309 | _____________________________________________________________________________ | ||
| 310 | ELTF_T_EL_RPM_TXTURL Target specific: "Enea rpm folder for downloading | ||
| 311 | ELTF_T_EL_RPM_URL RPM packages for this target". These two are | ||
| 312 | INDENTICAL strings with hyperlink to the web site | ||
| 313 | at Enea where the customer can download RPMs | ||
| 314 | Note: Often the ELFT_EL_REL_VER value and | ||
| 315 | the ELTF_T_MANIFEST_DIR are used in the link. | ||
| 316 | In book: an <ulink url="...">...</ulink> | ||
| 317 | Example: | ||
| 318 | url="https://linux.enea.com/6/ls1021aiot/rpm">https://linux.enea.com/6/ls1021aiot/rpm | ||
| 319 | |||
| 320 | _____________________________________________________________________________ | ||
