File:  [ELWIX - Embedded LightWeight unIX -] / elwix / config / rc.subr
Revision 1.6: download - view: text, annotated - select for diffs - revision graph
Tue May 7 20:46:48 2013 UTC (11 years, 1 month ago) by misho
Branches: MAIN
CVS tags: elwix1_9_mips, elwix1_9, HEAD, ELWIX1_8
elwix 1.8

    1: #
    2: # ELWIX project build helper subroutines
    3: #
    4: # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
    5: #    by Michael Pounov <misho@elwix.org>
    6: #
    7: # $Id: rc.subr,v 1.6 2013/05/07 20:46:48 misho Exp $
    8: #
    9: 
   10: ### Dont edit this file !!!
   11: 
   12: CheckVer()
   13: {
   14: 	[ -z "$1" -o ! -r "$1" ] && return 1
   15: 
   16: 	cat $1 | awk '($1 == "ELWIX") { split($3, arr, ":"); printf("%s", arr[2]); }'
   17: 	return 0
   18: }
   19: 
   20: SnitVer()
   21: {
   22: 	install -d ${TOPDIR}
   23: 
   24: 	V=$(CheckVer $1)
   25: 
   26: 	if [ $? -ne 0 ]; then
   27: # file not found
   28: 		return 1
   29: 	elif [ X"$V" != X"${VERSION}" ]; then
   30: # different ELWIX version
   31: 		return 2
   32: 	fi
   33: 
   34: # already present file with same version
   35: 	return 0
   36: }
   37: 
   38: # $1 = ELWIX install list config
   39: # $2 = From World dir
   40: # $3 = To Dest dir
   41: InstallList()
   42: {
   43: 	local TMPFILE=$(mktemp -q /tmp/instlist.XXXXXX)
   44: 	if [ $? -ne 0 ]; then
   45: 		echo "Error:: Can't create temp file, exiting..."
   46: 		exit 1
   47: 	fi
   48: 
   49: 	sed -nE -e 's/^ *([^ #]+) */\1/p' < $1 | tr ':' '\n' >$TMPFILE
   50: 	cd $2
   51: 	for i in $(cat $TMPFILE); do
   52: 		if [ -x $i ]; then
   53: 			echo "Strip '$i'"
   54: 			strip -s $i
   55: 		fi
   56: 	done
   57: 	cd -
   58: 	tar -C $2 -cvf - -T $TMPFILE | tar -C $3 -x -f -
   59: 	rm -f $TMPFILE
   60: }
   61: 
   62: # $1 = From dir
   63: # $2 = To dir
   64: InstallDir()
   65: {
   66: 	cd $1
   67: 	pax -rw -pe -X . $2
   68: 	cd -
   69: }
   70: 
   71: # $* = Program arguments for install tool
   72: InstallProg()
   73: {
   74: 	install -c $*
   75: }
   76: 
   77: # $1 = file_pattern
   78: # $2 = From dir
   79: # $3 = To dir
   80: InstallFiles()
   81: {
   82: 	if [ -d "$2" ]; then
   83: 		cd $2
   84: 		find . -type f -name "$1" | 
   85: 			tar -cvf - -T - | tar -C $3 -xf -
   86: 		cd -
   87: 	fi
   88: }
   89: 
   90: # $1 = Directory for clean
   91: CleanCVS()
   92: {
   93: 	find $1 -type d -name CVS -exec rm -rf {} \; >/dev/null 2>&1
   94: 	find $1 -type f -name .#\* -exec rm -f {} \; >/dev/null 2>&1
   95: }
   96: 
   97: # $1 = file_pattern
   98: # $2 = From dir
   99: StripFiles()
  100: {
  101: 	if [ -d "$2" ]; then
  102: 		local TMPFILE=$(mktemp -q /tmp/instlist.XXXXXX)
  103: 		if [ $? -ne 0 ]; then
  104: 			echo "Error:: Can't create temp file, exiting..."
  105: 			exit 1
  106: 		fi
  107: 
  108: 		cd $2
  109: 		find . -type f -name "$1" >$TMPFILE
  110: 		for i in $(cat $TMPFILE); do
  111: 			if [ -x $i ]; then
  112: 				echo "Strip '$i'"
  113: 				strip -s $i
  114: 			fi
  115: 		done
  116: 		cd -
  117: 		rm -f $TMPFILE
  118: 	fi
  119: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>