diff options
Diffstat (limited to 'stage2/installer')
-rwxr-xr-x | stage2/installer | 57 |
1 files changed, 27 insertions, 30 deletions
diff --git a/stage2/installer b/stage2/installer index 0853c9c..b3bb5ba 100755 --- a/stage2/installer +++ b/stage2/installer @@ -5,65 +5,62 @@ 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) + return subprocess.check_output(("ratpoison",) + tuple(itertools.chain.from_iterable(("-c", a) for a in args))) + +def snooze(how_long = 15): + time.sleep(how_long) 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() + print("Starting rodent-free window manager") + rat = run("ratpoison") + snooze() + print("Starting XiLinx installer") 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() + print("First screen") ratpoison("ratwarp 650 610", "ratclick") - print("Second screen") snooze() + print("Second screen") ratpoison("ratwarp 250 420", "ratclick", "ratwarp 250 444", "ratclick", "ratwarp 650 610", "ratclick") - print("Third screen") snooze() + print("Third screen") ratpoison("ratwarp 600 560", "ratclick", "ratwarp 650 610", "ratclick") - print("Fourth screen") snooze() + print("Fourth screen") ratpoison("ratwarp 300 100", "ratclick", "ratwarp 650 610", "ratclick") - + for ith in ("Fifth", "Sixth", "Seventh"): - print(ith + " screen") snooze() + print(ith + " screen") ratpoison("ratclick") - print("Waiting a few minutes, ^C if you get bored") - time.sleep(1800) + print("Waiting half an hour for XiLinx installer to run, ^C if you get bored") + snooze(1800) + + # In theory we could use visgrep to check for the "finish" button. + # In practice ... this is such a kludge, what's one more, let's just + # try blindly clicking where the finish button should be and see + # if that results in a usable image. + + print("Blindly clicking where finish button should be, then shutting down") + ratpoison("ratwarp 720 610", "ratclick", + "quit") - # Need to do awful visgrep thing here to find the finish button. - # When we do find it: - #ratpoison("ratwarp 720 610", "ratclick", "quit") + print("xsetup exited with status {}".format(xsetup.wait())) + print("ratpoison exited with status {}".format(rat.wait())) if __name__ == "__main__": main() |