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
* `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
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
commandes 'ci', 'cu' et 'cs' sont respectivement des alias pour
'composer install', 'composer update' et 'composer shell'
commandes 'ci', 'cu', 'cr', 'cs' sont des alias pour 'composer install',
'composer update', 'composer rshell' et 'composer shell' respectivement
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
commande composer est lancée. Les variables suivantes peuvent être
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
défaut est:
$DEFAULT_COMPOSER_IMAGE
@ -167,11 +175,11 @@ COMMANDES
spécifiées y sont lancées. Ce container est réutilisé à chaque fois.
Ce paramétrage est utilisé pour par exemple installer certains
packages nécessaire au projet.
La commande 'shell' est une extension qui lance un shell bash au lieu de
lancer la commande composer, ce qui permet de faire des opérations plus
complexes si le besoin s'en fait sentir. NB: le shell est lancé avec
l'utilisateur root. La commande alternative 'ushell' lance le shell avec
le compte utilisateur.
La commande 'rshell' est une extension qui lance un shell bash au lieu
de lancer la commande composer, ce qui permet de faire des opérations
plus complexes si le besoin s'en fait sentir. NB: le shell est lancé
avec l'utilisateur root. La commande alternative 'shell' lance le shell
avec le compte utilisateur.
Pour faciliter l'utilisation dans un script, les premiers arguments
peuvent être utilisés pour redéfinir les variables COMPOSER_*, e.g
$scriptname composer COMPOSER_IMAGE=none install
@ -1275,12 +1283,12 @@ EOF
function default_local_composer() {
# lancement direct
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 "Lancement d'un shell utilisateur"
ewarn "Lancement d'un shell utilisateur alors qu'un shell root est demandé"
bash "$@"
;;
usershell|ushell|userbash|ubash)
usershell|shell|userbash|bash)
estep "Lancement d'un shell utilisateur"
bash "$@"
;;
@ -1303,11 +1311,11 @@ function default_docker_composer() {
setx group=id -gn; setx group=getent group "$group"
setx projdir=pwd
case "$1" in
rootshell|shell|rootbash|bash)
rootshell|rshell|rootbash|rbash)
actualcmd='eval "bash $args"'
shift
;;
usershell|ushell|userbash|ubash)
usershell|shell|userbash|bash)
actualcmd='eval "su-exec \"$user\" bash $args"'
shift
;;
@ -1390,6 +1398,7 @@ fi
function local_composer() { default_local_composer "$@"; }
function docker_composer() { default_docker_composer "$@"; }
function auto_composer() {
local COMPOSER_PHP=
local COMPOSER_IMAGE="$DEFAULT_COMPOSER_IMAGE"
local COMPOSER_MACHINE=-u
local COMPOSER_CMD=
@ -1398,6 +1407,7 @@ function auto_composer() {
# les premiers arguments peuvent service à redéfinir les variables
while [ $# -gt 0 ]; do
case "$1" in
COMPOSER_PHP=*) setv "$1"; shift;;
COMPOSER_IMAGE=*) setv "$1"; shift;;
COMPOSER_MACHINE=*) setv "$1"; shift;;
COMPOSER_CMD=*) setv "$1"; shift;;
@ -1406,10 +1416,27 @@ function auto_composer() {
esac
done
if [ "$COMPOSER_IMAGE" == none ]; then
local_composer "$@"
local use_image
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
# 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"
if [ -n "$COMPOSER_MACHINE" -a "$DOCKER_MACHINE_NAME" != "$COMPOSER_MACHINE" ]; then
local -x DOCKER_TLS_VERIFY= DOCKER_HOST= DOCKER_CERT_PATH= DOCKER_MACHINE_NAME=
@ -1424,6 +1451,8 @@ function auto_composer() {
fi
docker_composer "$@"
else
local_composer "$@"
fi
}
@ -1437,7 +1466,7 @@ fi
DEFAULT_PROFILE=devel
# 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=
DM_PROFILES=()
set_defaults dk
@ -1857,13 +1886,14 @@ NR == 1 { print; next }
"$DOCKER" container 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"
[ -f .build.scripts.sh ] && source ./.build.scripts.sh
[ -f build.scripts.sh ] && source ./build.scripts.sh
args=()
if [ "$cmd" == ci ]; then args+=(install)
elif [ "$cmd" == cu ]; then args+=(update)
elif [ "$cmd" == cr ]; then args+=(rshell)
elif [ "$cmd" == cs ]; then args+=(shell)
fi
while [ $# -gt 0 -a "$1" != -- ]; do
@ -1873,6 +1903,6 @@ NR == 1 { print; next }
;;
*)
# transmettre directement à docker pour les autres commandes
exec "$DOCKER" "$@"
exec "$DOCKER" "$cmd" "$@"
esac
done

View File

@ -7,4 +7,4 @@
#DM_PROFILES=(name:profile...)
# 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
# moins récent
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)
redhatlike_SYSVERS=()
ol_SYSVERS=(ol7 ol6 redhat7 redhat6)
@ -35,7 +35,7 @@ centos_SYSVERS=(centos7 centos6 centos5 centos4 redhat7 redhat6 redhat5 redhat4)
suse_SYSVERS=()
gentoo_SYSVERS=()
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
)
@ -143,6 +143,7 @@ function __compute_sysinfos() {
esac
if [ -n "$debian_version" ]; then
case "$debian_version" in
10*|buster*) MYSYSDIST=(debian debianlike); MYSYSVER=(buster);;
9*|stretch*) MYSYSDIST=(debian debianlike); MYSYSVER=(stretch);;
8*|jessie*) MYSYSDIST=(debian debianlike); MYSYSVER=(jessie);;
7*|wheezy*) MYSYSDIST=(debian debianlike); MYSYSVER=(wheezy);;