Intégration de la branche release-9.4.2

This commit is contained in:
Jephté Clain 2020-01-24 08:52:31 +04:00
commit c8b8f107a1
5 changed files with 63 additions and 23 deletions

View File

@ -1,3 +1,12 @@
## Version 9.4.2 du 24/01/2020-08:52
* `fd5b787` dk: bug
* `ad18983` maj de l'image par défaut
* `c33ff4c` ajouter le support de buster
* `247b449` dk: maj doc
* `28f4d39` dk: support de COMPOSER_PHP
* `f28df52` maj image composer
## Version 9.4.1 du 20/01/2020-14:46 ## Version 9.4.1 du 20/01/2020-14:46
* `6f01bac` dk: si la commande est inconnue, la transmettre à docker * `6f01bac` dk: si la commande est inconnue, la transmettre à docker

View File

@ -1 +1 @@
9.4.1 9.4.2

68
dk
View File

@ -138,14 +138,22 @@ COMMANDES
X|prune X|prune
Supprimer les containers et les images inutilisées Supprimer les containers et les images inutilisées
composer|ci|cu|cs [args...] composer|ci|cu|cr|cs [args...]
Frontend pour lancer composer à l'intérieur d'un container. Les Frontend pour lancer composer à l'intérieur d'un container. Les
commandes 'ci', 'cu' et 'cs' sont respectivement des alias pour commandes 'ci', 'cu', 'cr', 'cs' sont des alias pour 'composer install',
'composer install', 'composer update' et 'composer shell' 'composer update', 'composer rshell' et 'composer shell' respectivement
S'il existe un fichier .composer.conf dans le répertoire du projet, il S'il existe un fichier .composer.conf dans le répertoire du projet, il
est sourcé. Ce fichier définit des variables qui indiquent comment la est sourcé. Ce fichier définit des variables qui indiquent comment la
commande composer est lancée. Les variables suivantes peuvent être commande composer est lancée. Les variables suivantes peuvent être
définies: définies:
* COMPOSER_PHP -- Version de PHP en dessous de laquelle COMPOSER_IMAGE
est utilisé. En d'autres termes, c'est la version minimum de PHP
nécessaire pour faire tourner composer. L'idée est que si la version
de PHP installée est suffisante, il n'est pas nécessaire de passer par
une image docker.
Cette valeur doit être spécifiée avec le format de PHP_VERSION_ID i.e
70300 pour PHP 7.3
Spécifier 'any' ou 'force' pour forcer l'utilisation de l'image docker
* COMPOSER_IMAGE -- Image utilisée pour lancer composer. La valeur par * COMPOSER_IMAGE -- Image utilisée pour lancer composer. La valeur par
défaut est: défaut est:
$DEFAULT_COMPOSER_IMAGE $DEFAULT_COMPOSER_IMAGE
@ -167,11 +175,11 @@ COMMANDES
spécifiées y sont lancées. Ce container est réutilisé à chaque fois. spécifiées y sont lancées. Ce container est réutilisé à chaque fois.
Ce paramétrage est utilisé pour par exemple installer certains Ce paramétrage est utilisé pour par exemple installer certains
packages nécessaire au projet. packages nécessaire au projet.
La commande 'shell' est une extension qui lance un shell bash au lieu de La commande 'rshell' est une extension qui lance un shell bash au lieu
lancer la commande composer, ce qui permet de faire des opérations plus de lancer la commande composer, ce qui permet de faire des opérations
complexes si le besoin s'en fait sentir. NB: le shell est lancé avec plus complexes si le besoin s'en fait sentir. NB: le shell est lancé
l'utilisateur root. La commande alternative 'ushell' lance le shell avec avec l'utilisateur root. La commande alternative 'shell' lance le shell
le compte utilisateur. avec le compte utilisateur.
Pour faciliter l'utilisation dans un script, les premiers arguments Pour faciliter l'utilisation dans un script, les premiers arguments
peuvent être utilisés pour redéfinir les variables COMPOSER_*, e.g peuvent être utilisés pour redéfinir les variables COMPOSER_*, e.g
$scriptname composer COMPOSER_IMAGE=none install $scriptname composer COMPOSER_IMAGE=none install
@ -1275,12 +1283,12 @@ EOF
function default_local_composer() { function default_local_composer() {
# lancement direct # lancement direct
case "$1" in case "$1" in
rootshell|shell|rootbash|bash) rootshell|rshell|rootbash|rbash)
# ewarn parce qu'on est pas root dans ce shell contrairement à ce qui est demandé # ewarn parce qu'on est pas root dans ce shell contrairement à ce qui est demandé
ewarn "Lancement d'un shell utilisateur" ewarn "Lancement d'un shell utilisateur alors qu'un shell root est demandé"
bash "$@" bash "$@"
;; ;;
usershell|ushell|userbash|ubash) usershell|shell|userbash|bash)
estep "Lancement d'un shell utilisateur" estep "Lancement d'un shell utilisateur"
bash "$@" bash "$@"
;; ;;
@ -1303,11 +1311,11 @@ function default_docker_composer() {
setx group=id -gn; setx group=getent group "$group" setx group=id -gn; setx group=getent group "$group"
setx projdir=pwd setx projdir=pwd
case "$1" in case "$1" in
rootshell|shell|rootbash|bash) rootshell|rshell|rootbash|rbash)
actualcmd='eval "bash $args"' actualcmd='eval "bash $args"'
shift shift
;; ;;
usershell|ushell|userbash|ubash) usershell|shell|userbash|bash)
actualcmd='eval "su-exec \"$user\" bash $args"' actualcmd='eval "su-exec \"$user\" bash $args"'
shift shift
;; ;;
@ -1390,6 +1398,7 @@ fi
function local_composer() { default_local_composer "$@"; } function local_composer() { default_local_composer "$@"; }
function docker_composer() { default_docker_composer "$@"; } function docker_composer() { default_docker_composer "$@"; }
function auto_composer() { function auto_composer() {
local COMPOSER_PHP=
local COMPOSER_IMAGE="$DEFAULT_COMPOSER_IMAGE" local COMPOSER_IMAGE="$DEFAULT_COMPOSER_IMAGE"
local COMPOSER_MACHINE=-u local COMPOSER_MACHINE=-u
local COMPOSER_CMD= local COMPOSER_CMD=
@ -1398,6 +1407,7 @@ function auto_composer() {
# les premiers arguments peuvent service à redéfinir les variables # les premiers arguments peuvent service à redéfinir les variables
while [ $# -gt 0 ]; do while [ $# -gt 0 ]; do
case "$1" in case "$1" in
COMPOSER_PHP=*) setv "$1"; shift;;
COMPOSER_IMAGE=*) setv "$1"; shift;; COMPOSER_IMAGE=*) setv "$1"; shift;;
COMPOSER_MACHINE=*) setv "$1"; shift;; COMPOSER_MACHINE=*) setv "$1"; shift;;
COMPOSER_CMD=*) setv "$1"; shift;; COMPOSER_CMD=*) setv "$1"; shift;;
@ -1406,10 +1416,27 @@ function auto_composer() {
esac esac
done done
if [ "$COMPOSER_IMAGE" == none ]; then local use_image
local_composer "$@" if [ -z "$COMPOSER_PHP" ]; then
# pas de version minimum, tester simplement la valeur de COMPOSER_IMAGE
[ "$COMPOSER_IMAGE" != none ] && use_image=1
elif [ "$COMPOSER_PHP" == force -o "$COMPOSER_PHP" == any ]; then
use_image=1
else else
# Vérifier la version de PHP
php -r '
$version = $argv[1];
if (strpos($version, ".") !== false) {
$version = explode(".", $version);
$version = $version[0] * 10000 + $version[1] * 100 + (isset($version[2])? $version[2]: 0);
}
exit((PHP_VERSION_ID < $version)? 0: 1);
' -- "$COMPOSER_PHP" && use_image=1
fi
if [ -n "$use_image" ]; then
[ "$COMPOSER_IMAGE" != none ] || die "Vous devez spécifier l'image à utiliser pour composer"
local PREVIOUS_DOCKER_MACHINE_NAME="$DOCKER_MACHINE_NAME" local PREVIOUS_DOCKER_MACHINE_NAME="$DOCKER_MACHINE_NAME"
if [ -n "$COMPOSER_MACHINE" -a "$DOCKER_MACHINE_NAME" != "$COMPOSER_MACHINE" ]; then if [ -n "$COMPOSER_MACHINE" -a "$DOCKER_MACHINE_NAME" != "$COMPOSER_MACHINE" ]; then
local -x DOCKER_TLS_VERIFY= DOCKER_HOST= DOCKER_CERT_PATH= DOCKER_MACHINE_NAME= local -x DOCKER_TLS_VERIFY= DOCKER_HOST= DOCKER_CERT_PATH= DOCKER_MACHINE_NAME=
@ -1424,6 +1451,8 @@ function auto_composer() {
fi fi
docker_composer "$@" docker_composer "$@"
else
local_composer "$@"
fi fi
} }
@ -1437,7 +1466,7 @@ fi
DEFAULT_PROFILE=devel DEFAULT_PROFILE=devel
# pour le moment ne pas lancer composer dans un container par défaut # pour le moment ne pas lancer composer dans un container par défaut
DEFAULT_COMPOSER_IMAGE=none #docker.univ-reunion.fr/image/utils-icmycas-php-apache:d9 DEFAULT_COMPOSER_IMAGE=none #docker.univ-reunion.fr/image/apache-php-myiccas-utils:d9
PROFILE= PROFILE=
DM_PROFILES=() DM_PROFILES=()
set_defaults dk set_defaults dk
@ -1857,13 +1886,14 @@ NR == 1 { print; next }
"$DOCKER" container prune -f || die "$DOCKER" container prune -f || die
"$DOCKER" image prune -f || die "$DOCKER" image prune -f || die
;; ;;
composer|c|ci|cu|cs) composer|c|ci|cu|cr|cs)
build_set_options "$update_apps_mode" "$update_apps_origin" "$update_apps_branch" build_set_options "$update_apps_mode" "$update_apps_origin" "$update_apps_branch"
[ -f .build.scripts.sh ] && source ./.build.scripts.sh [ -f .build.scripts.sh ] && source ./.build.scripts.sh
[ -f build.scripts.sh ] && source ./build.scripts.sh [ -f build.scripts.sh ] && source ./build.scripts.sh
args=() args=()
if [ "$cmd" == ci ]; then args+=(install) if [ "$cmd" == ci ]; then args+=(install)
elif [ "$cmd" == cu ]; then args+=(update) elif [ "$cmd" == cu ]; then args+=(update)
elif [ "$cmd" == cr ]; then args+=(rshell)
elif [ "$cmd" == cs ]; then args+=(shell) elif [ "$cmd" == cs ]; then args+=(shell)
fi fi
while [ $# -gt 0 -a "$1" != -- ]; do while [ $# -gt 0 -a "$1" != -- ]; do
@ -1873,6 +1903,6 @@ NR == 1 { print; next }
;; ;;
*) *)
# transmettre directement à docker pour les autres commandes # transmettre directement à docker pour les autres commandes
exec "$DOCKER" "$@" exec "$DOCKER" "$cmd" "$@"
esac esac
done done

