4aa12e0290f91453769f0be4fc5f86ca932fda52 hiram Fri May 8 09:51:50 2026 -0700 fortify against cron job usage full path to kent commands refs #31811 diff --git src/hg/makeDb/trackDb/buildRelatedTracks src/hg/makeDb/trackDb/buildRelatedTracks index 3f6a3bbae5b..6609b400e1c 100755 --- src/hg/makeDb/trackDb/buildRelatedTracks +++ src/hg/makeDb/trackDb/buildRelatedTracks @@ -1,38 +1,38 @@ #!/bin/bash # Build the relatedTracks table for each assembly set -beEu -o pipefail function usage() { printf "Usage: %s relatedTrack_name db1 db2 ...\n" "`basename $0`" printf "Build the relatedTrack tables for each assembly listed in relatedTracks.ra\n" printf "The first argument must be the name of the table to build, followed by all\nthe" printf "assemblies to update (similar to trackDb update process)\n" } if [ $# -lt 2 ] ; then echo "wrong # args" >&2 usage >&2 exit 1 fi tbl="$1"; shift; for db in $*; do set +e grep -wq "^$db" relatedTracks.ra &> /dev/null if [ $? -eq 0 ] then set -e # enfore two lines per relationship: uniqTables=$(comm -3 <(grep -w "^$db" relatedTracks.ra | cut -d' ' -f2 | sort) <(grep -w "^$db" relatedTracks.ra | cut -d' ' -f3 | sort) | wc -l) if [ $uniqTables -gt 0 ]; then printf "ERROR: mismatched primary and secondary related tracks for '%s'\n" "$db" echo "Tracks:" $(comm -3 <(grep -w "^$db" relatedTracks.ra | cut -d' ' -f2 | sort) <(grep -w "^$db" relatedTracks.ra | cut -d' ' -f3 | sort)) exit 255 fi grep -w "^$db" relatedTracks.ra | cut -d' ' -f2- \ | sed -e 's/ /\t/' -e 's/ /\t/' | sort -k1 -k2 \ - | hgLoadSqlTab "$db" "$tbl" ~/kent/src/hg/lib/relatedTrack.sql stdin + | /cluster/bin/x86_64/hgLoadSqlTab "$db" "$tbl" ~/kent/src/hg/lib/relatedTrack.sql stdin printf "done building relatedTrack table for %s\n" "$db" fi done