~ubuntu-branches/debian/jessie/arb/jessie

« back to all changes in this revision

Viewing changes to SOURCE_TOOLS/arb_valgrind

  • Committer: Package Import Robot
  • Author(s): Elmar Pruesse, Andreas Tille, Elmar Pruesse
  • Date: 2014-09-02 15:15:06 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20140902151506-jihq58b3iz342wif
Tags: 6.0.2-1
[ Andreas Tille ]
* New upstream version
  Closes: #741890
* debian/upstream -> debian/upstream/metadata
* debian/control:
   - Build-Depends: added libglib2.0-dev
   - Depends: added mafft, mrbayes
* debian/rules
   - Add explicite --remove-section=.comment option to manual strip call
* cme fix dpkg-control
* arb-common.dirs: Do not create unneeded lintian dir
* Add turkish debconf translation (thanks for the patch to Mert Dirik
  <mertdirik@gmail.com>)
  Closes: #757497

[ Elmar Pruesse ]
* patches removed:
   - 10_config.makefiles.patch,
     80_no_GL.patch
       removed in favor of creating file from config.makefile.template via 
       sed in debian/control
   - 20_Makefile_main.patch
       merged upstream
   - 21_Makefiles.patch
       no longer needed
   - 30_tmpfile_CVE-2008-5378.patch: 
       merged upstream
   - 50_fix_gcc-4.8.patch:
       merged upstream
   - 40_add_libGLU.patch:
       libGLU not needed for arb_ntree)
   - 60_use_debian_packaged_raxml.patch:
       merged upstream
   - 70_hardening.patch
       merged upstream
   - 72_add_math_lib_to_linker.patch
       does not appear to be needed
* patches added:
   - 10_upstream_r12793__show_db_load_progress:
       backported patch showing progress while ARB is loading a database
       (needed as indicator/splash screen while ARB is launching)
   - 20_upstream_r12794__socket_permissions:
       backported security fix
   - 30_upstream_r12814__desktop_keywords:
       backported add keywords to desktop (fixes lintian warning)
   - 40_upstream_r12815__lintian_spelling:
       backported fix for lintian reported spelling errors
   - 50_private_nameservers
       change configuration to put nameservers into users home dirs
       (avoids need for shared writeable directory)
   - 60_use_debian_phyml
       use phyml from debian package for both interfaces in ARB
* debian/rules:
   - create config.makefile from override_dh_configure target
   - use "make tarfile" in override_dh_install
   - remove extra cleaning not needed for ARB 6
   - use "dh_install --list-missing" to avoid missing files
   - added override_dh_fixperms target
* debian/control:
   - added libarb-dev package
   - Depends: added phyml, xdg-utils
   - Suggests: removed phyml
   - fix lintian duplicate-short-description (new descriptions)
