Index: head/Tools/scripts/redundant-opt-files.sh =================================================================== --- head/Tools/scripts/redundant-opt-files.sh (nonexistent) +++ head/Tools/scripts/redundant-opt-files.sh (revision 408849) @@ -0,0 +1,51 @@ +#!/bin/sh +# redundant-opt-files.sh +# Written by John Marino (marino@FreeBSD.org) +# +# This script checks every option file against the default options of +# its port. If they are identical, it writes the full path of the ports +# option directory (typically in /var/db/ports) to stdout. +# It is typically used by Synth users to identify options files that can +# deleted in order to prevent future configuration check failures. + +portsdir=${PORTSDIR:-/usr/ports} +db_dir=$(/usr/bin/make -C ${portsdir}/devel/gmake -V PORT_DBDIR 2>/dev/null) + +if [ ! -d "${db_dir}" ]; then + echo "The ${db_dir} ports option directory does not exist" + echo "There is nothing more to do." + exit +fi + +catport() { + local category + local port + local workstr=${1#${db_dir}/} + local words=$(echo ${workstr} | /usr/bin/tr "_" " "); + for word in ${words}; do + category=${word} + break; + done + port=${workstr#${category}_} + echo ${portsdir}/$category/$port +} + +identical_options() { + local origin=$(catport $1) + local selected_pristine=$(/usr/bin/make -C ${origin} \ + -V SELECTED_OPTIONS PORT_DBDIR=/dev/null) + local selected_now=$(/usr/bin/make -C ${origin} -V SELECTED_OPTIONS) + local deselected_pristine=$(/usr/bin/make -C ${origin} \ + -V DESELECTED_OPTIONS PORT_DBDIR=/dev/null) + local deselected_now=$(/usr/bin/make -C ${origin} -V DESELECTED_OPTIONS) + if [ "${selected_pristine}" = "${selected_now}" -a \ + "${deselected_pristine}" = "${deselected_now}" ]; then + echo $1 + fi; +} + +optdirs=$(/usr/bin/find -s "${db_dir}" -type d -depth 1) + +for dossier in ${optdirs}; do + identical_options ${dossier} +done Property changes on: head/Tools/scripts/redundant-opt-files.sh ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property