|
|
@ -61,8 +61,8 @@ |
|
|
|
* **PAYLOAD**: le contenu. |
|
|
|
|
|
|
|
> **NOTE**: |
|
|
|
* Si `HL` == `10d` (`000ah`, frame 0 to 9), alors il n'y à pas d'options. |
|
|
|
* Si `MDL` == `0d` (`0000h`), alors il n'y à pas de méta-données. |
|
|
|
* Si `HL` égale `10d` (`000ah`), alors il n'y à pas d'options. |
|
|
|
* Si `MDL` égale `0d` (`0000h`), alors il n'y à pas de méta-données. |
|
|
|
|
|
|
|
## Cupfile |
|
|
|
Le fichier **Cupfile** permet de **rassembler des informations** qui seront utilisés lors de la compilation. |
|
|
@ -78,52 +78,53 @@ Voici la structure d'un Cupfile: |
|
|
|
| Constantes. ([add:] | set:)X-CONST2 = value2 |
|
|
|
| ([add:] | set:)X-CONST3 = value3 |
|
|
|
+--------------------> |
|
|
|
+--------------------> (2x new ligne: `0x0a 0x0a`) |
|
|
|
+--------------------> (2x LF: `0x0a 0x0a` or 2x CRLF: `0x0d 0x0a 0x0d 0x0a`) |
|
|
|
+--------------------> `exec` executable_file [arguments] |
|
|
|
``` |
|
|
|
|
|
|
|
Voici un exemple de Cupfile, ce conteneur permet l'execution d'un script Python, en incluant toutes les dépendances: |
|
|
|
```bash |
|
|
|
AUTOR = Maiuri Gaëtan <maiuri.gaetan@lessonsharing.fr> |
|
|
|
DATE = 2017-09-22 |
|
|
|
DESCRIPTION = A simple Cuper container with a text reader. |
|
|
|
X-ENV = ["set:VERBOSE=1", "LD_LIBRARY_PATH=$_CWD/python-linux-x86-64/"] # LD_LIBRARY_PATH=... => is equivalente of add:LD_LIBRARY_PATH=... |
|
|
|
X-INCLUDES = ["python-linux-x86-64/", "main.py"] |
|
|
|
|
|
|
|
# POSIX |
|
|
|
exec ./python/python main.py -v -i myfile.txt |
|
|
|
# Windows |
|
|
|
#exec python\python.exe main.py -v -i myfile.txt |
|
|
|
``` |
|
|
|
|
|
|
|
Le Cupfile doit se situer à la raçine de votre projet, exemple: |
|
|
|
```plain |
|
|
|
reader: |
|
|
|
|-- .git/ |
|
|
|
|-- test/ |
|
|
|
|-- python-windows-x86-64/ |
|
|
|
|-- exemple.dll |
|
|
|
|-- libraries.dll |
|
|
|
`-- python.exe |
|
|
|
|-- python-linux-x86-64/ |
|
|
|
|-- exemple.so |
|
|
|
|-- libraries.so |
|
|
|
`-- python |
|
|
|
|-- Cupfile |
|
|
|
|-- main.py |
|
|
|
``` |
|
|
|
|
|
|
|
Voici un exemple de Cupfile, ce conteneur permet l'execution d'un script Python, en incluant toutes les dépendances: |
|
|
|
```bash |
|
|
|
AUTOR = Maiuri Gaëtan <maiuri.gaetan@lessonsharing.fr> |
|
|
|
DATE = 2017-09-22 |
|
|
|
DESCRIPTION = A simple Cuper container with a text reader. |
|
|
|
X-ENV = ["set:VERBOSE=1", "LD_LIBRARY_PATH=$_CWD/python-linux-x86-64/"] # LD_LIBRARY_PATH=... => is equivalent of add:LD_LIBRARY_PATH=... |
|
|
|
X-INCLUDES = ["python-linux-x86-64/", "main.py"] |
|
|
|
|
|
|
|
# POSIX |
|
|
|
exec ./python-linux-x86-64/python main.py -v -i myfile.txt |
|
|
|
# Windows |
|
|
|
#exec python-windows-x86-64\python.exe main.py -v -i myfile.txt |
|
|
|
``` |
|
|
|
|
|
|
|
## Constantes internes |
|
|
|
Des constantes internes sont utilisable dans le Cupfile, afin de formater votre environnement d'execution dynamiquement. |
|
|
|
Des constantes internes sont utilisable dans le Cupfile, afin de formater dynamiquement votre environnement d'execution. |
|
|
|
|
|
|
|
> **NOTE**: Ces constantes ne sont pas modifiable. |
|
|
|
|
|
|
|
| Non | Type | Description | Exemple | |
|
|
|
|-----|:----:|-------------|---------| |
|
|
|
| `$_CWD` | string | Le path du dossier courant post-extraction | `/path/to/riz/contents` | |
|
|
|
| `$_HOME` | string | Le path du dossier utilisateur (de la machine cible) | `/home/batman` or `C:\Users\batman` | |
|
|
|
|
|
|
|
## Atributs d'extension |
|
|
|
## Attributs d'extension |
|
|
|
Les attributs d'extension permettent d'injecter des intructions à la compilation. |
|
|
|
|
|
|
|
| Non | Type | Description | Exemple | |
|
|
|
|-----|:----:|-------------|---------| |
|
|
|
| `X-ENV` | array | Inject des variable d'environnement dans le contexte d'execution | `["VERBOSE=1", "LD_LIBRARY_PATH=libs/"]` | |
|
|
|
| `X-INCLUDES` | array | Inclure seulement ces fichiers/dossiers dans le contener | `["myfile", "mydir/"]` | |
|
|
|
| `X-ENV` | array | Inject des variables d'environnement dans le contexte d'execution (sur la machine cible) | `["VERBOSE=1", "LD_LIBRARY_PATH=libs/"]` | |
|
|
|
| `X-INCLUDES` | array | Inclure seulement ces fichiers/dossiers dans le conteneur | `["myfile", "mydir/"]` | |