sdp_info.sh #2

  • //
  • p4-sdp/
  • dev_c2s/
  • Server/
  • Unix/
  • p4/
  • common/
  • bin/
  • triggers/
  • sdp_info.sh
  • View
  • Commits
  • Open Download .zip Download (2 KB)
#!/bin/bash
#------------------------------------------------------------------------------
# Copyright and license info is available in the LICENSE file included with
# the Server Deployment Package (SDP), and also available online:
# https://swarm.workshop.perforce.com/projects/perforce-software-sdp/view/main/LICENSE
#------------------------------------------------------------------------------
set -u

# Version ID Block. Relies on +k filetype modifier.
#------------------------------------------------------------------------------
# shellcheck disable=SC2016
declare VersionID='$Id: //p4-sdp/dev_c2s/Server/Unix/p4/common/bin/triggers/sdp_info.sh#2 $ $Change: 31472 $'
declare VersionStream=${VersionID#*//}; VersionStream=${VersionStream#*/}; VersionStream=${VersionStream%%/*};
declare VersionCL=${VersionID##*: }; VersionCL=${VersionCL%% *}
declare Version=${VersionStream}.${VersionCL}
[[ "$VersionStream" == r* ]] || Version="${Version^^}"

#------------------------------------------------------------------------------
# Install in the Triggers table like so:
# Triggers:
# 	SDPInfo command post-user-info "/p4/common/bin/triggers/sdp_info.sh %clientprog%"
#
# This script appends the content of the SDP Version file, /p4/sdp/Version, to
# the 'p4 info' output.
#
# This also appends the content of an optional message-of-the-day (motd) file
# to 'p4 info' output.

declare ThisScript=${0##*/}
declare SDPVersionFile="/p4/sdp/Version"
declare SDPMessageOfTheDayFile="/p4/common/site/config/motd.txt"
declare ClientProg="${1:-}"

if [[ "$@" =~ -V ]]; then
   echo "$ThisScript version $Version"
   exit 0
fi

if [[ "${ClientProg:-}" == "p4" ]]; then
   if [[ -r "$SDPVersionFile" ]]; then
      echo "SDP Version: $(cat "$SDPVersionFile")"
   else
      echo "SDP Version: Unknown; missing SDP Version File: $SDPVersionFile"
   fi

   if [[ -r "$SDPMessageOfTheDayFile" ]]; then
      cat "$SDPMessageOfTheDayFile"
   fi
fi

exit 0
# Change User Description Committed
#2 31472 C. Thomas Tyler Updated bash scripts and bash template to new file versioning scheme.
Modernized template bash script.
#1 31399 C. Thomas Tyler Populate -r -S //p4-sdp/dev_c2s.
//p4-sdp/dev/Server/Unix/p4/common/bin/triggers/sdp_info.sh
#1 31397 C. Thomas Tyler Populate -b SDP_Classic_to_Streams -s //guest/perforce_software/sdp/...@31368.
//guest/perforce_software/sdp/dev/Server/Unix/p4/common/bin/triggers/sdp_info.sh
#3 31108 C. Thomas Tyler Changed the SDPInfo trigger to display the additional output
only if the client program calling the trigger is 'p4'.

This fixes an issue where installing the trigger causes a
Swarm crash.
#2 30819 C. Thomas Tyler Added prefix 'SDP Version:'
#1 30802 C. Thomas Tyler Added sdp_info.sh script to the SDP.
It appends contents of /p4/sdp/Version to 'p4 info' output.
If that file does not exist, a message is displayed indicating it is missing.
It also displays the contents of an optional Message of the Day file.

#review-30803