#!/bin/ksh #DEBUG=false DEBUG=: if [ $# != 1 ]; then cat < /dev/null rv=$? return $rv } insert_Sockets_NetworkListener_in_syslogd_plist() { plutil -insert Sockets.NetworkListener -xml "$value_Sockets_NetworkListener" "$syslogd_plist" rv=$? #! $DEBUG || plutil -convert xml1 -o - "$syslogd_plist" diff -u <(plutil -convert xml1 -o - "$syslogd_plist_bak") <(plutil -convert xml1 -o - "$syslogd_plist") return $rv } remove_Sockets_NetworkListener_in_syslogd_plist() { plutil -remove Sockets.NetworkListener "$syslogd_plist" rv=$? #! $DEBUG || plutil -convert xml1 -o - "$syslogd_plist" diff -u <(plutil -convert xml1 -o - "$syslogd_plist_bak") <(plutil -convert xml1 -o - "$syslogd_plist") return $rv } write_etc_asl_org_sample_asl_facility_log() { cat < /dev/null ? [= Facility ${facility}] [<= Level info] file /var/log/${facility}-log EOF return $? } successfully_finished() { ! $DEBUG || echo 'sudo killall -HUP syslogd' 1>&2 } modified=false if [ "$1" == enable ]; then if $DEBUG && [ ! -f "$syslogd_plist" ]; then cp -p /System/Library/LaunchDaemons/com.apple.syslogd.plist "$syslogd_plist" fi [ ! -f "$syslogd_plist" ] || syslogd_plist_bak="${syslogd_plist}-$(fstrftime_l "$syslogd_plist")" if [ ! -f "$asl_facility_log" ]; then echo "write $asl_facility_log" write_etc_asl_org_sample_asl_facility_log && modified=: else echo "$asl_facility_log already exists" 1>&2 fi if ! check_Sockets_NetworkListener_in_syslogd_plist; then if [ "$syslogd_plist_bak" != "" ]; then mv "$syslogd_plist" "$syslogd_plist_bak" cp -p "$syslogd_plist_bak" "$syslogd_plist" fi insert_Sockets_NetworkListener_in_syslogd_plist && modified=: else echo "$syslogd_plist already has Sockets.NetworkListener key" 1>&2 fi else [ ! -f "$syslogd_plist" ] || syslogd_plist_bak="${syslogd_plist}-$(fstrftime_l "$syslogd_plist")" if [ -f "$asl_facility_log" ]; then echo "remove $asl_facility_log" rm "$asl_facility_log" && modified=: else echo "$asl_facility_log does not exist" 1>&2 fi if check_Sockets_NetworkListener_in_syslogd_plist; then if [ "$syslogd_plist_bak" != "" ]; then mv "$syslogd_plist" "$syslogd_plist_bak" cp -p "$syslogd_plist_bak" "$syslogd_plist" fi remove_Sockets_NetworkListener_in_syslogd_plist && modified=: else echo "$syslogd_plist does not have Sockets.NetworkListener key" 1>&2 fi fi $modified && successfully_finished