File: create_clean_fpcsrc_directory.sh

package info (click to toggle)
lazarus 2.0.10%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 219,188 kB
  • sloc: pascal: 1,867,962; xml: 265,716; cpp: 56,595; sh: 3,005; java: 609; makefile: 568; perl: 297; sql: 222; ansic: 137
file content (60 lines) | stat: -rwxr-xr-x 1,630 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/usr/bin/env bash

set -x
set -e

SrcDir=$1
DestDir=$2

SrcDir=$(echo $SrcDir | sed -e 's#//#/#' -e 's#/$##')/
DestDir=$(echo $DestDir | sed -e 's#//#/#' -e 's#/$##')/

if [ "x$SrcDir" = "x" ]; then
  echo "Usage: $0 <fpc_source_directory> <fpc_destination_directory>"
  exit
fi
if [ "x$DestDir" = "x" ]; then
  echo "Usage: $0 <fpc_source_directory> <fpc_destination_directory>"
  exit
fi
if [ "x$DestDir" = "x/" ]; then
  echo "Usage: $0 <fpc_source_directory> <fpc_destination_directory>"
  exit
fi
if [ ! -d $SrcDir/compiler ]; then
  echo "The directory does not look like a fpc source directory (lazarus/)"
  exit
fi

echo "copy $SrcDir to $DestDir ..."
if [ `which rsync` ]; then
  rsync -va --exclude="CVS" --exclude=".cvsignore" \
        --exclude="*.ppu" --exclude="*.ppw" --exclude="*.ppl" \
        --exclude="*.o" --exclude="*.ow" --exclude="*.rst" \
        --exclude=".#*" --exclude="*.~*" --exclude="*.bak" \
        --exclude="*.orig" --exclude="*.rej" --exclude="*.bak" \
        --exclude=".xvpics" --exclude="*.compiled" --exclude="killme*" \
        --exclude=".gdb_hist*" \
        $SrcDir $DestDir
else
  cp -a $SrcDir $DestDir
fi

echo "cleaning up (svn, ppu, o) ..."
cd $DestDir
make distclean
for Ext in ppu ppw ppl o ow rst cvsignore bak orig rej xvpics; do
  find . -name "*.$Ext" -exec rm -f {} \;
done
find . -name "*.~*" -exec rm -f {} \;
find . -name "*.#*" -exec rm -f {} \;
# delete all CVS directories
find . -name "CVS" -exec rm -rf {} \;
# delete all .svn directories
find . -name ".svn" -exec rm -rf {} \;
# delete all executables
find . -perm /a+x -type f -exec rm -f {} \;
cd -

# end.