From mboxrd@z Thu Jan 1 00:00:00 1970 From: aq Subject: Re: [PATCH] GrubConf improvements Date: Mon, 23 May 2005 10:11:47 +0900 Message-ID: <9cde8bff050522181144ec6ba2@mail.gmail.com> References: <9cde8bff05052218105f33e08@mail.gmail.com> Reply-To: aq Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_2890_3014562.1116810707781" Return-path: In-Reply-To: <9cde8bff05052218105f33e08@mail.gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel List-Id: xen-devel@lists.xenproject.org ------=_Part_2890_3014562.1116810707781 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline hello, sorry that in the last patch i forgot the attachment. here it is. On 5/23/05, aq wrote: > here is a patch of GrubConf.py (tools/pygrub/src/GrubConf.py), which prov= ides: >=20 > - support for menu color (would be used by pygrub) > - support for more grub directives > - fix a bug on checking length of sys.argv > - few cleanups >=20 > Signed-off-by: Nguyen Anh Quynh >=20 > $ diffstat GrubConf.patch > GrubConf.py | 93 +++++++++++++++++++++++++++++++++++++++++++++++------= ------- > 1 files changed, 73 insertions(+), 20 deletions(-) >=20 regards, aq ------=_Part_2890_3014562.1116810707781 Content-Type: application/octet-stream; name="GrubConf.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="GrubConf.patch" PT09PT0gdG9vbHMvcHlncnViL3NyYy9HcnViQ29uZi5weSAxLjIgdnMgZWRpdGVkID09PT09Ci0t LSAxLjIvdG9vbHMvcHlncnViL3NyYy9HcnViQ29uZi5weQkyMDA1LTA0LTI4IDIxOjI3OjQ2ICsw OTowMAorKysgZWRpdGVkL3Rvb2xzL3B5Z3J1Yi9zcmMvR3J1YkNvbmYucHkJMjAwNS0wNS0xOSAw MTozOTo1OCArMDk6MDAKQEAgLTEyLDggKzEyLDcgQEAKICMgRm91bmRhdGlvbiwgSW5jLiwgNjc1 IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCiAjCiAKLWltcG9ydCBvcywgc3lz Ci1pbXBvcnQgbG9nZ2luZworaW1wb3J0IG9zLCBzeXMsIGxvZ2dpbmcKIAogZGVmIGdydWJfc3Bs aXQocywgbWF4c3BsaXQgPSAtMSk6CiAgICAgIiIiU3BsaXQgYSBncnViIG9wdGlvbiBzY3JlZW4g c2VwYXJhdGVkIHdpdGggZWl0aGVyICc9JyBvciB3aGl0ZXNwYWNlLiIiIgpAQCAtMjcsNyArMjYs NyBAQAogICAgIGlmICh0YWIgIT0gLTEgYW5kIHRhYiA8IHNwKSBvciAodGFiICE9IC0xIGFuZCBz cCA9PSAtMSk6CiAgICAgICAgIHNwID0gdGFiCiAKLSAgICBpZiBlcSAhPSAtMSBhbmQgZXEgPCBz cCBvciAoZXEgIT0gLTEgYW5kIHNwID09IC0xKToKKyAgICBpZiAoZXEgPCBzcCkgb3IgKHNwID09 IC0xKToKICAgICAgICAgcmV0dXJuIHMuc3BsaXQoJz0nLCBtYXhzcGxpdCkKICAgICBlbHNlOgog ICAgICAgICByZXR1cm4gcy5zcGxpdChOb25lLCBtYXhzcGxpdCkKQEAgLTQyLDYgKzQxLDI5IEBA CiAgICAgZCA9IHNbOmlkeF0KICAgICByZXR1cm4gKEdydWJEaXNrUGFydChkKSwgc1tpZHggKyAx Ol0pCiAKK2RlZiBnZXRfY29sb3Iocyk6CisgICAgIiIiUmV0dXJucyBhIHR1cGxlIG9mICgoZmcs YmcpLCAoZmcsYmcpKSBjb3JyZXNwb25kaW5nIHRvIG1lbnUgYW5kIGl0ZW0gY29sb3IuIiIiCisg ICAgcy5zdHJpcCgpCisgICAgaWR4ID0gcy5maW5kKCcgJykKKyAgICBpZiBpZHggPT0gLTE6Cisg ICAgICAgIHJldHVybiBOb25lCisgICAgYyA9IHMuc3BsaXQoTm9uZSwgMSkKKyAgICBtZW51Y29s b3IgPSBjWzBdCisgICAgaWR4ID0gbWVudWNvbG9yLmZpbmQoJy8nKQorICAgIGlmIGlkeCA9PSAt MToKKyAgICAgICAgcmV0dXJuIE5vbmUKKyAgICBtZW51ZmcgPSBtZW51Y29sb3JbOmlkeF0KKyAg ICBtZW51YmcgPSBtZW51Y29sb3JbaWR4ICsgMTpdCisgICAgaWYgbGVuKGMpID09IDE6CisgICAg ICAgIHJldHVybiAoKG1lbnVmZywgbWVudWJnKSkKKyAgICBpdGVtY29sb3IgPSBjWzFdCisgICAg aWR4ID0gaXRlbWNvbG9yLmZpbmQoJy8nKQorICAgIGlmIGlkeCA9PSAtMToKKyAgICAgICAgcmV0 dXJuIE5vbmUKKyAgICBpdGVtZmcgPSBpdGVtY29sb3JbOmlkeF0KKyAgICBpdGVtYmcgPSBpdGVt Y29sb3JbaWR4ICsgMTpdCisgICAgcmV0dXJuICgobWVudWZnLCBtZW51YmcpLCAoaXRlbWZnLCBp dGVtYmcpKQorCiBjbGFzcyBHcnViRGlza1BhcnQob2JqZWN0KToKICAgICBkZWYgX19pbml0X18o c2VsZiwgc3RyKToKICAgICAgICAgaWYgc3RyLmZpbmQoJywnKSAhPSAtMToKQEAgLTU4LDI5ICs4 MCwzNyBAQAogCiAgICAgZGVmIGdldF9kaXNrKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5f ZGlzaworCiAgICAgZGVmIHNldF9kaXNrKHNlbGYsIHZhbCk6CiAgICAgICAgIHZhbCA9IHZhbC5y ZXBsYWNlKCIoIiwgIiIpLnJlcGxhY2UoIikiLCAiIikKICAgICAgICAgc2VsZi5fZGlzayA9IGlu dCh2YWxbMjpdKQorCiAgICAgZGlzayA9IHByb3BlcnR5KGdldF9kaXNrLCBzZXRfZGlzaykKIAog ICAgIGRlZiBnZXRfcGFydChzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX3BhcnQKKwogICAg IGRlZiBzZXRfcGFydChzZWxmLCB2YWwpOgogICAgICAgICBpZiB2YWwgaXMgTm9uZToKICAgICAg ICAgICAgIHNlbGYuX3BhcnQgPSB2YWwKICAgICAgICAgICAgIHJldHVybgogICAgICAgICB2YWwg PSB2YWwucmVwbGFjZSgiKCIsICIiKS5yZXBsYWNlKCIpIiwgIiIpCiAgICAgICAgIHNlbGYuX3Bh cnQgPSBpbnQodmFsKQorCiAgICAgcGFydCA9IHByb3BlcnR5KGdldF9wYXJ0LCBzZXRfcGFydCkK IAogY2xhc3MgR3J1YkltYWdlKG9iamVjdCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxpbmVz KToKICAgICAgICAgc2VsZi5fcm9vdCA9IHNlbGYuX2luaXRyZCA9IHNlbGYuX2tlcm5lbCA9IHNl bGYuX2FyZ3MgPSBOb25lCiAgICAgICAgIGZvciBsIGluIGxpbmVzOgotICAgICAgICAgICAgKGNv bSwgYXJnKSA9IGdydWJfc3BsaXQobCwgMSkKLQorICAgICAgICAgICAgdXAgPSBncnViX3NwbGl0 KGwsIDEpCisgICAgICAgICAgICBpZiBsZW4odXApID4xOgorICAgICAgICAgICAgICAgIChjb20s IGFyZykgPSB1cAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBjb20gPSB1cFsw XQorICAgICAgICAgICAgICAgIGFyZyA9IE5vbmUKICAgICAgICAgICAgIGlmIHNlbGYuY29tbWFu ZHMuaGFzX2tleShjb20pOgotICAgICAgICAgICAgICAgIGlmIHNlbGYuY29tbWFuZHNbY29tXSBp cyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBpZiBzZWxmLmNvbW1hbmRzW2NvbV0gaXMgbm90 IE5vbmUgYW5kIGFyZyBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICAgICAgZXhlYygiJXMg PSByXCIlc1wiIiAlKHNlbGYuY29tbWFuZHNbY29tXSwgYXJnLnN0cmlwKCkpKQogICAgICAgICAg ICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIGxvZ2dpbmcuaW5mbygiSWdub3JlZCBp bWFnZSBkaXJlY3RpdmUgJXMiICUoY29tLCkpCkBAIC05MiwxMyArMTIyLDE1IEBACiAgICAgICAg ICAgICAgICAgIiAgcm9vdDogJXNcbiIKICAgICAgICAgICAgICAgICAiICBrZXJuZWw6ICVzXG4i CiAgICAgICAgICAgICAgICAgIiAgYXJnczogJXNcbiIKLSAgICAgICAgICAgICAgICAiICBpbml0 cmQ6ICVzIiAlKHNlbGYudGl0bGUsIHNlbGYucm9vdCwgc2VsZi5rZXJuZWwsCisgICAgICAgICAg ICAgICAgIiAgaW5pdHJkOiAlc1xuIiAlKHNlbGYudGl0bGUsIHNlbGYucm9vdCwgc2VsZi5rZXJu ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXJncywgc2VsZi5p bml0cmQpKQogCiAgICAgZGVmIHNldF9yb290KHNlbGYsIHZhbCk6CiAgICAgICAgIHNlbGYuX3Jv b3QgPSBHcnViRGlza1BhcnQodmFsKQorCiAgICAgZGVmIGdldF9yb290KHNlbGYpOgogICAgICAg ICByZXR1cm4gc2VsZi5fcm9vdAorCiAgICAgcm9vdCA9IHByb3BlcnR5KGdldF9yb290LCBzZXRf cm9vdCkKIAogICAgIGRlZiBzZXRfa2VybmVsKHNlbGYsIHZhbCk6CkBAIC0xMDksMTcgKzE0MSwy MyBAQAogICAgICAgICAoa2VybmVsLCBhcmdzKSA9IHZhbC5zcGxpdChOb25lLCAxKQogICAgICAg ICBzZWxmLl9rZXJuZWwgPSBnZXRfcGF0aChrZXJuZWwpCiAgICAgICAgIHNlbGYuX2FyZ3MgPSBh cmdzCisKICAgICBkZWYgZ2V0X2tlcm5lbChzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX2tl cm5lbAorCisgICAga2VybmVsID0gcHJvcGVydHkoZ2V0X2tlcm5lbCwgc2V0X2tlcm5lbCkKKwog ICAgIGRlZiBnZXRfYXJncyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX2FyZ3MKLSAgICBr ZXJuZWwgPSBwcm9wZXJ0eShnZXRfa2VybmVsLCBzZXRfa2VybmVsKQorCiAgICAgYXJncyA9IHBy b3BlcnR5KGdldF9hcmdzKQogCiAgICAgZGVmIHNldF9pbml0cmQoc2VsZiwgdmFsKToKICAgICAg ICAgc2VsZi5faW5pdHJkID0gZ2V0X3BhdGgodmFsKQorCiAgICAgZGVmIGdldF9pbml0cmQoc2Vs Zik6CiAgICAgICAgIHJldHVybiBzZWxmLl9pbml0cmQKKwogICAgIGluaXRyZCA9IHByb3BlcnR5 KGdldF9pbml0cmQsIHNldF9pbml0cmQpCiAKICAgICAjIHNldCB1cCBjb21tYW5kIGhhbmRsZXJz CkBAIC0xMjksNyArMTY3LDExIEBACiAgICAgICAgICAgICAgICAgICJrZXJuZWwiOiAic2VsZi5r ZXJuZWwiLAogICAgICAgICAgICAgICAgICAiaW5pdHJkIjogInNlbGYuaW5pdHJkIiwKICAgICAg ICAgICAgICAgICAgImNoYWlubG9hZGVyIjogTm9uZSwKLSAgICAgICAgICAgICAgICAgIm1vZHVs ZSI6IE5vbmV9CisgICAgICAgICAgICAgICAgICJtb2R1bGUiOiBOb25lLAorICAgICAgICAgICAg ICAgICAiYm9vdCI6IE5vbmUsCisgICAgICAgICAgICAgICAgICJwYXVzZSI6IE5vbmUsCisgICAg ICAgICAgICAgICAgICJsb2NrIjogTm9uZSwKKyAgICAgICAgICAgICAgICAgInNhdmVkZWZhdWx0 IjogTm9uZSB9CiAgICAgICAgIAogCiBjbGFzcyBHcnViQ29uZmlnRmlsZShvYmplY3QpOgpAQCAt MTU1LDYgKzE5Nyw3IEBACiAgICAgICAgIGltZyA9IFtdCiAgICAgICAgIGZvciBsIGluIGxpbmVz OgogICAgICAgICAgICAgbCA9IGwuc3RyaXAoKQorICAgICAgICAgICAgbCA9IGwuc3RyaXAoJ1x4 MDAnKQogICAgICAgICAgICAgIyBza2lwIGJsYW5rIGxpbmVzCiAgICAgICAgICAgICBpZiBsZW4o bCkgPT0gMDoKICAgICAgICAgICAgICAgICBjb250aW51ZQpAQCAtMTcxLDcgKzIxNCw2IEBACiAg ICAgICAgICAgICBpZiBsZW4oaW1nKSA+IDA6CiAgICAgICAgICAgICAgICAgaW1nLmFwcGVuZChs KQogICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KICAgICAgICAgICAgIHRyeToKICAgICAgICAg ICAgICAgICAoY29tLCBhcmcpID0gZ3J1Yl9zcGxpdChsLCAxKQogICAgICAgICAgICAgZXhjZXB0 IFZhbHVlRXJyb3I6CkBAIC0xODUsNDUgKzIyNyw1NiBAQAogICAgICAgICAgICAgICAgICAgICBs b2dnaW5nLmluZm8oIklnbm9yZWQgZGlyZWN0aXZlICVzIiAlKGNvbSwpKQogICAgICAgICAgICAg ZWxzZToKICAgICAgICAgICAgICAgICBsb2dnaW5nLndhcm5pbmcoIlVua25vd24gZGlyZWN0aXZl ICVzIiAlKGNvbSwpKQotICAgICAgICAgICAgICAgIAogICAgICAgICBpZiBsZW4oaW1nKSA+IDA6 CiAgICAgICAgICAgICBzZWxmLmltYWdlcy5hcHBlbmQoR3J1YkltYWdlKGltZykpCiAKLSAgICBk ZWYgX2dldF9kZWZhdWx0KHNlbGYpOgorICAgIGRlZiBnZXRfZGVmYXVsdChzZWxmKToKICAgICAg ICAgcmV0dXJuIHNlbGYuX2RlZmF1bHQKLSAgICBkZWYgX3NldF9kZWZhdWx0KHNlbGYsIHZhbCk6 CisKKyAgICBkZWYgc2V0X2RlZmF1bHQoc2VsZiwgdmFsKToKICAgICAgICAgaWYgdmFsID09ICJz YXZlZCI6Ci0gICAgICAgICAgICBzZWxmLl9kZWZhdWx0ID0gLTEKKyAgICAgICAgICAgIHNlbGYu X2RlZmF1bHQgPSAwICAgIyB1c2UgdGhlIGZpcnN0IGl0ZW0gYXMgZGVmYXVsdCB2YWx1ZQogICAg ICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5fZGVmYXVsdCA9IGludCh2YWwpCiAKICAgICAg ICAgaWYgc2VsZi5fZGVmYXVsdCA8IDA6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yLCAi ZGVmYXVsdCBtdXN0IGJlIHBvc2l0aXZlIG51bWJlciIKLSAgICBkZWZhdWx0ID0gcHJvcGVydHko X2dldF9kZWZhdWx0LCBfc2V0X2RlZmF1bHQpCisKKyAgICBkZWZhdWx0ID0gcHJvcGVydHkoZ2V0 X2RlZmF1bHQsIHNldF9kZWZhdWx0KQogCiAgICAgZGVmIHNldF9zcGxhc2goc2VsZiwgdmFsKToK ICAgICAgICAgc2VsZi5fc3BsYXNoID0gZ2V0X3BhdGgodmFsKQorCiAgICAgZGVmIGdldF9zcGxh c2goc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9zcGxhc2gKKwogICAgIHNwbGFzaCA9IHBy b3BlcnR5KGdldF9zcGxhc2gsIHNldF9zcGxhc2gpCiAKKyAgICBkZWYgc2V0X2NvbG9yKHNlbGYs IHZhbCk6CisgICAgICAgIHNlbGYuX2NvbG9yID0gZ2V0X2NvbG9yKHZhbCkKKworICAgIGRlZiBn ZXRfY29sb3Ioc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9jb2xvcgorCisgICAgY29sb3Ig PSBwcm9wZXJ0eShnZXRfY29sb3IsIHNldF9jb2xvcikKKwogICAgICMgc2V0IHVwIGNvbW1hbmQg aGFuZGxlcnMKICAgICBjb21tYW5kcyA9IHsgImRlZmF1bHQiOiAic2VsZi5kZWZhdWx0IiwKICAg ICAgICAgICAgICAgICAgInRpbWVvdXQiOiAic2VsZi50aW1lb3V0IiwKICAgICAgICAgICAgICAg ICAgImZhbGxiYWNrIjogInNlbGYuZmFsbGJhY2siLAogICAgICAgICAgICAgICAgICAiaGlkZGVu bWVudSI6ICJzZWxmLmhpZGRlbm1lbnUiLAogICAgICAgICAgICAgICAgICAic3BsYXNoaW1hZ2Ui OiAic2VsZi5zcGxhc2giLAorICAgICAgICAgICAgICAgICAiY29sb3IiOiAic2VsZi5jb2xvciIs CiAgICAgICAgICAgICAgICAgICJwYXNzd29yZCI6ICJzZWxmLnBhc3N3b3JkIiB9Ci0gICAgZm9y IGMgaW4gKCJib290cCIsICJjb2xvciIsICJkZXZpY2UiLCAiZGhjcCIsICJoaWRlIiwgImlmY29u ZmlnIiwKKyAgICBmb3IgYyBpbiAoImJvb3RwIiwgImRldmljZSIsICJkaGNwIiwgImhpZGUiLCAi aWZjb25maWciLAogICAgICAgICAgICAgICAicGFnZXIiLCAicGFydG5ldyIsICJwYXJ0dHlwZSIs ICJyYXJwIiwgInNlcmlhbCIsCiAgICAgICAgICAgICAgICJzZXRrZXkiLCAidGVybWluYWwiLCAi dGVybWluZm8iLCAidGZ0cHNlcnZlciIsICJ1bmhpZGUiKToKICAgICAgICAgY29tbWFuZHNbY10g PSBOb25lCi0gICAgZGVsIGMKIAogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIGlm IHN5cy5hcmd2IDwgMjoKLSAgICAgICAgcmFpc2UgUnVudGltZUVycm9yLCAiTmVlZCBhIGdydWIu Y29uZiB0byByZWFkIgorICAgIGlmIGxlbihzeXMuYXJndikgPCAyOgorICAgICAgICByYWlzZSBS dW50aW1lRXJyb3IsICJOZWVkIGEgZ3J1YiBjb25maWd1cmF0aW9uIGZpbGUgdG8gcmVhZCIKICAg ICBnID0gR3J1YkNvbmZpZ0ZpbGUoc3lzLmFyZ3ZbMV0pCiAgICAgZm9yIGkgaW4gZy5pbWFnZXM6 Ci0gICAgICAgIHByaW50IGkgIywgaS50aXRsZSwgaS5yb290LCBpLmtlcm5lbCwgaS5hcmdzLCBp LmluaXRyZAorICAgICAgICBwcmludCBpCg== ------=_Part_2890_3014562.1116810707781 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel ------=_Part_2890_3014562.1116810707781--