github.com/git-lfs/git-lfs@v2.5.2+incompatible/docker/gpg-agent_stop.bsh (about)

     1  #!/usr/bin/env bash
     2  
     3  #Based off of https://github.com/andyneff/gpg_agent/blob/master/stop.bsh
     4  
     5  set -eu
     6  
     7  CUR_DIR=$(dirname ${BASH_SOURCE[0]})
     8  CONTAINER_NAME=git-lfs-gpg
     9  
    10  : ${SUDO=`if ( [ ! -w /var/run/docker.sock ] && id -nG | grep -qwv docker && [ "${DOCKER_HOST:+dh}" != "dh" ] ) && which sudo > /dev/null 2>&1; then echo sudo; fi`}
    11  
    12  function docker_wait(){
    13    local set loop=0
    14  
    15    while true; do
    16      if [ "$($SUDO docker inspect -f {{.State.Running}} $1)" != "true" ]; then
    17        return 0
    18      else
    19        if (( $loop >= $2 )); then
    20          return 1
    21        fi
    22        sleep 1
    23      fi
    24      loop=$(( loop + 1 ))
    25    done
    26  }
    27  
    28  if ! docker_wait ${CONTAINER_NAME} 0; then
    29    $SUDO docker exec -it ${CONTAINER_NAME} pkill gpg-agent || :
    30  fi
    31  
    32  docker_wait ${CONTAINER_NAME} 10 || :
    33  
    34  $SUDO docker rm -f ${CONTAINER_NAME}