File: arb_save

package info (click to toggle)
arb 6.0.6-8
  • links: PTS, VCS
  • area: non-free
  • in suites: sid, trixie
  • size: 66,204 kB
  • sloc: ansic: 394,911; cpp: 250,290; makefile: 19,644; sh: 15,879; perl: 10,473; fortran: 6,019; ruby: 683; xml: 503; python: 53; awk: 32
file content (52 lines) | stat: -rwxr-xr-x 1,262 bytes parent folder | download | duplicates (6)
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
#!/bin/bash

NAME=`date '+arbsrc_%Y_%m_%d__%H_%M.tgz'`

dump_revision() {
    (./SOURCE_TOOLS/build_info.pl 1>&2) && \
      grep ARB_SVN_REVISION ./TEMPLATES/svn_revision.h | \
      perl -ne 'if (/ARB_SVN_REVISION\s+\"(.*)\"/) { $_=$1; s/:/_/; print $_; }'
}

REVISION=`dump_revision`
REVISION_DIR=arbsrc_$REVISION
echo REVISION_DIR=$REVISION_DIR


rm_noerr() {
    test -f $1 && rm -f $1 
}
cleanup() {
    # rm_noerr arbsrc.lst
    rm_noerr arbsrc.lst.tmp
    test -L $REVISION_DIR && rm $REVISION_DIR
    true
}

gen_list() {
    util/arb_srclst.pl $* > arbsrc.lst.tmp || \
        ( \
        echo "Failed to build arbsrc.lst" ; \
        if [ "$*" != "ignore" ] ; then \
        echo "To ignore this error save manually using 'make save2' (only works in SVN checkout)"; \
        fi; \
        false \
        )
}
sort_list() {
    sort < arbsrc.lst.tmp | perl -pne "s/^\./.\/$REVISION_DIR/g;" > arbsrc.lst
}
gen_tarball() {
    ln -s . $REVISION_DIR && \
    tar -zcf $NAME --files-from=arbsrc.lst && \
        ( rm -f arbsrc.tgz ; \
        ln -s $NAME arbsrc.tgz ; \
        true )
}

save() {
    gen_list $* && sort_list && gen_tarball
}

(save $* && cleanup && (ls -alG -rt arbsrc*;true)) || \
(cleanup;echo "Failed to create source tarball";false)