#!/bin/sh  
# \
exec oagtclsh "$0" "$@"

set auto_path [linsert $auto_path 0  /usr/local/oag/apps/lib/$env(HOST_ARCH)]
set auto_path [linsert $auto_path 0 /usr/local/oag/lib_patch/$env(HOST_ARCH)]

proc CheckoutSDDS {args} {
    global env
    set env(CVSROOT) /net/phoebus/epicsmgr/cvsroot
    exec rm -rf /tmp/oagsoftware
    exec rm -rf /tmp/oagsoftware.tar
    exec mkdir /tmp/oagsoftware
    cd /tmp/oagsoftware
    
    if {[catch {exec cvs -Q checkout -P epics/extensions/configure} results]} {
        puts stderr "error: $results"
        exit
    }
    exec mkdir -p /tmp/oagsoftware/epics/extensions/src
    cd /tmp/oagsoftware/epics/extensions/src
    if {[catch {exec svn -q checkout https://svn.aps.anl.gov/AOP/SDDS/trunk SDDS} results]} {
        puts stderr "error: $results"
        exit
    }
    if {[catch {exec svn -q checkout https://svn.aps.anl.gov/AOP/oagca/trunk oagca} results]} {
        puts stderr "error: $results"
        exit
    }
    if {[catch {exec svn -q checkout https://svn.aps.anl.gov/AOP/SDDSepics/trunk SDDSepics} results]} {
        puts stderr "error: $results"
        exit
    }
    
    cd /tmp/oagsoftware/epics/extensions/configure
    
    exec echo EPICS_BASE=/home/soliday/epics/base >> RELEASE
    exec echo CROSS_COMPILER_TARGET_ARCHS = >> CONFIG
    exec echo SHARED_LIBRARIES=NO >> CONFIG
    
}

proc CheckoutOAG {args} {
    global env
    cd /tmp/oagsoftware
    
    if {[catch {exec svn -q checkout https://svn.aps.anl.gov/AOP/oag/trunk oag --depth immediates} results]} {
        puts stderr "error: $results"
        exit
    }
    if {[catch {exec svn -q checkout https://svn.aps.anl.gov/AOP/oag/trunk/apps oag/apps --depth immediates} results]} {
        puts stderr "error: $results"
        exit
    }
    if {[catch {exec svn -q checkout https://svn.aps.anl.gov/AOP/oag/trunk/apps/configure oag/apps/configure --depth infinity} results]} {
        puts stderr "error: $results"
        exit
    }
    if {[catch {exec svn -q checkout https://svn.aps.anl.gov/AOP/oag/trunk/apps/config oag/apps/config --depth infinity} results]} {
        puts stderr "error: $results"
        exit
    }
    if {[catch {exec svn -q checkout https://svn.aps.anl.gov/AOP/oag/trunk/apps/src oag/apps/src --depth immediates} results]} {
        puts stderr "error: $results"
        exit
    }
    
    cd /tmp/oagsoftware/oag/apps/src

    if {[catch {exec svn -q update --set-depth exclude elegantTestSet} results]} {
        puts stderr "error: $results"
        exit
    }
    if {[catch {eval exec svn -q update --set-depth infinity [glob *]} results]} {
        puts stderr "error: $results"
        exit
    }
    exec rm -rf /tmp/oagsoftware/oag/apps/src/tcltkinterp/distributions
   
    cd /tmp/oagsoftware/oag/apps/configure
    
    exec echo EPICS_BASE=/home/soliday/epics/base >> RELEASE
    exec echo CROSS_COMPILER_TARGET_ARCHS = >> CONFIG
    exec echo SHARED_LIBRARIES=NO >> CONFIG
    
}

proc GetModificationTimes {args} {
    cd /usr/local/oag/apps/bin/linux-x86_64
    set files [glob *]
    
    foreach f $files {
        set f1 /usr/local/oag/apps/bin/linux-x86_64/$f
        set t1 [file mtime $f1]
        set modTimes($f1) $t1
    }

    cd /usr/local/oag/apps/lib/linux-x86_64
    set files [glob *]
    foreach f $files {
        set f2 /usr/local/oag/apps/lib/linux-x86_64/$f
        set t2 [file mtime $f2]
        set modTimes($f2) $t2
    }
    cd /tmp/oagsoftware
    set fid [open modTimes.txt "w"]
    puts $fid [array get modTimes]
    close $fid
}

proc TarAndCopySoftware {args} {
    cd /tmp
    
    exec tar -cf oagsoftware.tar oagsoftware
    exec scp -C oagsoftware.tar soliday@weed:oagsoftware.tar
#    exec scp -C -c blowfish oagsoftware.tar soliday@apex:/tmp/oagsoftware.tar
}
proc CleanUpFiles {args} {
    cd /tmp
    exec rm -rf /tmp/oagsoftware
    exec rm -rf /tmp/oagsoftware.tar
}

CheckoutSDDS
CheckoutOAG
GetModificationTimes
TarAndCopySoftware
CleanUpFiles
