[ -n "$SSH_ORIGINAL_COMMAND" ] || exit 1
+trigger_name=$(basename "$1")
+
set -- $SSH_ORIGINAL_COMMAND
-bn=$(basename "$1")
-if [ "$bn" = "trigger.daily" ]; then
- bin=/org/wanna-build/trigger.daily
-elif [ "$bn" = "trigger.often" ]; then
- bin=/org/wanna-build/trigger.often
-elif [ "$bn" = "trigger.security" ]; then
- bin=/org/wanna-build/trigger.security
-else
- exit 1
+shift
+args="$*"
+args=${args//[^a-zA-Z-]/}
+args=${args,,}
+
+# Ignore ftpsync stuff.
+if [ "$args" = "syncall" -o "$args" = "sync:all" ]
+then
+ args=""
fi
-shift
+echo "$(date): $trigger_name | $args" >> /org/wanna-build/db/signal.log
+
+if [ ! -z "$args" ]
+then
+ # Pass arguments in the filename because we might get triggered for
+ # multiple suites. A simple append wouldn't be race-free on the
+ # reader side.
+ touch "/org/wanna-build/signals/${trigger_name}.${args}"
+else
+ touch "/org/wanna-build/signals/$trigger_name"
+fi
-[ -f "$bin" -a -x "$bin" ] || exit 1
+exit 0
-exec $bin