[Yhc] Yhc autumn cleaning

Dimitry Golubovsky golubovsky at gmail.com
Wed Nov 7 10:36:10 EST 2007


Hi,

One side note to the cleaning process:

Once I have added a piece of code to the toplevel Sconstruct which
helps push changes from within a firewall by running ssh that forwards
the connection.

==============================

elif "push" in COMMAND_LINE_TARGETS:
    fw = ARGUMENTS.get("fw", "")
    if fw == "":
        os.system("darcs push --no-set-default
neil at darcs.haskell.org:/home/darcs/yhc")
        os.system("darcs push --no-set-default
neil at darcs.haskell.org:/home/darcs/york-compiler98
--repodir=src/compiler")
    else:
        print "Pushing via firewall - you may be asked for passwords
multiple times"
        os.system("export SSH_PORT=2222;" + \
                  "ssh -L $SSH_PORT:darcs.haskell.org:22 -f " + fw + "
sleep 1000;" + \
                  "darcs push --no-set-default
neil at localhost:/home/darcs/yhc;" + \
                  "darcs push --no-set-default
neil at localhost:/home/darcs/york-compiler98 --repodir=src/compiler")
    env.Alias("push", [])


==============================

so one can run "scons push fw=hostname" and get around a firewall.

I'd like that this logic be kept in the new build system, whatever it
will be, so what would be the best place to plug it in? With scons,
that was just an additional `if ' statement that analyzes the command
line.

Also, eventually there will come time to integrate the Javascript
backend into the new build system: what can be recommended for this?

Currently there is a Makefile within the backend, so in order to build
and install it, one just runs this (from the top source directory):

(cd src/translator/js; make all install)

after Yhc itself has been built and installed.

Thanks

-- 
Dimitry Golubovsky

Anywhere on the Web


More information about the Yhc mailing list