#!/bin/sh Pack=${1} if [ "${Pack}" = "" ] then echo The package name MUST be specified exit fi My_dir=$BFDIST/releases/development/Release/Scripts Work_space=`${My_dir}/define_work_area` Log_file=${Work_space}/${Pack}_Zombie_list.log if [ -f $Log_file ] then rm $Log_file fi touch $Log_file #cd ${Work_space} UPS_SHELL=sh; export UPS_SHELL . `${UPS_DIR}/bin/ups setup ups` setup cdfsoft2 development cd $CDFSOFT2_DIR echo " Checking $Pack " | tee -a $Log_file rep_line=`${My_dir}/Find_cvs_root ${Pack}` if [ "${rep_line}" = "" ] then rep_line=`${My_dir}/Find_cvs_root Release` fi cvsroot=`echo ${rep_line}|cut -f1 -d','` rep_path=`echo ${rep_line}|cut -f2 -d',' | cut -f2 -d':' | \ sed 's%_rw%%` rep_type=`echo ${rep_line}|cut -f3 -d','` [ -f ${Work_space}/Dead_files ] && rm ${Work_space}/Dead_files [ -f ${Work_space}/package.log ] && rm ${Work_space}/package.log cvs -Q -d ${cvsroot} log ${Pack} > ${Work_space}/package.log 2>/dev/null grep 'RCS file:' ${Work_space}/package.log | grep '/Attic/' | \ cut -f2 -d':' | sed "s%${rep_path}/%%" | sed 's%/Attic/%/%' | sed 's%,v$%%' > ${Work_space}/Dead_files if [ ! -f ${Work_space}/Dead_files ] then rm $Log_file exit fi Dead_cnt=`cat ${Work_space}/Dead_files | wc -l` if [ ${Dead_cnt} -eq 0 ] then rm ${Log_file} exit fi echo " " ${Dead_cnt} files in the Attic while read Dead_file do # cvs -Q -d ${cvsroot} log -N ${Dead_file} # > ${Work_space}/save_log 2>/dev/null offset=`grep -n "^Working file: ${Dead_file}" ${Work_space}/package.log|cut -f1 -d':'` offset=`echo ${offset} | cut -f1 -d' '` [ ${offset} -eq 0 ] && continue tail +${offset} ${Work_space}/package.log > ${Work_space}/save_log bad_stuff=`grep '^date:' ${Work_space}/save_log | head -1|grep "state: Exp"` if [ "${bad_stuff}" != "" ] then echo ${Dead_file} is a zombie | tee ${Work_space}/zombie.tmp echo '' >> ${Log_file} echo ${Dead_file} >> ${Log_file} echo "=================================================================" >> \ $Log_file echo 'This file is alive and is being modified in the Attic' \ >> $Log_file echo " The following information may be of assistance" >> \ $Log_file echo '' >> $Log_file cvs -d ${cvsroot} -Q log ${Dead_file} >> \ $Log_file echo '' >> $Log_file fi rm ${Work_space}/save_log done < ${Work_space}/Dead_files # rm ${Work_space}/Dead_files #done < $CDFSOFT2_DIR/Distribution/packages if [ `cat ${Log_file} | wc -l` -lt 5 ] then rm ${Log_file} exit fi echo '************************************************************************' echo '* Scan for files which are alive (being modified) in the Attic' echo '*' has determined that files of this type exist in this package. echo '*' echo '*' The detailed log can be found at $Log_file echo '************************************************************************'