* debian/*.install:
   - "unrolled" confusing globbing to select files
   - pick files from debian/tmp
   - moved all config files to /etc/arb
* debian/arb-common.templates: updated
* scripts:
   - removed arb-add-pt-server
   - launch-wrapper: 
     - only add demo.arb to newly created $ARBUSERDATA
     - pass commandline arguments through bin/arb wrapper
   - preinst: removing old PT server index files on upgrade from 5.5*
   - postinst: set setgid on shared PT dir
* rewrote arb.1 manfile
* added file icon for ARB databases
* using upstream arb_tcp.dat

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
3
3
if [ -z $1 ] ; then
4
4
    echo ''
5
 
    echo 'Usage: arb_valgrind [-m] [-c <callers>] [-f <filter>] [-l [-r]] [-A] <arb_program> <arguments>'
 
5
    echo 'Usage: arb_valgrind [options] <arb_program> <arguments>'
6
6
    echo ''
7
7
    echo '    runs valgrind (versions 3.x) on <arb_program> piping results through a filter'
8
8
    echo '    so that the output can be used as emacs error messages'
9
9
    echo ''
 
10
    echo '    options:'
 
11
    echo ''
10
12
    echo '    -m             use massif (default uses memcheck)'
11
13
    echo '    -c <callers>   show <callers> stackframes (default: none)'
12
14
    echo '                   [in fact they are always shown, but not marked as errors]'
13
15
    echo '    -f <filter>    regexpr to filter the reason (default: all)'
14
16
    echo '    -l [-r]        turn on leak-checking (-r for reachable blocks)'
15
17
    echo '    -A             show known boring errors (most Xt/Motif-related)'
 
18
    echo '    -q             quiet'
 
19
    echo '    -L <file>      log stdout to <file> (does not work with -D)'
 
20
    echo '    -E <file>      log stderr to <file> (does not work with -D)'
 
21
    echo '                   Default is to collect output and print in after valgrind terminates'
16
22
    echo '    -D             run gdb on error'
 
23
    echo '    -e             return exitcode 1 on valgrind-errors'
17
24
    echo ''
18
25
    echo ''
19
26
    echo 'Usage: arb_valgrind update'
55
62
    LEAK_CHECK=''
56
63
    TOOL='--tool=memcheck'
57
64
    ATTACH=''
 
65
    QUIET=''
 
66
    LOG_STDOUT=''
 
67
    LOG_STDERR=''
 
68
    ERROR_EXITCODE=''
58
69
 
59
70
    if [ ! -f $LIST ] ; then
60
71
        UPDATE=1
67
78
 
68
79
        while [ $SCAN_ARGS = 1 ] ; do
69
80
            SCAN_ARGS=0
70
 
            if [ $1 = '-m' ] ; then
 
81
            if [ "$1" = "-m" ] ; then
71
82
                TOOL='--tool=massif'
72
83
                shift 1
73
84
                SCAN_ARGS=1
74
85
            fi
75
 
            if [ $1 = '-c' ] ; then
 
86
            if [ "$1" = "-c" ] ; then
76
87
                CALLERS=$2
77
88
                shift 2
78
89
                SCAN_ARGS=1
79
90
            fi
80
 
            if [ $1 = '-f' ] ; then
 
91
            if [ "$1" = "-f" ] ; then
81
92
                FILTER=$2
82
93
                shift 2
83
94
                SCAN_ARGS=1
84
95
            fi
85
 
            if [ $1 = '-l' ] ; then
86
 
                LEAK_CHECK="$LEAK_CHECK --leak-check=yes --leak-resolution=high"
 
96
            if [ "$1" = "-l" ] ; then
 
97
                LEAK_CHECK="$LEAK_CHECK --leak-check=yes"
 
98
                # LEAK_CHECK="$LEAK_CHECK --leak-resolution=high"
 
99
                LEAK_CHECK="$LEAK_CHECK --leak-resolution=med"
87
100
                shift 1
88
101
                SCAN_ARGS=1
89
102
            fi
90
 
            if [ $1 = '-r' ] ; then
 
103
            if [ "$1" = "-r" ] ; then
91
104
                LEAK_CHECK="$LEAK_CHECK --show-reachable=yes"
92
105
                shift 1
93
106
                SCAN_ARGS=1
94
107
            fi
95
 
            if [ $1 = '-A' ] ; then
 
108
            if [ "$1" = "-A" ] ; then
96
109
                SUPPX=''
97
110
                shift 1
98
111
                SCAN_ARGS=1
99
112
            fi
100
 
            if [ $1 = '-D' ] ; then
 
113
            if [ "$1" = "-q" ] ; then
 
114
                QUIET='--quiet'
 
115
                shift 1
 
116
                SCAN_ARGS=1
 
117
            fi
 
118
            if [ "$1" = "-D" ] ; then
101
119
                ATTACH='--db-attach=yes'
102
120
                shift 1
103
121
                SCAN_ARGS=1
104
122
            fi
 
123
            if [ "$1" = "-L" ] ; then
 
124
                LOG_STDOUT=$2
 
125
                shift 2
 
126
                SCAN_ARGS=1
 
127
            fi
 
128
            if [ "$1" = "-E" ] ; then
 
129
                LOG_STDERR=$2
 
130
                shift 2
 
131
                SCAN_ARGS=1
 
132
            fi
 
133
            if [ "$1" = "-e" ] ; then
 
134
                ERROR_EXITCODE='--error-exitcode=123'
 
135
                shift 1
 
136
                SCAN_ARGS=1
 
137
            fi
105
138
        done
106
139
    fi
107
140
 
 
141
 
108
142
    if [ "X$LEAK_CHECK" = "X" ] ; then
109
143
        LEAK_CHECK="--leak-check=no"
110
144
    fi
120
154
                > $LIST
121
155
        echo 'done.'
122
156
    fi
 
157
    EXITCODE=0
123
158
    if [ $RUN = 1 ] ; then
124
159
        echo "Running valgrind on '$*' ..."
125
160
        echo "CALLERS='$CALLERS'"
126
161
        echo "FILTER ='$FILTER'"
127
162
        VG_CALLERS=$[$CALLERS+5]
128
 
        COMMAND="valgrind $TOOL -v --error-limit=no --num-callers=$VG_CALLERS $SHOW_REACHABLE $LEAK_CHECK $ATTACH $*"
129
 
        echo "COMMAND='$COMMAND'"
 
163
        VG_OPTS=""
 
164
        VG_OPTS="$VG_OPTS --error-limit=yes"
 
165
        VG_OPTS="$VG_OPTS $ERROR_EXITCODE"
 
166
        # VG_OPTS="$VG_OPTS --track-origins=yes" # ulalala ... eats MUUUUCH memory 
 
167
        VG_OPTS="$VG_OPTS --track-fds=yes" # track filedescriptors open on exit
 
168
        VG_OPTS="$VG_OPTS --show-below-main=yes" # valgrind below main (e.g. in static initialization)
 
169
        VG_CMD="valgrind $QUIET $TOOL -v $VG_OPTS --num-callers=$VG_CALLERS $SHOW_REACHABLE $LEAK_CHECK $ATTACH"
 
170
        echo "VG_CMD='$VG_CMD $@'"
130
171
        if [ "$ATTACH" = "" ]; then
131
 
            $COMMAND 2>&1 >/tmp/arb_valgrind_$USER.stdout | $DIR/valgrind2grep $CALLERS "$FILTER" $SUPPX
 
172
            POSTDUMP_STDOUT=0
 
173
            POSTDUMP_STDERR=0
 
174
            if [ -z "$LOG_STDOUT" ]; then
 
175
                LOG_STDOUT=/tmp/arb_valgrind_$USER_$$.stdout
 
176
                POSTDUMP_STDOUT=1
 
177
            fi
 
178
            if [ -z "$LOG_STDERR" ]; then
 
179
                LOG_STDERR=/tmp/arb_valgrind_$USER_$$.stderr
 
180
                POSTDUMP_STDERR=1
 
181
            fi
 
182
            $VG_CMD --log-fd=3 "$@" 3>&1 >$LOG_STDOUT 2>$LOG_STDERR | $DIR/valgrind2grep $CALLERS "$FILTER" $SUPPX
 
183
            EXITCODE=${PIPESTATUS[0]}
 
184
 
 
185
            if [ "$POSTDUMP_STDOUT" = "1" ]; then
 
186
                echo "-------------------- [stdout of '$@' ]"
 
187
                cat $LOG_STDOUT
 
188
                rm $LOG_STDOUT
 
189
            fi
 
190
            if [ "$POSTDUMP_STDERR" = "1" ]; then
 
191
                echo "-------------------- [stderr of '$@' ]"
 
192
                cat $LOG_STDERR
 
193
                rm $LOG_STDERR
 
194
            fi
 
195
            if [ "$POSTDUMP_STDOUT" = "1" -o "$POSTDUMP_STDERR" = "1" ]; then
 
196
                echo "-------------------- [end of output]"
 
197
            fi
132
198
        else
133
 
            $COMMAND
 
199
            $VG_CMD "$@"
 
200
            EXITCODE=$?
134
201
        fi
135
 
        echo 'valgrind done.'
 
202
        echo "valgrind done (exitcode=$EXITCODE)"
136
203
    fi
 
204
    exit $EXITCODE
137
205
fi