Intégration de la branche release-9.10.0
This commit is contained in:
commit
337f24c447
17
CHANGES.md
17
CHANGES.md
|
@ -1,3 +1,20 @@
|
|||
## Version 9.10.0 du 12/11/2020-23:05
|
||||
|
||||
* `24d0519` dk: support merge .shared_env et .machine_env
|
||||
* `45c40d7` dk: support de --pull
|
||||
* `c921d2a` pff: support de NOUPSTREAM
|
||||
* `edf956f` dk: BRANCH peut aussi être un ^COMMIT
|
||||
* `85842f3` renommer start-screen en Sscreen
|
||||
* `e395720` maj doc
|
||||
* `4603b1a` bug
|
||||
* `a91542b` maj .gitattributes par défaut
|
||||
* `51c4c33` support sélection java 11
|
||||
* `82a7952` dm: support des aliases pour ssh aussi
|
||||
* `d1d32de` dk: bug avec update-devel
|
||||
* `037cb1a` maj template sql
|
||||
* `04d037f` support rhel8 / ol8
|
||||
* `725ba6d` cssh: donner un nom à la session
|
||||
|
||||
## Version 9.9.0 du 21/09/2020-18:08
|
||||
|
||||
* `2ec6c21` support gros doigt de python2 sur les systèmes modernes
|
||||
|
|
|
@ -33,8 +33,9 @@ function __auto_screen() {
|
|||
|
||||
local msgprefix
|
||||
local screens count
|
||||
local session_name="nutools-$USER"
|
||||
|
||||
screens="$(LANG=C screen -ls | grep -Ei "attached|detached")"
|
||||
screens="$(LANG=C screen -ls | grep -Ei "${session_name}.*attached|detached")"
|
||||
if [ -n "$screens" ]; then
|
||||
count="$(echo "$screens" | wc -l)"
|
||||
else
|
||||
|
@ -52,14 +53,14 @@ La première session"
|
|||
if __ask "
|
||||
$msgprefix sera reconnectée automatiquent dans 2 secondes
|
||||
Voulez-vous reconnecter la session screen? [On] "; then
|
||||
exec screen -q -s -/bin/bash -xRR
|
||||
exec screen -q -s -/bin/bash -xRR -S "$session_name"
|
||||
else
|
||||
exec /bin/bash -l
|
||||
fi
|
||||
elif __ask "
|
||||
Une ${COULEUR_VERTE}nouvelle session screen${COULEUR_NORMALE} sera lancée automatiquement dans 2 secondes
|
||||
Voulez-vous lancer une session screen? [On] "; then
|
||||
exec screen -q -s -/bin/bash -RR
|
||||
exec screen -q -s -/bin/bash -RR -S "$session_name"
|
||||
else
|
||||
exec /bin/bash -l
|
||||
fi
|
|
@ -1 +1 @@
|
|||
9.9.0
|
||||
9.10.0
|
||||
|
|
6
cssh
6
cssh
|
@ -24,15 +24,15 @@ eval "$vars"
|
|||
[ "${#hosts[*]}" -gt 0 ] || die "Vous devez spécifier l'hôte sur lequel se connecter"
|
||||
|
||||
[ ${#args[*]} -gt 0 ] && cmd="$(qvals "${args[@]}"); " || cmd=
|
||||
cmd="$cmd$(<"$scriptdir/start-screen")"
|
||||
cmd="$cmd$(<"$scriptdir/Sscreen")"
|
||||
cmd="'${cmd//\'/\'\\\'\'}'"
|
||||
|
||||
for host in "${hosts[@]}"; do
|
||||
"$ssh" \
|
||||
"${options[@]}" -qt "$host" -- \
|
||||
"[ -x /usr/local/nutools/start-screen ] && exec /usr/local/nutools/start-screen $(qvals "${args[@]}") || exit 123"
|
||||
"[ -x /usr/local/nutools/Sscreen ] && exec /usr/local/nutools/Sscreen $(qvals "${args[@]}") || exit 123"
|
||||
if [ $? -eq 123 ]; then
|
||||
# pas de start-screen en face, le faire à la main
|
||||
# pas de Sscreen en face, le faire à la main
|
||||
${exec:+exec} \
|
||||
"$ssh" "${options[@]}" -t "$host" -- \
|
||||
/bin/bash -c "$cmd"
|
||||
|
|
63
dk
63
dk
|
@ -18,7 +18,7 @@ Certaines commandes ci-dessous ont le même nom que des commandes docker, et
|
|||
nécessitent un projet docker ou docker-compose. Si ces commandes sont lancées
|
||||
alors qu'on n'est pas dans un projet docker, alors elles sont passées telle
|
||||
quelles à docker. ATTENTION: comme la commande est exécutée par docker, cela
|
||||
veut dire qu'elle n'aura pas la même sématique.
|
||||
veut dire qu'elle n'aura pas la même sémantique.
|
||||
|
||||
COMMANDES
|
||||
get-profile
|
||||
|
@ -273,7 +273,7 @@ OPTIONS générales
|
|||
Spécifier l'hôte pour la commande systemd-unit
|
||||
|
||||
OPTIONS build
|
||||
(ces options ne sont valides que pour les commandes build, brd, bs, bd, bpd)
|
||||
(ces options ne sont valides que pour les commandes build, brd, bs, by, bpy)
|
||||
--stack
|
||||
Indiquer que le build est fait pour un déploiement avec deploy.
|
||||
S'il existe un fichier docker-stack.yml, il est utilisé de préférence à
|
||||
|
@ -281,9 +281,11 @@ OPTIONS build
|
|||
forme docker-stack.PROFILE.yml sont utilisés de préférence aux fichiers
|
||||
docker-compose.PROFILE.yml
|
||||
Cette option n'est nécessaire qu'avec build puisque les commandes
|
||||
deploy, bd, bpd et update impliquent --stack
|
||||
deploy, by, bpy et update impliquent --stack
|
||||
-j, --no-cache
|
||||
Ne pas utiliser le cache lors du build
|
||||
-U, --pull
|
||||
Essayer de récupérer une version plus récente de l'image source
|
||||
-g, --ug, --no-update-apps
|
||||
ne pas mettre à jour les dépôts dépendants. ces dépôts sont définis dans
|
||||
le fichier update-apps.conf qui a le format suivant:
|
||||
|
@ -342,6 +344,8 @@ VARIABLES de update-apps.conf
|
|||
vaut 'origin' par défaut
|
||||
BRANCH
|
||||
vaut 'develop' par défaut
|
||||
Pour toutes les variables de type BRANCH, utiliser la syntaxe ^COMMIT
|
||||
pour ignorer ORIGIN et sélectionner un commit en particulier
|
||||
TYPE
|
||||
vaut 'composer' par défaut si le fichier composer.json existe à la
|
||||
racine du projet. sinon vaut 'none' par défaut
|
||||
|
@ -447,10 +451,6 @@ function docker_set_env_args() {
|
|||
[ -n "$PROFILE" -a -f ".build.$PROFILE.env" ] && source "./.build.$PROFILE.env"
|
||||
[ -n "$PROFILE" -a -f "build.$PROFILE.env" ] && source "./build.$PROFILE.env"
|
||||
}
|
||||
function docker_set_run_args() {
|
||||
replace_run_args+=(--env-file "$1")
|
||||
source "$1"
|
||||
}
|
||||
function docker_check_name() {
|
||||
[ -n "$NAME" ] || die "Vous devez définir NAME dans .build.env"
|
||||
|
||||
|
@ -765,7 +765,9 @@ function build_update_apps() {
|
|||
fi
|
||||
|
||||
DEVEL_SRCDIR="${var}_DEVEL_SRCDIR"; DEVEL_SRCDIR="${!DEVEL_SRCDIR}"
|
||||
[ -n "$DEVEL_SRCDIR" ] || DEVEL_SRCDIR="$DEFAULT_DEVEL_SRCDIR/${URL##*/}"
|
||||
if [ -z "$DEVEL_SRCDIR" -a -n "$URL" ]; then
|
||||
DEVEL_SRCDIR="$DEFAULT_DEVEL_SRCDIR/${URL##*/}"
|
||||
fi
|
||||
|
||||
DEST="${var}_DEST"; DEST="${!DEST}"
|
||||
[ -n "$DEST" ] || DEST="$app/b"
|
||||
|
@ -792,7 +794,7 @@ function build_update_apps() {
|
|||
# calculer le type maintenant, on en a besoin pour le mode devel
|
||||
TYPE="${var}_TYPE"; TYPE="${!TYPE}"
|
||||
|
||||
if [ -n "$BUILD_UPDATE_DEVEL" ]; then
|
||||
if [ -n "$BUILD_UPDATE_DEVEL" -a -n "$DEVEL_SRCDIR" ]; then
|
||||
mkdir -p "$DEST" || { eend; return 1; }
|
||||
DEST="$DEST/$NAME"
|
||||
|
||||
|
@ -831,14 +833,26 @@ function build_update_apps() {
|
|||
setx cwd=pwd
|
||||
cd "$DEST"
|
||||
git fetch --all -p -f || { eend; return 1; }
|
||||
git reset --hard "$ORIGIN/$BRANCH" || { eend; return 1; }
|
||||
if [ "${BRANCH#^}" != "$BRANCH" ]; then
|
||||
git reset --hard "${BRANCH#^}" || { cd "$cwd"; eend; return 1; }
|
||||
else
|
||||
git reset --hard "$ORIGIN/$BRANCH" || { cd "$cwd"; eend; return 1; }
|
||||
fi
|
||||
cd "$cwd"
|
||||
else
|
||||
# reliquat mode devel?
|
||||
[ -d "$DEST" ] && rm -rf "$DEST"
|
||||
# clonage initial
|
||||
estep "Clonage $URL:$BRANCH --> $DEST"
|
||||
git clone -o "$ORIGIN" -b "$BRANCH" "$URL" "$DEST" || { eend; return 1; }
|
||||
if [ "${BRANCH#^}" != "$BRANCH" ]; then
|
||||
git clone -o "$ORIGIN" "$URL" "$DEST" || { eend; return 1; }
|
||||
setx cwd=pwd
|
||||
cd "$DEST"
|
||||
git reset --hard "${BRANCH#^}" || { cd "$cwd"; eend; return 1; }
|
||||
cd "$cwd"
|
||||
else
|
||||
git clone -o "$ORIGIN" -b "$BRANCH" "$URL" "$DEST" || { eend; return 1; }
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$TYPE" ]; then
|
||||
|
@ -965,6 +979,27 @@ function build_update_apps() {
|
|||
eend
|
||||
}
|
||||
|
||||
function build_merge_env() {
|
||||
# si les fichiers .env-all et/ou .env-machine-$MACHINE existent, où $MACHINE
|
||||
# est la machine actuellement sélectionnée, alors les merger pour créer le
|
||||
# fichier .env
|
||||
# Si DOCKER_MACHINE n'est pas défini, prendre par défaut HOSTNAME
|
||||
local machine="${DOCKER_MACHINE_NAME:-$HOSTNAME}"
|
||||
local shared=.shared_env for_machine=".${machine}_env"
|
||||
[ -f "$shared" -o -f "$for_machine" ] || return 0
|
||||
|
||||
echo >.env "## fichier auto-généré. ne pas modifier ##"
|
||||
|
||||
if [ -f "$shared" ]; then
|
||||
echo "## $shared ##" >>.env
|
||||
cat "$shared" >>.env
|
||||
fi
|
||||
if [ -f "$for_machine" ]; then
|
||||
echo "## $for_machine ##" >>.env
|
||||
cat "$for_machine" >>.env
|
||||
fi
|
||||
}
|
||||
|
||||
function initialize_build_env() {
|
||||
CTXDIR=.
|
||||
NAME=
|
||||
|
@ -993,6 +1028,7 @@ function default_compose_build() {
|
|||
"${replace_env_args[@]}" "${env_args[@]}" \
|
||||
build \
|
||||
${NO_CACHE:+--no-cache} \
|
||||
${PULL:+--pull} \
|
||||
"${replace_build_args[@]}" "${build_args[@]}" \
|
||||
"$@"
|
||||
}
|
||||
|
@ -1003,6 +1039,7 @@ function default_docker_build() {
|
|||
done
|
||||
${FAKE:+qvals} "$DOCKER" build \
|
||||
${NO_CACHE:+--no-cache} \
|
||||
${PULL:+--pull} \
|
||||
"${replace_env_args[@]}" "${env_args[@]}" \
|
||||
"${replace_build_args[@]}" "${build_args[@]}" \
|
||||
"$@" "$CTXDIR"
|
||||
|
@ -1036,6 +1073,7 @@ function auto_build() {
|
|||
compose_set_env_args
|
||||
update_build_env "${bargs[@]}"
|
||||
build_update_apps || return 1
|
||||
build_merge_env
|
||||
compose_build "$@"
|
||||
elif [ -f Dockerfile ]; then
|
||||
docker_parse_env_args
|
||||
|
@ -1050,6 +1088,7 @@ function auto_build() {
|
|||
done
|
||||
${FAKE:+qvals} "$DOCKER" build \
|
||||
${NO_CACHE:+--no-cache} \
|
||||
${PULL:+--pull} \
|
||||
"${replace_build_args[@]}" "$@"
|
||||
fi
|
||||
}
|
||||
|
@ -1939,6 +1978,7 @@ FAKE=
|
|||
VARS=()
|
||||
FORCE=
|
||||
NO_CACHE=
|
||||
PULL=
|
||||
HOST=
|
||||
WITH_REGISTRY_AUTH=1
|
||||
update_apps_mode=ub
|
||||
|
@ -1960,6 +2000,7 @@ args=(
|
|||
-e:,--build-arg:,--env: VARS
|
||||
-f,--force FORCE=1
|
||||
-j,--no-cache NO_CACHE=1
|
||||
-U,--pull PULL=1
|
||||
-h:,--host: HOST=
|
||||
-g,--ug,--no-update-apps update_apps_mode=b
|
||||
-u,--uu,--update-apps-only update_apps_mode=u
|
||||
|
|
|
@ -7,35 +7,40 @@ if [ -n "$UTOOLS_DOCKER_ALIASES" ]; then
|
|||
# alias dm=docker-machine
|
||||
#fi
|
||||
function dm() {
|
||||
if [ "$1" == use -a -n "$2" -a -f ~/etc/default/dk ]; then
|
||||
# chercher les aliases éventuels
|
||||
local machine="$2"; shift; shift
|
||||
machine="$(
|
||||
CLUSTERDIRS=()
|
||||
DM_ALIASES=()
|
||||
source ~/etc/default/dk
|
||||
for alias_machine in "${DM_ALIASES[@]}"; do
|
||||
if [ "${alias_machine%%:*}" == "$machine" ]; then
|
||||
echo "${alias_machine#*:}"
|
||||
exit
|
||||
fi
|
||||
done
|
||||
for clusterdir in "${CLUSTERDIRS[@]}"; do
|
||||
if [ -f "$clusterdir/0config/configure.conf" ]; then
|
||||
DM_ALIASES=()
|
||||
source "$clusterdir/0config/configure.conf"
|
||||
for alias_machine in "${DM_ALIASES[@]}"; do
|
||||
if [ "${alias_machine%%:*}" == "$machine" ]; then
|
||||
echo "${alias_machine#*:}"
|
||||
exit
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
echo "$machine"
|
||||
)"
|
||||
set -- use "$machine" "$@"
|
||||
case "$1" in
|
||||
use|ssh)
|
||||
if [ -n "$2" -a -f ~/etc/default/dk ]; then
|
||||
# chercher les aliases éventuels
|
||||
local cmd="$1"; shift
|
||||
local machine="$1"; shift
|
||||
machine="$(
|
||||
CLUSTERDIRS=()
|
||||
DM_ALIASES=()
|
||||
source ~/etc/default/dk
|
||||
for alias_machine in "${DM_ALIASES[@]}"; do
|
||||
if [ "${alias_machine%%:*}" == "$machine" ]; then
|
||||
echo "${alias_machine#*:}"
|
||||
exit
|
||||
fi
|
||||
done
|
||||
for clusterdir in "${CLUSTERDIRS[@]}"; do
|
||||
if [ -f "$clusterdir/0config/configure.conf" ]; then
|
||||
DM_ALIASES=()
|
||||
source "$clusterdir/0config/configure.conf"
|
||||
for alias_machine in "${DM_ALIASES[@]}"; do
|
||||
if [ "${alias_machine%%:*}" == "$machine" ]; then
|
||||
echo "${alias_machine#*:}"
|
||||
exit
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
echo "$machine"
|
||||
)"
|
||||
set -- "$cmd" "$machine" "$@"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if [ "$DOCKER_MACHINE_WRAPPED" == true ]; then
|
||||
__docker_machine_wrapper "$@"
|
||||
else
|
||||
|
|
|
@ -86,7 +86,13 @@ function generate_sql() {
|
|||
|
||||
check_overwrite "$1" || return
|
||||
estep "$(ppath "$file")"
|
||||
echo >"$file" "-- -*- coding: $encoding ${mode:+mode: $mode }-*- vim:sw=4:sts=4:et:ai:si:sta:fenc=$encoding"
|
||||
echo >"$file" "\
|
||||
-- -*- coding: $encoding ${mode:+mode: $mode }-*- vim:sw=4:sts=4:et:ai:si:sta:fenc=$encoding
|
||||
-- @database xxx
|
||||
|
||||
start transaction;
|
||||
|
||||
commit;"
|
||||
[ -n "$2" ] && array_add "$2" "$file"
|
||||
return 0
|
||||
}
|
||||
|
|
177
lib/ulib/java
177
lib/ulib/java
|
@ -8,24 +8,27 @@ urequire base sysinfos
|
|||
|
||||
################################################################################
|
||||
# versions installées sur le système
|
||||
JAVA_VMS13=(); JAVA_HOMES13=()
|
||||
JAVA_VMS14=(); JAVA_HOMES14=()
|
||||
JAVA_VMS1_3=(); JAVA_HOMES1_3=()
|
||||
JAVA_VMS1_4=(); JAVA_HOMES1_4=()
|
||||
JAVA_VMS5=(); JAVA_HOMES5=()
|
||||
JAVA_VMS6=(); JAVA_HOMES6=()
|
||||
JAVA_VMS7=(); JAVA_HOMES7=()
|
||||
JAVA_VMS8=(); JAVA_HOMES8=()
|
||||
JAVA_VMS11=(); JAVA_HOMES11=()
|
||||
# versions locales 32 bits
|
||||
JAVA32_VMS13=(); JAVA32_HOMES13=()
|
||||
JAVA32_VMS14=(); JAVA32_HOMES14=()
|
||||
JAVA32_VMS1_3=(); JAVA32_HOMES1_3=()
|
||||
JAVA32_VMS1_4=(); JAVA32_HOMES1_4=()
|
||||
JAVA32_VMS5=(); JAVA32_HOMES5=()
|
||||
JAVA32_VMS6=(); JAVA32_HOMES6=()
|
||||
JAVA32_VMS7=(); JAVA32_HOMES7=()
|
||||
JAVA32_VMS8=(); JAVA32_HOMES8=()
|
||||
JAVA32_VMS11=(); JAVA32_HOMES11=()
|
||||
# versions locales 64 bits
|
||||
JAVA64_VMS5=(); JAVA64_HOMES5=()
|
||||
JAVA64_VMS6=(); JAVA64_HOMES6=()
|
||||
JAVA64_VMS7=(); JAVA64_HOMES7=()
|
||||
JAVA64_VMS8=(); JAVA64_HOMES8=()
|
||||
JAVA64_VMS11=(); JAVA64_HOMES11=()
|
||||
# version sélectionnée
|
||||
SELECTED_JAVA_VM=; SELECTED_JAVA_HOME=
|
||||
SELECTED_JAVA=; SELECTED_JAVAC=
|
||||
|
@ -37,7 +40,7 @@ function __java_add() {
|
|||
|
||||
function __java_compute_vms() {
|
||||
# calculer la liste de VMs disponibles et initialiser les tableaux
|
||||
# JAVA{,32,64}_{VMS,HOMES}{13,14,5,6,7,8}
|
||||
# JAVA{,32,64}_{VMS,HOMES}{1_3,1_4,5,6,7,8}
|
||||
[ -z "$__COMPUTED_JAVA_VMS" ] || return
|
||||
|
||||
local vms vm v
|
||||
|
@ -48,8 +51,8 @@ function __java_compute_vms() {
|
|||
for vm in "${vms[@]}"; do
|
||||
v="${vm#sun-jdk-}"
|
||||
if [ "$v" == 1.4 ]; then
|
||||
__java_add VMS14 "$vm" 32
|
||||
__java_add HOMES14 "$HOME/opt/jvm32/$vm" 32
|
||||
__java_add VMS1_4 "$vm" 32
|
||||
__java_add HOMES1_4 "$HOME/opt/jvm32/$vm" 32
|
||||
elif [ "$v" == 1.5 ]; then
|
||||
__java_add VMS5 "$vm" 32
|
||||
__java_add HOMES5 "$HOME/opt/jvm32/$vm" 32
|
||||
|
@ -66,8 +69,8 @@ function __java_compute_vms() {
|
|||
done
|
||||
array_from_lines vms "$(list_dirs "$HOME/opt/jvm32" "j2sdk1.4.2*" | LANG=C sort -r)"
|
||||
for vm in "${vms[@]}"; do
|
||||
__java_add VMS14 "$vm" 32
|
||||
__java_add HOMES14 "$HOME/opt/jvm32/$vm" 32
|
||||
__java_add VMS1_4 "$vm" 32
|
||||
__java_add HOMES1_4 "$HOME/opt/jvm32/$vm" 32
|
||||
done
|
||||
array_from_lines vms "$(list_dirs "$HOME/opt/jvm32" "jdk1.5.*" | LANG=C sort -r)"
|
||||
for vm in "${vms[@]}"; do
|
||||
|
@ -106,6 +109,14 @@ function __java_compute_vms() {
|
|||
__java_add HOMES8 "$HOME/opt/jvm64/$vm" 64
|
||||
fi
|
||||
done
|
||||
array_from_lines vms "$(list_dirs "$HOME/opt/jvm64" jdk11)"
|
||||
for vm in "${vms[@]}"; do
|
||||
v="${vm#jdk}"
|
||||
if [ "$v" == 11 ]; then
|
||||
__java_add VMS11 "$vm" 64
|
||||
__java_add HOMES11 "$HOME/opt/jvm64/$vm" 64
|
||||
fi
|
||||
done
|
||||
array_from_lines vms "$(list_dirs "$HOME/opt/jvm64" "jdk1.5.*" | LANG=C sort -r)"
|
||||
for vm in "${vms[@]}"; do
|
||||
__java_add VMS5 "$vm" 64
|
||||
|
@ -126,13 +137,18 @@ function __java_compute_vms() {
|
|||
__java_add VMS8 "$vm" 64
|
||||
__java_add HOMES8 "$HOME/opt/jvm64/$vm" 64
|
||||
done
|
||||
array_from_lines vms "$(list_dirs "$HOME/opt/jvm64" "jdk-11.*" | LANG=C sort -r)"
|
||||
for vm in "${vms[@]}"; do
|
||||
__java_add VMS11 "$vm" 64
|
||||
__java_add HOMES11 "$HOME/opt/jvm64/$vm" 64
|
||||
done
|
||||
# Puis chercher dans les JVMs installées manuellement dans ~/opt
|
||||
array_from_lines vms "$(list_dirs "$HOME/opt" "sun-jdk-*")"
|
||||
for vm in "${vms[@]}"; do
|
||||
v="${vm#sun-jdk-}"
|
||||
if [ "$v" == 1.4 ]; then
|
||||
__java_add VMS14 "$vm"
|
||||
__java_add HOMES14 "$HOME/opt/$vm"
|
||||
__java_add VMS1_4 "$vm"
|
||||
__java_add HOMES1_4 "$HOME/opt/$vm"
|
||||
elif [ "$v" == 1.5 ]; then
|
||||
__java_add VMS5 "$vm"
|
||||
__java_add HOMES5 "$HOME/opt/$vm"
|
||||
|
@ -147,10 +163,18 @@ function __java_compute_vms() {
|
|||
__java_add HOMES8 "$HOME/opt/$vm"
|
||||
fi
|
||||
done
|
||||
array_from_lines vms "$(list_dirs "$HOME/opt" jdk11)"
|
||||
for vm in "${vms[@]}"; do
|
||||
v="${vm#jdk}"
|
||||
if [ "$v" == 11 ]; then
|
||||
__java_add VMS11 "$vm"
|
||||
__java_add HOMES11 "$HOME/opt/$vm"
|
||||
fi
|
||||
done
|
||||
array_from_lines vms "$(list_dirs "$HOME/opt" "j2sdk1.4.2*" | LANG=C sort -r)"
|
||||
for vm in "${vms[@]}"; do
|
||||
__java_add VMS14 "$vm"
|
||||
__java_add HOMES14 "$HOME/opt/$vm"
|
||||
__java_add VMS1_4 "$vm"
|
||||
__java_add HOMES1_4 "$HOME/opt/$vm"
|
||||
done
|
||||
array_from_lines vms "$(list_dirs "$HOME/opt" "jdk1.5.*" | LANG=C sort -r)"
|
||||
for vm in "${vms[@]}"; do
|
||||
|
@ -172,13 +196,18 @@ function __java_compute_vms() {
|
|||
__java_add VMS8 "$vm"
|
||||
__java_add HOMES8 "$HOME/opt/$vm"
|
||||
done
|
||||
array_from_lines vms "$(list_dirs "$HOME/opt" "jdk-11.*" | LANG=C sort -r)"
|
||||
for vm in "${vms[@]}"; do
|
||||
__java_add VMS11 "$vm"
|
||||
__java_add HOMES11 "$HOME/opt/$vm"
|
||||
done
|
||||
# Puis chercher dans les JVMs installées manuellement dans /opt
|
||||
array_from_lines vms "$(list_dirs "/opt" "sun-jdk-*")"
|
||||
for vm in "${vms[@]}"; do
|
||||
v="${vm#sun-jdk-}"
|
||||
if [ "$v" == 1.4 ]; then
|
||||
__java_add VMS14 "$vm"
|
||||
__java_add HOMES14 "/opt/$vm"
|
||||
__java_add VMS1_4 "$vm"
|
||||
__java_add HOMES1_4 "/opt/$vm"
|
||||
elif [ "$v" == 1.5 ]; then
|
||||
__java_add VMS5 "$vm"
|
||||
__java_add HOMES5 "/opt/$vm"
|
||||
|
@ -193,10 +222,18 @@ function __java_compute_vms() {
|
|||
__java_add HOMES8 "/opt/$vm"
|
||||
fi
|
||||
done
|
||||
array_from_lines vms "$(list_dirs "/opt" jdk11)"
|
||||
for vm in "${vms[@]}"; do
|
||||
v="${vm#jdk}"
|
||||
if [ "$v" == 11 ]; then
|
||||
__java_add VMS11 "$vm"
|
||||
__java_add HOMES11 "/opt/$vm"
|
||||
fi
|
||||
done
|
||||
array_from_lines vms "$(list_dirs "/opt" "j2sdk1.4.2*" | LANG=C sort -r)"
|
||||
for vm in "${vms[@]}"; do
|
||||
__java_add VMS14 "$vm"
|
||||
__java_add HOMES14 "/opt/$vm"
|
||||
__java_add VMS1_4 "$vm"
|
||||
__java_add HOMES1_4 "/opt/$vm"
|
||||
done
|
||||
array_from_lines vms "$(list_dirs "/opt" "jdk1.5.*" | LANG=C sort -r)"
|
||||
for vm in "${vms[@]}"; do
|
||||
|
@ -218,6 +255,11 @@ function __java_compute_vms() {
|
|||
__java_add VMS8 "$vm"
|
||||
__java_add HOMES8 "/opt/$vm"
|
||||
done
|
||||
array_from_lines vms "$(list_dirs "/opt" "jdk-11.*" | LANG=C sort -r)"
|
||||
for vm in "${vms[@]}"; do
|
||||
__java_add VMS11 "$vm"
|
||||
__java_add HOMES11 "/opt/$vm"
|
||||
done
|
||||
# Puis chercher dans les JVMs installées par le système dans
|
||||
# /usr/lib/jvm
|
||||
if check_sysinfos -d gentoo; then
|
||||
|
@ -226,8 +268,8 @@ function __java_compute_vms() {
|
|||
for vm in "${vms[@]}"; do
|
||||
v="${vm#sun-jdk-}"
|
||||
if [ "$v" == 1.4 ]; then
|
||||
__java_add VMS14 "$vm"
|
||||
__java_add HOMES14 "/usr/lib/jvm/$vm"
|
||||
__java_add VMS1_4 "$vm"
|
||||
__java_add HOMES1_4 "/usr/lib/jvm/$vm"
|
||||
elif [ "$v" == 1.5 ]; then
|
||||
__java_add VMS5 "$vm"
|
||||
__java_add HOMES5 "/usr/lib/jvm/$vm"
|
||||
|
@ -246,12 +288,15 @@ function __java_compute_vms() {
|
|||
# sur debian
|
||||
array_from_lines vms "$(list_dirs /usr/lib/jvm)"
|
||||
for vm in "${vms[@]}"; do
|
||||
v="${vm%-sun}"
|
||||
v="$vm"
|
||||
v="${v%-sun}"
|
||||
v="${v%-amd64}"
|
||||
v="${v%-openjdk}"
|
||||
v="${v#java-}"
|
||||
v="${v#j2sdk}"
|
||||
if [ "$v" == 1.4 ]; then
|
||||
__java_add VMS14 "$vm"
|
||||
__java_add HOMES14 "/usr/lib/jvm/$vm"
|
||||
__java_add VMS1_4 "$vm"
|
||||
__java_add HOMES1_4 "/usr/lib/jvm/$vm"
|
||||
elif [ "$v" == 1.5 -o "$v" == 1.5.0 ]; then
|
||||
__java_add VMS5 "$vm"
|
||||
__java_add HOMES5 "/usr/lib/jvm/$vm"
|
||||
|
@ -264,11 +309,14 @@ function __java_compute_vms() {
|
|||
elif [ "$v" == 8 -o "$v" == 1.8 ]; then
|
||||
__java_add VMS8 "$vm"
|
||||
__java_add HOMES8 "/usr/lib/jvm/$vm"
|
||||
elif [ "$v" == 11 ]; then
|
||||
__java_add VMS11 "$vm"
|
||||
__java_add HOMES11 "/usr/lib/jvm/$vm"
|
||||
fi
|
||||
done
|
||||
if [ -d /usr/lib/j2sdk1.4-sun ]; then
|
||||
__java_add VMS14 j2sdk1.4-sun
|
||||
__java_add HOMES14 /usr/lib/j2sdk1.4-sun
|
||||
__java_add VMS1_4 j2sdk1.4-sun
|
||||
__java_add HOMES1_4 /usr/lib/j2sdk1.4-sun
|
||||
fi
|
||||
elif check_sysinfos -d redhatlike; then
|
||||
# XXX sur redhat
|
||||
|
@ -276,12 +324,12 @@ function __java_compute_vms() {
|
|||
fi
|
||||
elif check_sysinfos -s macosx; then
|
||||
if [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/1.3" ]; then
|
||||
__java_add VMS13 "1.3"
|
||||
__java_add HOMES13 "/System/Library/Frameworks/JavaVM.framework/Versions/1.3/Home"
|
||||
__java_add VMS1_3 "1.3"
|
||||
__java_add HOMES1_3 "/System/Library/Frameworks/JavaVM.framework/Versions/1.3/Home"
|
||||
fi
|
||||
if [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/1.4" ]; then
|
||||
__java_add VMS14 "1.4"
|
||||
__java_add HOMES14 "/System/Library/Frameworks/JavaVM.framework/Versions/1.4/Home"
|
||||
__java_add VMS1_4 "1.4"
|
||||
__java_add HOMES1_4 "/System/Library/Frameworks/JavaVM.framework/Versions/1.4/Home"
|
||||
fi
|
||||
if [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/1.5" ]; then
|
||||
__java_add VMS5 "1.5"
|
||||
|
@ -305,7 +353,7 @@ function __java_compute_vms() {
|
|||
|
||||
function __java_dump_vms() {
|
||||
local v b i vms homes
|
||||
for v in 13 14 5 6 7 8; do
|
||||
for v in 1_3 1_4 5 6 7 8 11; do
|
||||
for b in "" 32 64; do
|
||||
vms="JAVA${b}_VMS${v}[@]"; vms=("${!vms}")
|
||||
homes="JAVA${b}_HOMES${v}[@]"; homes=("${!homes}")
|
||||
|
@ -336,7 +384,7 @@ function __java_select_vms() {
|
|||
}
|
||||
|
||||
function __java_select() {
|
||||
# Sélectionner la version de java $1 (qui peut être 13, 14, 5, 6, 7 ou 8)
|
||||
# Sélectionner la version de java $1 (qui peut être 1_3, 1_4, 5, 6, 7, 8 ou 11)
|
||||
# Si $2 est défini, il peut s'agit de 32 ou 64 selon que l'on requière la
|
||||
# version 32bits ou 64 bits. Sinon, la version sélectionnée peut être 32bits
|
||||
# ou 64bits selon ce qui est disponible.
|
||||
|
@ -380,8 +428,8 @@ function __java_select() {
|
|||
|
||||
function __java_select_default() {
|
||||
# Sélectionner la version de java par défaut. Si JAVA_HOME est défini,
|
||||
# prendre cette valeur. Sinon, essayer dans l'ordre 5, 6, 7, 8, puis 14
|
||||
# la version 13 n'est jamais sélectionnée automatiquement
|
||||
# prendre cette valeur. Sinon, essayer dans l'ordre 5, 6, 7, 8, 11 puis 1_4
|
||||
# la version 1_3 n'est jamais sélectionnée automatiquement
|
||||
if [ -n "$JAVA_HOME" ]; then
|
||||
export JAVA_HOME # s'assurer que cette variable est exportée
|
||||
export JAVA="$JAVA_HOME/bin/java"
|
||||
|
@ -392,7 +440,7 @@ function __java_select_default() {
|
|||
return 0
|
||||
fi
|
||||
local vm
|
||||
for vm in 5 6 7 8 14; do
|
||||
for vm in 5 6 7 8 11 1_4; do
|
||||
__java_select "$vm" && return 0
|
||||
done
|
||||
return 1
|
||||
|
@ -400,39 +448,44 @@ function __java_select_default() {
|
|||
|
||||
function select_java() {
|
||||
# sélectionner la version *minimum* de java correspondant à $1
|
||||
# $1== 1.3|1.3+|1.4|1.4+|1.5|1.5+|1.6|1.6+|1.7|1.7+|1.8|1.8+
|
||||
# $1 == 1.3|1.3+|1.4|1.4+|1.5|1.5+|1.6|1.6+|1.7|1.7+|1.8|1.8+|11|11+
|
||||
# Si $2 est défini, il peut s'agit de 32 ou 64 selon que l'on requière la
|
||||
# version 32bits ou 64 bits
|
||||
local v vms homes
|
||||
|
||||
case "$1" in
|
||||
1.3|1.3+|13|13+)
|
||||
for v in 13 14 5 6 7 8; do
|
||||
1.3|1.3+)
|
||||
for v in 1_3 1_4 5 6 7 8 11; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
1.4|1.4+|14|14+)
|
||||
for v in 14 5 6 7 8; do
|
||||
1.4|1.4+)
|
||||
for v in 1_4 5 6 7 8 11; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
1.5|1.5+|5|5+)
|
||||
for v in 5 6 7 8; do
|
||||
for v in 5 6 7 8 11; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
1.6|1.6+|6|6+)
|
||||
for v in 6 7 8; do
|
||||
for v in 6 7 8 11; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
1.7|1.7+|7|7+)
|
||||
for v in 7 8; do
|
||||
for v in 7 8 11; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
1.8|1.8+|8|8+)
|
||||
for v in 8; do
|
||||
for v in 8 11; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
11|11+)
|
||||
for v in 11; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
|
@ -442,26 +495,26 @@ function select_java() {
|
|||
|
||||
function select_java_exact() {
|
||||
# sélectionner la version *exacte* de java correspondant à $1
|
||||
# $1== 1.3|1.4|1.5|1.6|1.7|1.8 pour une correspondance exacte
|
||||
# $1== 1.3+|1.4+|1.5+|1.6+|1.7+|1.8+ pour une version minimum
|
||||
# $1 == 1.3|1.4|1.5|1.6|1.7|1.8|11 pour une correspondance exacte
|
||||
# $1 == 1.3+|1.4+|1.5+|1.6+|1.7+|1.8+|11+ pour une version minimum
|
||||
# Si $2 est défini, il peut s'agit de 32 ou 64 selon que l'on requière la
|
||||
# version 32bits ou 64 bits
|
||||
local v vms homes
|
||||
|
||||
case "$1" in
|
||||
1.3|13)
|
||||
__java_select 13 && return 0
|
||||
1.3)
|
||||
__java_select 1_3 && return 0
|
||||
;;
|
||||
1.3+|13+)
|
||||
for v in 13 14 5 6 7 8; do
|
||||
1.3+)
|
||||
for v in 1_3 1_4 5 6 7 8 11; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
1.4|14)
|
||||
__java_select 14 && return 0
|
||||
1.4)
|
||||
__java_select 1_4 && return 0
|
||||
;;
|
||||
1.4+|14+)
|
||||
for v in 14 5 6 7 8; do
|
||||
1.4+)
|
||||
for v in 1_4 5 6 7 8 11; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
|
@ -469,7 +522,7 @@ function select_java_exact() {
|
|||
__java_select 5 "$2" && return 0
|
||||
;;
|
||||
1.5+|5+)
|
||||
for v in 5 6 7 8; do
|
||||
for v in 5 6 7 8 11; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
|
@ -477,7 +530,7 @@ function select_java_exact() {
|
|||
__java_select 6 "$2" && return 0
|
||||
;;
|
||||
1.6+|6+)
|
||||
for v in 6 7 8; do
|
||||
for v in 6 7 8 11; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
|
@ -485,7 +538,7 @@ function select_java_exact() {
|
|||
__java_select 7 "$2" && return 0
|
||||
;;
|
||||
1.7+|7+)
|
||||
for v in 7 8; do
|
||||
for v in 7 8 11; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
|
@ -493,7 +546,15 @@ function select_java_exact() {
|
|||
__java_select 8 "$2" && return 0
|
||||
;;
|
||||
1.8+|8+)
|
||||
for v in 8; do
|
||||
for v in 8 11; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
11)
|
||||
__java_select 11 "$2" && return 0
|
||||
;;
|
||||
11+)
|
||||
for v in 11; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
|
@ -505,9 +566,9 @@ function select_java_any() {
|
|||
# Sélectionner la version exacte de java correspondant aux arguments, dans
|
||||
# l'ordre, jusqu'à ce qu'un argument corresponde. DEFAULT correspond à la
|
||||
# valeur actuelle de JAVA_HOME, si elle est définie.
|
||||
# Si aucun argument n'est défini, on assume "DEFAULT 5 6 7 8 1.4"
|
||||
# Si aucun argument n'est défini, on assume "DEFAULT 5 6 7 8 11 1.4"
|
||||
local v
|
||||
[ -n "$*" ] || set -- DEFAULT 5 6 7 8 1.4
|
||||
[ -n "$*" ] || set -- DEFAULT 5 6 7 8 11 1.4
|
||||
for v in "$@"; do
|
||||
if [ "$v" == DEFAULT ]; then
|
||||
if [ -n "$JAVA_HOME" ]; then
|
||||
|
|
|
@ -28,8 +28,8 @@ debianlike_SYSVERS=()
|
|||
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)
|
||||
rhel_SYSVERS=(rhel7 rhel6 rhel5 rhel4 redhat7 redhat6 redhat5 redhat4)
|
||||
ol_SYSVERS=(ol8 ol7 ol6 redhat8 redhat7 redhat6)
|
||||
rhel_SYSVERS=(rhel8 rhel7 rhel6 rhel5 rhel4 redhat8 redhat7 redhat6 redhat5 redhat4)
|
||||
fedora_SYSVERS=(fedora14 fedora13 fedora12 fedora11)
|
||||
centos_SYSVERS=(centos7 centos6 centos5 centos4 redhat7 redhat6 redhat5 redhat4)
|
||||
suse_SYSVERS=()
|
||||
|
@ -157,6 +157,7 @@ function __compute_sysinfos() {
|
|||
elif [ -n "$oracle_release" ]; then
|
||||
MYSYSDIST=(ol rhel redhatlike)
|
||||
case "$oracle_release" in
|
||||
Oracle*Linux*release\ 8*) MYSYSVER=(ol8 rhel8 redhat8);;
|
||||
Oracle*Linux*release\ 7*) MYSYSVER=(ol7 rhel7 redhat7);;
|
||||
Oracle*Linux*release\ 6*) MYSYSVER=(ol6 rhel6 redhat6);;
|
||||
esac
|
||||
|
@ -172,10 +173,12 @@ function __compute_sysinfos() {
|
|||
Fedora*13*) MYSYSVER=(fedora13);;
|
||||
Fedora*12*) MYSYSVER=(fedora12);;
|
||||
Fedora*11*) MYSYSVER=(fedora11);;
|
||||
Red*Hat*Enterprise*Linux*release\ 8*) MYSYSVER=(rhel8 redhat8);;
|
||||
Red*Hat*Enterprise*Linux*release\ 7*) MYSYSVER=(rhel7 redhat7);;
|
||||
Red*Hat*Enterprise*Linux*release\ 6*) MYSYSVER=(rhel6 redhat6);;
|
||||
Red*Hat*Enterprise*Linux*release\ 5*) MYSYSVER=(rhel5 redhat5);;
|
||||
Red*Hat*Enterprise*Linux*release\ 4*) MYSYSVER=(rhel4 redhat4);;
|
||||
CentOS*release\ 8*) MYSYSVER=(centos8 redhat8);;
|
||||
CentOS*release\ 7*) MYSYSVER=(centos7 redhat7);;
|
||||
CentOS*release\ 6*) MYSYSVER=(centos6 redhat6);;
|
||||
CentOS*release\ 5*) MYSYSVER=(centos5 redhat5);;
|
||||
|
|
27
pff
27
pff
|
@ -30,6 +30,7 @@ PFFCONFVARS=(
|
|||
"MKDIRS//Répertoires qui doivent toujours exister"
|
||||
"FILTERS//Filtres appliqués aux fichiers lors de l'intégration, de la forme 'filespec:filter'. Cf la doc pour le détail du format"
|
||||
"NOMERGES=//Fichiers qu'il ne faut pas chercher à fusionner. Cf la doc pour le détail du format"
|
||||
"NOUPSTREAM=//Indiquer qu'il n'y a pas de fichiers upstream. pff est uniquement utilisé pour gérer des profils de fichiers"
|
||||
)
|
||||
|
||||
if [ "$#" -eq 1 -a "$1" == --nutools-makelinks ]; then
|
||||
|
@ -190,6 +191,13 @@ pff:
|
|||
que les fichiers ayant l'extension .c situés dans le répertoire du
|
||||
projet
|
||||
|
||||
NOUPSTREAM -- indiquer qu'il n'y a pas de distribution upstream ni de
|
||||
fichiers origine. pff est alors uniquement utilisé pour gérer des
|
||||
profils de fichier.
|
||||
Pour le moment, la seule différence est que le mode des fichiers de
|
||||
pff/Base n'est pas forcé à 0444. Ainsi, ces fichiers sont traités au
|
||||
même titre que ceux du répertoire pff/Common
|
||||
|
||||
COMMANDES / OPTIONS
|
||||
Les arguments du script dépendent de la commande utilisée. Les commandes
|
||||
supportées sont:
|
||||
|
@ -571,8 +579,11 @@ function autoinit() {
|
|||
local pffdir="$1" profile mkdir
|
||||
[ -d "$pffdir/pff/Current" ] || mkdir -p "$pffdir/pff/Current"
|
||||
[ -d "$pffdir/pff/Base" ] || mkdir -p "$pffdir/pff/Base"
|
||||
# tous les fichiers du profil Base doivent être en lecture seule
|
||||
find "$pffdir/pff/Base" -type f -perm /222 -exec chmod a-w '{}' +
|
||||
# tous les fichiers du profil Base doivent être en lecture seule, sauf si
|
||||
# NOUPSTREAM=1
|
||||
if [ -z "$NOUPSTREAM" ]; then
|
||||
find "$pffdir/pff/Base" -type f -perm /222 -exec chmod a-w '{}' +
|
||||
fi
|
||||
# Créer les répertoires de MKDIRS
|
||||
for mkdir in "${MKDIRS[@]}"; do
|
||||
mkdir -p "$pffdir/$mkdir"
|
||||
|
@ -1144,7 +1155,7 @@ function patch_cmd() {
|
|||
setx rfile=get_rfile "$bfile" "$pffdir"
|
||||
mkdirof "$rfile"
|
||||
cp -a "$bfile" "$rfile"
|
||||
chmod +w "$rfile"
|
||||
[ -z "$NOUPSTREAM" ] && chmod +w "$rfile"
|
||||
done
|
||||
git add -A
|
||||
[ -n "$(git status --porcelain)" ] && git commit -qm "Base"
|
||||
|
@ -1249,9 +1260,9 @@ $(qvals eimportant "Sinon, tapez ${COULEUR_ROUGE}Abort${COULEUR_NORMALE} pour ar
|
|||
etitle "Finaliser intégration de la version $version"
|
||||
for vlfile in "${vlfiles[@]}"; do
|
||||
bfile="${vlfile%__pv-${version}__}"
|
||||
chmod +w "$bfile"
|
||||
[ -z "$NOUPSTREAM" ] && chmod +w "$bfile"
|
||||
mv "$vlfile" "$bfile"
|
||||
chmod a-w "$bfile"
|
||||
[ -z "$NOUPSTREAM" ] && chmod a-w "$bfile"
|
||||
done
|
||||
eop_version=1
|
||||
VERSION="$version"
|
||||
|
@ -1308,7 +1319,9 @@ function add_global__link() {
|
|||
# Création des liens pour $rfile
|
||||
mkdirof "$bfile" || return
|
||||
mv "$pfile" "$bfile" || return
|
||||
chmod a-w "$bfile" || return
|
||||
if [ -z "$NOUPSTREAM" ]; then
|
||||
chmod a-w "$bfile" || return
|
||||
fi
|
||||
[ -L "$pfile" ] || ln -sf "$plink" "$pfile" || return
|
||||
mkdirof "$cfile" || return
|
||||
[ -L "$cfile" ] || ln -sf "$clink" "$cfile" || return
|
||||
|
@ -1412,7 +1425,7 @@ function add_local__link() {
|
|||
cp "$Cfile" "$Pfile"
|
||||
else
|
||||
cp "$bfile" "$Pfile"
|
||||
chmod +w "$Pfile"
|
||||
[ -z "$NOUPSTREAM" ] && chmod +w "$Pfile"
|
||||
fi
|
||||
# mettre à jour le profil courant
|
||||
setx cfile=get_cfile "$pfile" "$pffdir"
|
||||
|
|
Loading…
Reference in New Issue