Simplify packer-parameters macro name to just lf
[releng/global-jjb.git] / shell / docker-login.sh
index a2055a9..92da7e0 100644 (file)
@@ -1,5 +1,5 @@
 #!/bin/bash
-# @License EPL-1.0 <http://spdx.org/licenses/EPL-1.0>
+# SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 The Linux Foundation and others.
 #
@@ -35,6 +35,7 @@ set -eu -o pipefail
 
 # Execute the credential lookup and login to the registry
 do_login() {
+    set +x  # Ensure that no other scripts add `set -x` and print passwords
     echo "$1"
     CREDENTIAL=$(xmlstarlet sel -N "x=http://maven.apache.org/SETTINGS/1.0.0" \
         -t -m "/x:settings/x:servers/x:server[starts-with(x:id, '${1}')]" \
@@ -56,10 +57,21 @@ do_login() {
         return 1
     fi
 
-    docker login -u "$USER" -p "$PASS" -e "$2" "$1"
+    docker_version=$(docker -v | awk '{print $3}')
+    compare_value=$(echo "17.06.0 $docker_version" | \
+                    tr " " "\n" | \
+                    sort -V | \
+                    sed -n 1p)
+    if [[ "$docker_version" == "$compare_value" && \
+          "$docker_version" != "17.06.0" ]]
+    then
+        docker login -u "$USER" -p "$PASS" -e "$2" "$1"
+    else
+        docker login -u "$USER" -p "$PASS" "$1"
+    fi
 }
 
-if [ "${REGISTRY:-none}" != 'none' ]
+if [ "${DOCKER_REGISTRY:-none}" != 'none' ]
 then
     for PORT in $REGISTRY_PORTS
     do