#!/bin/bash # $HeadURL$ $LastChangedRevision$ # Modules . <(pcms-config --format=shell) . $(miniade) || { echo "${0##*/}: ERROR: miniade failed (hint: run 'miniade' to see error)" >&2; exit 1; } # Configurable stuff ALLOWED_ZERO_SIZE_FILE_EXTENSIONS=( copy driverinstall facility file fix grpmem install key nmdnsent nmnicent service symlink traddnsent uninstall user volume ) main() { local MY_ARGS # Defaults for options # Process options miniade_process_options MY_ARGS "$@" && set -- "${MY_ARGS[@]}" # Process arguments [ $# = 0 ] || miniade_bad_usage # Sanity checks and derivations FIND_CMDLINE="find \$PCMS_STATE_PREFIX/ -type f -size 0 \\! \\($(\ DONE_ONE=false for ALLOWED_ZERO_SIZE_FILE_EXTENSION in "${ALLOWED_ZERO_SIZE_FILE_EXTENSIONS[@]}"; do { ! $DONE_ONE; } || echo -n " -o" echo -n " -name '*.$ALLOWED_ZERO_SIZE_FILE_EXTENSION'" DONE_ONE=true done ) \\)" miniade_debug 10 "main: FIND_CMDLINE=[$FIND_CMDLINE]" # Guts eval "$FIND_CMDLINE" | sort | while read FILE; do miniade_warning "$FILE: zero-sized file (hint: remove?)" done find $PCMS_STATE_PREFIX/ -depth -type d -empty | sort | while read DIR; do miniade_warning "$DIR: empty directory (hint: remove?)" done } main "$@"