# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1206542507 0
# Node ID 145eff6c96fcdd43279cd77dded9b3112f1a3517
# Parent 2c48ed7e303d9b9d35465a5347617ae54642a149
pygrub: cleanup and support for NetBSD
Signed-off-by: Christoph Egger <Christoph.Egger@xxxxxxx>
---
tools/pygrub/src/pygrub | 15 ++++++++-------
tools/python/xen/xend/XendBootloader.py | 12 ++++++------
2 files changed, 14 insertions(+), 13 deletions(-)
diff -r 2c48ed7e303d -r 145eff6c96fc tools/pygrub/src/pygrub
--- a/tools/pygrub/src/pygrub Wed Mar 26 14:40:54 2008 +0000
+++ b/tools/pygrub/src/pygrub Wed Mar 26 14:41:47 2008 +0000
@@ -240,10 +240,10 @@ class Grub:
if y > self.start_image + maxy:
break
if y == self.selected_image:
- attr = curses.A_REVERSE
- else:
- attr = 0
- self.entry_win.addstr(y + 1 - self.start_image, 2,
i.title.ljust(70), attr)
+ self.entry_win.attron(curses.A_REVERSE)
+ self.entry_win.addstr(y + 1 - self.start_image, 2,
i.title.ljust(70))
+ if y == self.selected_image:
+ self.entry_win.attroff(curses.A_REVERSE)
self.entry_win.refresh()
def edit_entry(self, origimg):
@@ -269,16 +269,17 @@ class Grub:
self.entry_win.box()
for idx in range(1, len(img.lines)):
# current line should be highlighted
- attr = 0
if idx == curline:
- attr = curses.A_REVERSE
+ self.entry_win.attron(curses.A_REVERSE)
# trim the line
l = img.lines[idx].ljust(70)
if len(l) > 70:
l = l[:69] + ">"
- self.entry_win.addstr(idx, 2, l, attr)
+ self.entry_win.addstr(idx, 2, l)
+ if idx == curline:
+ self.entry_win.attroff(curses.A_REVERSE)
self.entry_win.refresh()
c = self.screen.getch()
diff -r 2c48ed7e303d -r 145eff6c96fc tools/python/xen/xend/XendBootloader.py
--- a/tools/python/xen/xend/XendBootloader.py Wed Mar 26 14:40:54 2008 +0000
+++ b/tools/python/xen/xend/XendBootloader.py Wed Mar 26 14:41:47 2008 +0000
@@ -12,7 +12,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
-import os, select, errno, stat, signal
+import os, select, errno, stat, signal, tty
import random
import shlex
from xen.xend import sxp
@@ -43,6 +43,9 @@ def bootloader(blexec, disk, dom, quiet
log.error(msg)
raise VmError(msg)
+ if os.uname()[0] == "NetBSD" and disk.startswith('/dev/'):
+ disk = disk.replace("/dev/", "/dev/r")
+
mkdir.parents("/var/run/xend/boot/", stat.S_IRWXU)
while True:
@@ -63,12 +66,9 @@ def bootloader(blexec, disk, dom, quiet
# where we copy characters between the two master fds, as well as
# listening on the bootloader's fifo for the results.
- # Termios runes for very raw access to the pty master fds.
- attr = [ 0, 0, termios.CS8 | termios.CREAD | termios.CLOCAL,
- 0, 0, 0, [0] * 32 ]
-
(m1, s1) = pty.openpty()
termios.tcsetattr(m1, termios.TCSANOW, attr)
+ tty.setraw(m1);
fcntl.fcntl(m1, fcntl.F_SETFL, os.O_NDELAY);
os.close(s1)
slavename = ptsname.ptsname(m1)
@@ -109,7 +109,7 @@ def bootloader(blexec, disk, dom, quiet
# record that this domain is bootloading
dom.bootloader_pid = child
- termios.tcsetattr(m2, termios.TCSANOW, attr)
+ tty.setraw(m2);
fcntl.fcntl(m2, fcntl.F_SETFL, os.O_NDELAY);
while True:
try:
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|