--- /usr/src/linux/scripts/treelink.sh Wed Dec 12 23:50:08 2001 +++ linux-2.4-branch/scripts/treelink.sh Tue Oct 16 16:25:24 2001 @@ -0,0 +1,45 @@ +#!/bin/sh +# +# treelink.sh - Tree Linking Script +# +# Copyright (C) 2001 Paul Mundt +# +# Modified by M. R. Brown +# +# A simple shell script for linking a drop in tree into a stock +# kernel tree. Usable for drop in trees such as the linux-mips +# and linuxconsole trees. +# +# Released under the terms of the GNU GPL v2 +# +[ "$#" -ne "2" ] && echo "Usage: $0 " && exit 1 + +ODIR=${PWD} +cd $1 || exit 1 +LDIR=${PWD} +echo -n "Building file list ... " +LIST=`find * \( -type d -name CVS -prune \) -o -type f -print` +echo -e "done." +cd ${ODIR} + +cd $2 || exit 1 + +# Make this a seperate step so that the user can cancel the operation +echo -n "Saving originals ..... " +for file in $LIST; do + if [ -e $file -a ! -h $file ]; then + DIR=`dirname $file` + ofile=`basename $file` + [ ! -d ${DIR}/.orig ] && mkdir -p ${DIR}/.orig + cp $file ${DIR}/.orig/$ofile + fi +done +echo -e "done." + +echo -n "Linking files ........ " +for file in $LIST; do + DIR=`dirname $file` + [ ! -d $DIR ] && mkdir -p $DIR + ln -sf $LDIR/$file $file +done +echo -e "done." --- /usr/src/linux/scripts/treeunlink.sh Wed Dec 12 23:50:10 2001 +++ linux-2.4-branch/scripts/treeunlink.sh Tue Oct 16 16:25:24 2001 @@ -0,0 +1,31 @@ +#!/bin/sh +# +# treeunlink.sh - Tree Unlinking Script +# +# Copyright (c) 2001 M. R. Brown +# +# This script attempts to restore a previously tree-linked tree. +# It's the anti-thesis of (and based on) treelink.sh by Paul Mundt. +# +# Released under the terms of the GNU GPL v2 + +[ "$#" -ne "1" ] && echo "Usage: $0 " && exit 1 + +cd $1 || exit 1 +echo -n "Building file list ... " +LIST=`find * \( -type d -name CVS -prune \) -o -type l -print` +echo -e "done." + +[ -z "$LIST" ] && echo "No linked files to unlink." && exit 1 + +echo -n "Restoring originals .. " +for file in $LIST; do + DIR=`dirname $file` + ofile=`basename $file` + rm -f $file + if [ -d ${DIR}/.orig -a -e ${DIR}/.orig/$ofile ]; then + mv ${DIR}/.orig/$ofile $file + [ -z "`ls ${DIR}/.orig`" ] && rmdir ${DIR}/.orig + fi +done +echo -e "done."