source: tags/confman-1.5.6a5/confaudit.sh @ 212

Revision 212, 2.5 KB checked in by mattea, 4 years ago (diff)

Tagging fixed symlinking

  • Property svn:executable set to *
Line 
1#! /bin/bash
2# Try loading a development library first
3if [ -r ./confmancommon.sh ] ; then
4    echo "Loading development library from current working directory." >&2
5    . ./confmancommon.sh
6elif [ -r /usr/local/rescomp/lib/confmancommon.sh ] ; then
7    . /usr/local/rescomp/lib/confmancommon.sh
8else
9    echo "Can't find confmancommon.sh. Exiting." >&2
10fi
11
12quiet=0
13while getopts "q" opt ; do
14    case $opt in
15        q)
16        quiet=1
17        shift
18        ;;
19        *)
20        ;;
21    esac
22done
23
24tarball=$(conf_fetch)
25if ! [ -s $tarball ] 
26then
27    echo "Could not fetch the tarball." >&2
28    exit 1
29fi
30
31tmpcopy=$($mktemp_dir)
32tmproot=$($mktemp_dir)
33
34tar -xzf $tarball -C $tmpcopy
35rm -rf $tarball
36
37for layer in $LAYERS
38do
39     module="${layer}"
40     moduledir="$tmpcopy/$module"
41
42    for directory in `find -L $moduledir -mindepth 1 -type d | grep -v "\.svn"`;
43    do
44        tmpdir=`echo $directory | sed "s:$moduledir::"`
45        tmpdir="$tmproot${tmpdir}"
46        owner=`conf_get_prop ${directory} owner`
47        group=`conf_get_prop ${directory} group`
48        mode=`conf_get_prop ${directory} mode`
49        opts="-d -o $owner -g $group -m $mode"
50        cmd="sudo $install_cmd $opts $tmpdir"
51        $cmd
52    done
53    for file in `find -L $moduledir -type f | grep -v "\.svn"` ; do
54        tmpfile=`echo "$file" | sed "s:$moduledir::"`
55        owner=`conf_get_prop ${file} owner`
56        group=`conf_get_prop ${file} group`
57        mode=`conf_get_prop ${file} mode`
58        opts="-o $owner -g $group -m $mode"
59        cmd="sudo $install_cmd $opts $file $tmproot$tmpfile"
60        $cmd
61    done
62done
63
64for file in $SINGULARITIES
65do
66     livefile="$tmproot${file}"
67     tmpfile=`${mktemp_file}` || exit 1
68    for layer in $LAYERS ; do
69        livepart="$tmproot${file}-${layer}"
70        myfile="$tmpcopy/${layer}/${file}-${layer}"
71        if [ -f $myfile -a -f $livepart ] ; then
72                owner=`conf_get_prop ${myfile} owner`
73                group=`conf_get_prop ${myfile} group`
74                mode=`conf_get_prop     ${myfile} mode`
75                comment=`conf_get_prop  ${myfile} comment`
76            cat $livepart >> $tmpfile
77            sudo rm $livepart
78            flag=1
79        fi
80    done
81    if [ ! -z $flag ] ; then
82        opts="-o $owner -g $group -m $mode"
83        cmd="sudo $install_cmd $opts $tmpfile $livefile"
84        $cmd
85    fi
86    rm -f $tmpfile
87done
88rm -rf $tmpcopy
89if [ $quiet = 0 ]
90then
91    sudo /usr/bin/diff -rPu / $tmproot | grep -v "^Only in"
92else
93    sudo /usr/bin/diff -rPuq / $tmproot | grep -v "^Only in"
94fi
95sudo rm -rf $tmproot
96
Note: See TracBrowser for help on using the repository browser.