From 90ca62984dd4708e10e8acd3e8ad4f8e1c876976 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Mon, 6 Oct 2025 11:46:07 +0400 Subject: [PATCH] maj mounts --- runphp/runphp | 43 +++++++++++++++++++------------------------ 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/runphp/runphp b/runphp/runphp index 30f3056..10486e3 100755 --- a/runphp/runphp +++ b/runphp/runphp @@ -536,41 +536,36 @@ OPTIONS done # monter le répertoire qui contient $PROJDIR - mount_composer= + Cwd="$(pwd)" + mount_homes=1 mount_standalone=1 mount_mount=1 + mount_cwd=1 if [ -z "$PROJDIR" -o "${PROJDIR#$HOME/}" != "$PROJDIR" -o "$PROJDIR" == "$HOME" ]; then # bind mount $HOME args+=(-v "$HOME:$HOME${UseRslave:+:rslave}") - if [ -n "$RUNPHP_STANDALONE" -a "${RUNPHP_STANDALONE#$HOME/}" != "$RUNPHP_STANDALONE" ]; then - mount_standalone= - fi - if [ -n "$RUNPHP_MOUNT" -a "${RUNPHP_MOUNT#$HOME/}" != "$RUNPHP_MOUNT" ]; then - mount_mount= - fi - elif [ -n "$PROJDIR" ]; then - # bind mount uniquement le répertoire du projet + [ "${HOME#/home/}" != "$HOME" ] && mount_homes= + [ -n "$RUNPHP_STANDALONE" -a "${RUNPHP_STANDALONE#$HOME/}" != "$RUNPHP_STANDALONE" ] && mount_standalone= + [ -n "$RUNPHP_MOUNT" -a "${RUNPHP_MOUNT#$HOME/}" != "$RUNPHP_MOUNT" ] && mount_mount= + [ "${Cwd#$HOME/}" != "$Cwd" ] && mount_cwd= + elif [ -n "$PROJDIR" -a "${PROJDIR#/home/}" == "$PROJDIR" ]; then + # bind mount le répertoire du projet s'il n'est pas dans /home (qui est + # monté par défaut si $HOME n'est pas monté) args+=(-v "$PROJDIR:$PROJDIR${UseRslave:+:rslave}") - mount_composer=1 - [ "$RUNPHP_STANDALONE" == "$PROJDIR" ] && mount_standalone= - [ "$RUNPHP_MOUNT" == "$PROJDIR" ] && mount_mount= + [ "$RUNPHP_STANDALONE" == "$PROJDIR" -o "${RUNPHP_STANDALONE#$PROJDIR/}" != "$PROJDIR"] && mount_standalone= + [ "$RUNPHP_MOUNT" == "$PROJDIR" -o "${RUNPHP_MOUNT#$PROJDIR/}" != "$PROJDIR" ] && mount_mount= + [ "$Cwd" == "$PROJDIR" -o "${Cwd#$PROJDIR/}" != "$PROJDIR" ] && mount_cwd= fi - if [ -n "$mount_composer" -a -d "$HOME/.composer" ]; then - # monter la configuration de composer - args+=(-v "$HOME/.composer:$HOME/.composer") - fi - if [ -n "$RUNPHP_STANDALONE" -a -n "$mount_standalone" ]; then - args+=(-v "$RUNPHP_STANDALONE:$RUNPHP_STANDALONE") - fi - if [ -n "$RUNPHP_MOUNT" -a -n "$mount_mount" ]; then - args+=(-v "$RUNPHP_MOUNT:$RUNPHP_MOUNT") - fi - args+=(-w "$(pwd)") + [ -n "$mount_homes" ] && args+=(-v "/home:/home${UseRslave:+:rslave}") + [ -n "$RUNPHP_STANDALONE" -a -n "$mount_standalone" ] && args+=(-v "$RUNPHP_STANDALONE:$RUNPHP_STANDALONE${UseRslave:+:rslave}") + [ -n "$RUNPHP_MOUNT" -a -n "$mount_mount" ] && args+=(-v "$RUNPHP_MOUNT:$RUNPHP_MOUNT${UseRslave:+:rslave}") + [ -n "$mount_cwd" ] && args+=(-v "$Cwd:$Cwd${UseRslave:+:rslave}") + args+=(-w "$Cwd") # lancer avec l'utilisateur courant if [ $(id -u) -ne 0 ]; then # si c'est un utilisateur lambda, il faut monter les informations - # nécessaires. composer est déjà monté via $HOME + # nécessaires. composer est déjà monté via $HOME ou /home args+=( -e DEVUSER_USERENT="$(getent passwd "$(id -un)")" -e DEVUSER_GROUPENT="$(getent group "$(id -gn)")"