|
|
#!/bin/sh
# --- SDE-COPYRIGHT-NOTE-BEGIN --- # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # # Filename: lib/misc/findorphans.sh # Copyright (C) 2008 The OpenSDE Project # Copyright (C) 2006 The T2 SDE Project # # More information can be found in the files COPYING and README. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. A copy of the # GNU General Public License can be found in the file COPYING. # --- SDE-COPYRIGHT-NOTE-END ---
config=default root= folders=
usage() { echo "usage: $0 [-cfg <config>|-root <root>|-system]" }
while [ $# -gt 0 ]; do case "$1" in -cfg) config="$2" root= ; shift ;; -root) root="$2"; shift ;; -system) root=/ ;; -just) shift; folders="$@"; break ;; -help) usage; exit 0 ;; *) echo "ERROR: unknown argument '$1'" usage; exit 1 ;; esac shift done
if [ -z "$root" ]; then if [ ! -f config/$config/config ]; then echo "ERROR: '$config' is not a valid config" exit 2 else root="build/`grep ' SDECFG_ID=' \
config/$config/config | cut -d\' -f2`"
fi fi
if [ ! -d "$root/var/adm/flists" ]; then echo "ERROR: '$root' is not a valid OpenSDE box/sandbox root" exit 3 fi
flists=$( cd "$root"; echo var/adm/flists/* ) realroot=$( cd "$root"; pwd )
findroot= for f in $folders; do findroot="$findroot $realroot/${f#/}" done [ "$findroot" ] || findroot="$realroot"
pushd "$realroot" > /dev/null find $findroot -mindepth 1 \
\( -path "$realroot/TOOLCHAIN" -o \
-path "$realroot/proc" -o \
-path "$realroot/tmp" -o \
-path '*/.svn' \) -prune \
-o -print | sed -e "s,^$realroot/,," | while read file; do if ! grep -q -l "^[^ ]*: ${file}\$" $flists; then echo "$file" fi done popd > /dev/null
|