Ajout informations supplémentaires dans le README
This commit is contained in:
parent
66842a850c
commit
e608183e1b
41
README.md
41
README.md
|
@ -1,6 +1,6 @@
|
||||||
# Tamarin
|
# Tamarin
|
||||||
|
|
||||||
Usine à paquet basée sur Docker.
|
Usine à paquets basée sur Docker.
|
||||||
|
|
||||||
## Dépendances
|
## Dépendances
|
||||||
|
|
||||||
|
@ -17,6 +17,45 @@ Vous devez avoir [docker](https://docs.docker.com/installation/) installé sur v
|
||||||
./package-project.sh ./src-example ./dist "debian:jessie"
|
./package-project.sh ./src-example ./dist "debian:jessie"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Le fichier manifeste `tamarin.json`
|
||||||
|
|
||||||
|
La construction des fichiers de métadonnées nécessaires à la construction du paquet peut être semi-automatisé via l'ajout d'un fichier manifeste `tamarin.json` à la racine du projet.
|
||||||
|
|
||||||
|
Tamarin se basera sur les informations présentes dans ce fichier pour générer les fichiers requis.
|
||||||
|
|
||||||
|
Ce fichier à la structure suivante:
|
||||||
|
|
||||||
|
```js
|
||||||
|
{
|
||||||
|
"name": "hello-world", // Nom du projet
|
||||||
|
"version": "0.0.0", // Version
|
||||||
|
"dependencies": { // Dépendances du projet suivant la distribution cible
|
||||||
|
"debian:jessie": [
|
||||||
|
"apache2 (>= 2.4)",
|
||||||
|
"php5 (>= 5.4)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"hooks": { // Hooks liés au cycle de vie du paquet
|
||||||
|
"preBuild": "./scripts/pre-build.sh",
|
||||||
|
"postBuild": "./scripts/post-build.sh",
|
||||||
|
"preInstall": "",
|
||||||
|
"preRemove": "",
|
||||||
|
"postInstall": "",
|
||||||
|
"postRemove": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
### Les hooks
|
||||||
|
|
||||||
|
|Hook|Contexte|Description|
|
||||||
|
|-|-|-|
|
||||||
|
|preBuild|Exécuté dans le conteneur de construction du paquet|TODO|
|
||||||
|
|postBuild|Exécuté dans le conteneur de construction du paquet|TODO|
|
||||||
|
|preInstall|Exécuté juste avant l'installation du paquet|TODO|
|
||||||
|
|postInstall|Exécuté juste après l'installation du paquet|TODO|
|
||||||
|
|preRemove|Exécuté juste avant la suppression du paquet|TODO|
|
||||||
|
|postRemove|Exécuté juste après la suppression du paquet|TODO|
|
||||||
|
|
||||||
## Licence
|
## Licence
|
||||||
|
|
||||||
GPLv3
|
GPLv3
|
||||||
|
|
11
lib/build.sh
11
lib/build.sh
|
@ -49,7 +49,7 @@ function exec_hook {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function create_control_file {
|
function create_debian_metadata {
|
||||||
|
|
||||||
build_dir="${1}"
|
build_dir="${1}"
|
||||||
mkdir -p "${build_dir}/DEBIAN"
|
mkdir -p "${build_dir}/DEBIAN"
|
||||||
|
@ -96,7 +96,14 @@ function build_project {
|
||||||
|
|
||||||
debug "Build dir: ${build_dir}"
|
debug "Build dir: ${build_dir}"
|
||||||
|
|
||||||
create_control_file "${build_dir}"
|
# We don't generate Debian metadata files if a debian directory is present
|
||||||
|
if [ ! -d "${SRC_DIR}/DEBIAN" ] && [ ! -d "${SRC_DIR}/debian" ]; then
|
||||||
|
info "No Debian directory detected in sources."
|
||||||
|
info "Generating Debian metadata files from manifest..."
|
||||||
|
create_debian_metadata "${build_dir}"
|
||||||
|
else
|
||||||
|
info "A Debian directory is already present in sources."
|
||||||
|
fi
|
||||||
|
|
||||||
exec_hook "preBuild" "${build_dir}"
|
exec_hook "preBuild" "${build_dir}"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue