diff options
author | Rob Austein <sra@hactrn.net> | 2019-02-11 06:22:01 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2019-02-11 06:22:01 +0000 |
commit | 6f526cc4567cb551feb4cae121f9a067d491f711 (patch) | |
tree | 33b9dcf972e138cc09760ce2a6b303c6b4f46af5 /stage2/installer | |
parent | 71861b6ea54738950ac5c8e83e78bbd1215a11ed (diff) |
XiLinx installation sorta kinda mostly working.
Wow what a kludge.
Probably still some license manager antics, but I think that's
separate from installation, licensing is per user.
Diffstat (limited to 'stage2/installer')
-rwxr-xr-x | stage2/installer | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/stage2/installer b/stage2/installer new file mode 100755 index 0000000..0853c9c --- /dev/null +++ b/stage2/installer @@ -0,0 +1,69 @@ +#!/usr/bin/env python + +import subprocess, os, time, xvfbwrapper, itertools + +def run(*args, **kwargs): + return subprocess.Popen(args, **kwargs) + +def xte(*cmds): + subprocess.check_call(("xte",) + cmds) + +def xwininfo(): + print(subprocess.check_output(("xwininfo", "-root", "-tree"))) + +def ratpoison(*args): + cmd = ["ratpoison"] + cmd.extend(itertools.chain.from_iterable(("-c", a) for a in args)) + return subprocess.check_output(cmd) + +def main(): + with xvfbwrapper.Xvfb(fbdir = "/framebuf"): + print("DISPLAY={}".format(os.getenv("DISPLAY"))) + rat = run("ratpoison") + time.sleep(1) + + if False: + run("xsetroot", "-gray").wait() + run("xsetroot", "-cursor_name", "left_ptr", "-fg", "yellow", "-bg", "yellow").wait() + time.sleep(1) + xwininfo() + + xsetup = run("./xsetup", cwd = "/xilinx-unpack/Xilinx_ISE_DS_Lin_14.7_1015_1") + time.sleep(1) + xwininfo() + snooze = lambda: time.sleep(15) + + print("First screen") + snooze() + ratpoison("ratwarp 650 610", "ratclick") + + print("Second screen") + snooze() + ratpoison("ratwarp 250 420", "ratclick", + "ratwarp 250 444", "ratclick", + "ratwarp 650 610", "ratclick") + + print("Third screen") + snooze() + ratpoison("ratwarp 600 560", "ratclick", + "ratwarp 650 610", "ratclick") + + print("Fourth screen") + snooze() + ratpoison("ratwarp 300 100", "ratclick", + "ratwarp 650 610", "ratclick") + + for ith in ("Fifth", "Sixth", "Seventh"): + print(ith + " screen") + snooze() + ratpoison("ratclick") + + print("Waiting a few minutes, ^C if you get bored") + time.sleep(1800) + + # Need to do awful visgrep thing here to find the finish button. + # When we do find it: + #ratpoison("ratwarp 720 610", "ratclick", "quit") + +if __name__ == "__main__": + main() |