diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-10-14 20:19:30 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-10-14 20:19:30 +0000 |
commit | 11cfb6f7f6326e79b4a930716c340b65d76d0683 (patch) | |
tree | 407c08b76ce570ebc0c5b218aa914a1449808f20 /tools/build/scripts/lock-directory.in | |
parent | Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>: (diff) | |
download | rtems-11cfb6f7f6326e79b4a930716c340b65d76d0683.tar.bz2 |
Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
1. Rtems contains some perl scripts that use hard-coded paths to
/usr/bin/perl or /usr/local/bin/perl I have already fixed these
problems by adding some checks to configure.in. While doing this,
I also cleaned up some more autoconf related problems for generating
shell scripts. This patch might seem a bit scary to you, but I am
quite confident it won't break something (I've been testing it for
almost a week now, however it might introduce typos for a limited
number configurations I don't have access to - But it shouldn't be
a problem for you to test them :-).
I expect to get this finished tonight, hence you will very likely
have the patch when you get up tomorrow.
Changes:
* Check for PERL and disable all PERL scripts if perl wasn't found.
* Generate all KSHELL-scripts with autoconf instead of make-script
* Automatic dependency handling for autoconf generated KSHELL or PERL
scripts (make/rtems.cfg)
Notes:
* this patch contains new files and deletes some other files.
* The patch is relative to rtems-4.0.0-beta4 with my previous
rtems-rc-981014-1.diff patch applied.
Testing:
I tested it with sh-rtems and posix under linux. Now all targets
which are touched by this patch and which are not used while building
for sh-rtems and posix still need to be tested. AFAIS, only the
sparc/erc32 BSP should be affected by this criterion. And if you
like to, you should also consider testing it on a Cygwin32 and a
Solaris host for one arbitrary BSP.
Diffstat (limited to '')
-rw-r--r-- | tools/build/scripts/lock-directory.in | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tools/build/scripts/lock-directory.in b/tools/build/scripts/lock-directory.in new file mode 100644 index 0000000000..1c205cdec0 --- /dev/null +++ b/tools/build/scripts/lock-directory.in @@ -0,0 +1,43 @@ +#!@KSH@ +# +# $Id$ +# +# Make a directory write protected +# Used to write protect the install point after a build +# to prevent inadvertant overwriting. +# + +# is a particular command available on this machine? +# +cmd_avail() +{ + set -- `type $1 2>&1` + if [ "$2" = "not" -a "$3" = "found" ] || [ "$3" = "not" -a "$4" = "found" ] + then + return 1 + else + return 0 + fi +} + +lock_directory() { + l_dir=$1/. # get any symlink out of the way using '.' + if [ -d $l_dir ] + then + find $l_dir -type d -perm -0200 -print | $XARGS chmod -w + fi +} + +# Use gnu xargs if available; faster, more reliable in general +XARGS=xargs +cmd_avail gxargs && XARGS=gxargs + +for dir +do + lock_directory $dir +done + +# Local Variables: *** +# mode:ksh *** +# End: *** + |