1#!/bin/sh
2#\
3exec tclsh "$0" ${1+"$@"}
4
5#----------------------------------------------------------------------
6#
7# installData.tcl --
8#
9#	This file installs a hierarchy of data found in the directory
10#	specified by its first argument into the directory specified
11#	by its second.
12#
13#----------------------------------------------------------------------
14#
15# Copyright (c) 2004 by Kevin B. Kenny.  All rights reserved.
16# See the file "license.terms" for information on usage and redistribution
17# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
18#
19# RCS: @(#) $Id: installData.tcl,v 1.1.16.1 2010/05/21 12:18:17 nijtmans Exp $
20#
21#----------------------------------------------------------------------
22
23proc copyDir {d1 d2} {
24
25    puts [format {%*sCreating %s} [expr {4 * [info level]}] {} \
26	      [file tail $d2]]
27
28    file delete -force -- $d2
29    file mkdir $d2
30
31    foreach ftail [glob -directory $d1 -nocomplain -tails *] {
32	set f [file join $d1 $ftail]
33	if {[file isdirectory $f] && [string compare CVS $ftail]} {
34	    copyDir $f [file join $d2 $ftail]
35	} elseif {[file isfile $f]} {
36	    file copy -force $f [file join $d2 $ftail]
37	    if {$::tcl_platform(platform) eq {unix}} {
38		file attributes [file join $d2 $ftail] -permissions 0644
39	    } else {
40		file attributes [file join $d2 $ftail] -readonly 1
41	    }
42	}
43    }
44
45    if {$::tcl_platform(platform) eq {unix}} {
46	file attributes $d2 -permissions 0755
47    } else {
48	file attributes $d2 -readonly 1
49    }
50
51}
52
53copyDir [file normalize [lindex $argv 0]] [file normalize [lindex $argv 1]]
54