View File

@ -7,4 +7,4 @@
#DM_PROFILES=(name:profile...) #DM_PROFILES=(name:profile...)
# Image à utiliser pour lancer composer # Image à utiliser pour lancer composer
#COMPOSER_IMAGE=docker.univ-reunion.fr/image/utils-icmycas-php-apache:d9 #COMPOSER_IMAGE=docker.univ-reunion.fr/image/apache-php-myiccas-utils:d10

View File

@ -25,7 +25,7 @@ SYSDIST_ALIASES=(
# attention: dans *_SYSVERS, les noms doivent être ordonnés du plus récent au # attention: dans *_SYSVERS, les noms doivent être ordonnés du plus récent au
# moins récent # moins récent
debianlike_SYSVERS=() debianlike_SYSVERS=()
debian_SYSVERS=(stretch jessie wheezy squeeze lenny etch) debian_SYSVERS=(buster stretch jessie wheezy squeeze lenny etch)
ubuntu_SYSVERS=(oneiric natty maverick lucid karmic jaunty intrepid hardy) ubuntu_SYSVERS=(oneiric natty maverick lucid karmic jaunty intrepid hardy)
redhatlike_SYSVERS=() redhatlike_SYSVERS=()
ol_SYSVERS=(ol7 ol6 redhat7 redhat6) ol_SYSVERS=(ol7 ol6 redhat7 redhat6)
@ -35,7 +35,7 @@ centos_SYSVERS=(centos7 centos6 centos5 centos4 redhat7 redhat6 redhat5 redhat4)
suse_SYSVERS=() suse_SYSVERS=()
gentoo_SYSVERS=() gentoo_SYSVERS=()
SYSVER_ALIASES=( SYSVER_ALIASES=(
9=stretch 8=jessie 7=wheezy 6=squeeze 5=lenny 4=etch 10=buster 9=stretch 8=jessie 7=wheezy 6=squeeze 5=lenny 4=etch
11.10=oneiric 11.04=natty 10.10=maverick 10.04=lucid 9.10=karmic 9.04=jaunty 8.10=intrepid 8.04=hardy 11.10=oneiric 11.04=natty 10.10=maverick 10.04=lucid 9.10=karmic 9.04=jaunty 8.10=intrepid 8.04=hardy
) )
@ -143,6 +143,7 @@ function __compute_sysinfos() {
esac esac
if [ -n "$debian_version" ]; then if [ -n "$debian_version" ]; then
case "$debian_version" in case "$debian_version" in
10*|buster*) MYSYSDIST=(debian debianlike); MYSYSVER=(buster);;
9*|stretch*) MYSYSDIST=(debian debianlike); MYSYSVER=(stretch);; 9*|stretch*) MYSYSDIST=(debian debianlike); MYSYSVER=(stretch);;
8*|jessie*) MYSYSDIST=(debian debianlike); MYSYSVER=(jessie);; 8*|jessie*) MYSYSDIST=(debian debianlike); MYSYSVER=(jessie);;
7*|wheezy*) MYSYSDIST=(debian debianlike); MYSYSVER=(wheezy);; 7*|wheezy*) MYSYSDIST=(debian debianlike); MYSYSVER=(wheezy);;