File: gpg-agent_stop.bsh

package info (click to toggle)
git-lfs 3.3.0-1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 4,676 kB
  • sloc: sh: 19,133; makefile: 487; ruby: 228
file content (34 lines) | stat: -rwxr-xr-x 798 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env bash

#Based off of https://github.com/andyneff/gpg_agent/blob/master/stop.bsh

set -eu

CUR_DIR=$(dirname ${BASH_SOURCE[0]})
CONTAINER_NAME=git-lfs-gpg

: ${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`}

function docker_wait(){
  local set loop=0

  while true; do
    if [ "$($SUDO docker inspect -f {{.State.Running}} $1)" != "true" ]; then
      return 0
    else
      if (( $loop >= $2 )); then
        return 1
      fi
      sleep 1
    fi
    loop=$(( loop + 1 ))
  done
}

if ! docker_wait ${CONTAINER_NAME} 0; then
  $SUDO docker exec -it ${CONTAINER_NAME} pkill gpg-agent || :
fi

docker_wait ${CONTAINER_NAME} 10 || :

$SUDO docker rm -f ${CONTAINER_NAME}