Menu

[r3]: / sbin / Sync  Maximize  Restore  History

Download this file

143 lines (113 with data), 3.1 kB

#!/bin/sh
#\
exec cct tclsh "$0" "$@"

##
## -----------------------------------------------------------------
##

set argi 0
proc ArgGet { { err 0 } } {
    global argv argi
    if { $argi >= [ llength $argv ]} {
        if { $err } {
            puts stderr "not enought arguments"
            usage
        }
        return -code break
    }
    set RET [ lindex $argv $argi ]
    incr argi
    return $RET
}

if {[ file exists CVS ]} {
    puts stderr "ERROR: found CVS"
    exit 1
}

proc Error {Str} {
    global argv0
    puts stderr "ERROR([ file tail $argv0 ]) $Str"
    exit 1
}

proc Exec {args} {
    puts "$args"
    if {[ catch {eval exec $args <@stdin >@stdout 2>@stderr} FH ]} {
        Error $FH
    }
}

proc usage {} {
    global argv0 TIME
    puts stderr ""
    puts stderr "[ file tail $argv0 ]: \[ user option's \] \[glob\] ... "
    puts stderr ""
    puts stderr " user options:"
    puts stderr ""
    puts stderr "   --LinCgi   sync LinCgi dist"
    puts stderr "   --CgiKey   sync CgiKey package"
    puts stderr "   --Poll     sync Poll package"
    puts stderr ""
    exit 0
}

set ARGS    {}
set PKEY    {}
set HKEY    {}
set TYP	    {}
set TIME    [ clock format [ expr {[clock seconds] + 100000} ] ]

## parse the command-line
while 1 {
    set a [ ArgGet ]
    switch -exact -- $a {
	--LinCgi	{ set TYP LinCgi }
	--CgiKey	{ set TYP CgiKey }
	--Poll		{ set TYP Poll   }
        default { 
            if {[ string index $a 0 ] == "-"} usage
            lappend ARGS $a 
        }
    }
}

##
## ---------------------------------------------------------------
##

proc LinCgi {} {

    set LOGIN	www1011
    set	HOST	www1011@tclcompiler.sourceforge.net

    ## 1. make DL

if 0 {
    puts "delete LinCgi.tar.gz"
    catch { file delete -force /tmp/LinCgi.tar.gz } ERR

    puts "make LinCgi.tar.gz"
    Exec tar --directory /home/dev1usr/html/comp-fact/var/Dist -czvf /tmp/LinCgi.tar.gz LinCgi.CVS

    puts "cp LinCgi.tar.gz"
    Exec scp /tmp/LinCgi.tar.gz $LOGIN@$HOST:bin
}
    puts "install LinCgi.tar.gz" 
    Exec ssh -l $LOGIN $HOST "cd bin;tar -xzvf LinCgi.tar.gz;cd LinCgi.CVS;./install.sh;rm ../LinCgi.tar.gz"
}

proc _update { N D } {

    set LOGIN	www1011
    set	HOST	www1011@tclcompiler.sourceforge.net

    set	NAME	$N.tar.gz
    set	TMP	/tmp/$NAME

    ## 1. make DL

if 1 {
    puts "delete $TMP"
    catch { file delete -force $TMP } ERR

    puts "make $TMP"
    Exec tar --directory $D/$N.CVS --dereference -czvf $TMP $N.tpkg

    puts "cp $TMP"
    Exec scp $TMP $LOGIN@$HOST:bin
}
    puts "install $NAME" 
    Exec ssh -l $LOGIN $HOST "cd bin;tar -xzvf $NAME;LinCgi.CVS/cct -t $N pkg --upd; rm -fr $NAME $N.tpkg"
}

proc CgiKey {} {
    _update CgiKey /home/dev1usr/Project/Compiler3/example
}

proc Poll {} {
    _update Poll /home/dev1usr/Project/Compiler3/example
}

##
## ---------------------------------------------------------------
##

if {$TYP == {}}		    { Error {please provide a type [--LinCgi|--CgiKey|--Poll]} }
#if {[ llength $ARGS ] != 1} { Error {need *only* one arg} }

$TYP


Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.