From mboxrd@z Thu Jan 1 00:00:00 1970 From: aq Subject: [PATCH] xen-booloader: pygrub improvement & bug fix Date: Fri, 29 Apr 2005 12:56:53 +0900 Message-ID: <9cde8bff050428205660478f38@mail.gmail.com> Reply-To: aq Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_12_20812826.1114747013754" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Jeremy Katz , "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org ------=_Part_12_20812826.1114747013754 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline hello, here is a patch to improve and fix few bugs in pygrub of xen-booloader.=20 1) If you already patched my last 2 patches on top of last Jeremy's patch, then go on to apply pygrub.aq.patch. # diffstat pygrub.aq.patch=20 pygrub | 53 +++++++++++++++++++++++++++-------------------------- 1 files changed, 27 insertions(+), 26 deletions(-) 2) If you havent applied any patches on top of last Jeremy's patch, the take pygrub.aq2.patch instead (this patch includes fix on /boot/grub/menu.lst problem). # diffstat pygrub.aq2.patch=20 pygrub | 63 ++++++++++++++++++++++++++++++++++++------------------------= --- 1 files changed, 36 insertions(+), 27 deletions(-) List of changes: - temporarily remove usage of use_default_colors(), since python 2.3 doesnt support this method. - allow user to press 'q' to quit pygrub - corretly handle timeout feature - fix bug on fill_entries (incorrect check & display menu items) - incorrect check on boot entry (idx variable) - remove abundant checking on disk image - deinitialize curses before quitting. - fix few typos Signed-off-by: Nguyen Anh Quynh ------=_Part_12_20812826.1114747013754 Content-Type: application/octet-stream; name="pygrub.aq.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pygrub.aq.patch" LS0tIHB5Z3J1Yi5vcmcvc3JjL3B5Z3J1YgkyMDA1LTA0LTI5IDAwOjA3OjMxLjAwMDAwMDAwMCAr MDkwMAorKysgcHlncnViL3NyYy9weWdydWIJMjAwNS0wNC0yOSAxMjozNjoxOC45MzcwMjgwMDAg KzA5MDAKQEAgLTE2LDcgKzE2LDcgQEAKIGltcG9ydCBvcywgc3lzLCBzdHJpbmcsIHN0cnVjdCwg dGVtcGZpbGUKIGltcG9ydCBsb2dnaW5nCiAKLWltcG9ydCBjdXJzZXMsIF9jdXJzZXMsIGN1cnNl cy53cmFwcGVyCitpbXBvcnQgY3Vyc2VzLCBjdXJzZXMud3JhcHBlcgogaW1wb3J0IGdldG9wdAog CiBzeXMucGF0aCA9IFsgJy91c3IvbGliL3B5dGhvbicgXSArIHN5cy5wYXRoCkBAIC0yOSw3ICsy OSw3IEBAIFBZR1JVQl9WRVIgPSAwLjAyCiAKIGRlZiBkcmF3X3dpbmRvdygpOgogICAgIHN0ZHNj ciA9IGN1cnNlcy5pbml0c2NyKCkKLSAgICBjdXJzZXMudXNlX2RlZmF1bHRfY29sb3JzKCkKKyAg ICAjIGN1cnNlcy51c2VfZGVmYXVsdF9jb2xvcnMoKQogICAgIHRyeToKICAgICAgICAgY3Vyc2Vz LmN1cnNfc2V0KDApCiAgICAgZXhjZXB0IF9jdXJzZXMuZXJyb3I6CkBAIC00NSw2ICs0NSw3IEBA IGRlZiBkcmF3X3dpbmRvdygpOgogICAgIHN0ZHNjci5hZGRzdHIoMTMsIDUsICJQcmVzcyBlbnRl ciB0byBib290IHRoZSBzZWxlY3RlZCBPUy4gJ2UnIHRvIGVkaXQgdGhlIikKICAgICBzdGRzY3Iu YWRkc3RyKDE0LCA1LCAiY29tbWFuZHMgYmVmb3JlIGJvb3RpbmcsICdhJyB0byBtb2RpZnkgdGhl IGtlcm5lbCBhcmd1bWVudHMgIikKICAgICBzdGRzY3IuYWRkc3RyKDE1LCA1LCAiYmVmb3JlIGJv b3RpbmcsIG9yICdjJyBmb3IgYSBjb21tYW5kIGxpbmUuIikKKyAgICBzdGRzY3IuYWRkc3RyKDE2 LCA1LCAiUHJlc3MgJ3EnIHRvIHF1aXQuIikKICAgICBzdGRzY3IuYWRkY2goMTIsIDEzLCBjdXJz ZXMuQUNTX1VBUlJPVykKICAgICBzdGRzY3IuYWRkY2goMTIsIDE5LCBjdXJzZXMuQUNTX0RBUlJP VykKICAgICAoeSwgeCkgPSBzdGRzY3IuZ2V0bWF4eXgoKQpAQCAtNTcsMTMgKzU4LDEzIEBAIGRl ZiBmaWxsX2VudHJpZXMod2luLCBjZmcsIHNlbGVjdGVkKToKICAgICB5ID0gMAogCiAgICAgZm9y IGkgaW4gY2ZnLmltYWdlczoKLSAgICAgICAgaWYgKDAsIHkpID4gd2luLmdldG1heHl4KCk6Cisg ICAgICAgIGlmIHkgPiB3aW4uZ2V0bWF4eXgoKVswXToKICAgICAgICAgICAgIGJyZWFrCiAgICAg ICAgIGlmIHkgPT0gc2VsZWN0ZWQ6CiAgICAgICAgICAgICBhdHRyID0gY3Vyc2VzLkFfUkVWRVJT RQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgYXR0ciA9IDAKLSAgICAgICAgd2luLmFkZHN0 cih5ICsgMSwgMiwgaS50aXRsZS5sanVzdCg3MCksIGF0dHIpCisgICAgICAgIHdpbi5hZGRzdHIo eSArIDEsIDIsIGkudGl0bGUubGp1c3QoNzApWzo3MF0sIGF0dHIpCiAgICAgICAgIHkgKz0gMQog ICAgIHdpbi5yZWZyZXNoKCkKIApAQCAtNzcsNyArNzgsNyBAQCBkZWYgaXNfZGlza19pbWFnZShm aWxlKToKICAgICBidWYgPSBvcy5yZWFkKGZkLCA1MTIpCiAgICAgb3MuY2xvc2UoZmQpCiAKLSAg ICBpZiBsZW4oYnVmKSA+PSA1MTIgYW5kIHN0cnVjdC51bnBhY2soIkgiLCBidWZbMHgxZmU6IDB4 MjAwXSkgPT0gKDB4YWFmZik6CisgICAgaWYgbGVuKGJ1ZikgPT0gNTEyIGFuZCBzdHJ1Y3QudW5w YWNrKCJIIiwgYnVmWzB4MWZlOiAweDIwMF0pID09ICgweGFhZmYpOgogICAgICAgICByZXR1cm4g VHJ1ZQogICAgIHJldHVybiBGYWxzZQogCkBAIC04OCw3ICs4OSw3IEBAIGRlZiBnZXRfY29uZmln KGZuKToKICAgICBjZiA9IGdydWIuR3J1YkNvbmYuR3J1YkNvbmZpZ0ZpbGUoKQogCiAgICAgaWYg aXNfZGlza19pbWFnZShmbik6Ci0gICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvciwgImFwcGVhcnMg dG8gYmUgYSBmdWxsIGRpc2sgaW1hZ2UuLi4gdW5hYmxlIHRvIGhhbmRsZSB0aGlzIHlldCIKKyAg ICAgICAgcmFpc2UgUnVudGltZUVycm9yLCAiQXBwZWFycyB0byBiZSBhIGZ1bGwgZGlzayBpbWFn ZS4uLiB1bmFibGUgdG8gaGFuZGxlIHRoaXMgeWV0IgogCiAgICAgIyBvcGVuIHRoZSBpbWFnZSBh bmQgcmVhZCB0aGUgZ3J1YiBjb25maWcKICAgICBmcyA9IE5vbmUKQEAgLTEwMyw3ICsxMDQsNyBA QCBkZWYgZ2V0X2NvbmZpZyhmbik6CiAgICAgICAgIGVsaWYgZnMuZmlsZV9leGlzdCgiL2Jvb3Qv Z3J1Yi9ncnViLmNvbmYiKToKICAgICAgICAgICAgIGdydWJmaWxlID0gIi9ib290L2dydWIvZ3J1 Yi5jb25mIgogICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yLCAi d2UgY291bGRuJ3QgZmluZCAvYm9vdC9ncnVie21lbnUubHN0LGdydWIuY29uZn0gIiArIFwKKyAg ICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvciwgIldlIGNvdWxkbid0IGZpbmQgL2Jvb3QvZ3J1 Yi97bWVudS5sc3QsZ3J1Yi5jb25mfSAiICsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiaW4gdGhlIGltYWdlIHByb3ZpZGVkLiBoYWx0ISIKICAgICAgICAgZiA9IGZzLm9wZW5f ZmlsZShncnViZmlsZSkKICAgICAgICAgYnVmID0gZi5yZWFkKCkKQEAgLTE0OSwxMSArMTUwLDEy IEBAIGRlZiBtYWluKGNmID0gTm9uZSk6CiAgICAgICAgICAgICAKICAgICAgICAgZmlsbF9lbnRy aWVzKHdpbiwgY2YsIHNlbGVjdGVkKQogICAgICAgICBjID0gc3Rkc2NyLmdldGNoKCkKLSAgICAg ICAgaWYgbXl0aW1lICE9IC0xOgotICAgICAgICAgICAgbXl0aW1lICs9IDEKLSMgICAgICAgIGlm IGMgPT0gb3JkKCdxJyk6Ci0jICAgICAgICAgICAgc2VsZWN0ZWQgPSAtMQotIyAgICAgICAgICAg IGJyZWFrCisgICAgICAgIGlmIChjID09IC0xKToKKyAgICAgICAgICAgIGlmIG15dGltZSAhPSAt MToKKyAgICAgICAgICAgICAgICBteXRpbWUgKz0gMQorICAgICAgICBpZiBjID09IG9yZCgncScp OgorICAgICAgICAgICBzZWxlY3RlZCA9IC0xCisgICAgICAgICAgIGJyZWFrCiAgICAgICAgIGVs aWYgYyA9PSBvcmQoJ2MnKToKICAgICAgICAgICAgICMgRklYTUU6IG5lZWRzIHRvIGdvIHRvIGNv bW1hbmQgbGluZSBtb2RlCiAgICAgICAgICAgICBjb250aW51ZQpAQCAtMTgwLDE0ICsxODIsMTQg QEAgZGVmIG1haW4oY2YgPSBOb25lKToKICAgICAgICAgZWxpZiBzZWxlY3RlZCA+PSBsZW4oY2Yu aW1hZ2VzKToKICAgICAgICAgICAgIHNlbGVjdGVkID0gbGVuKGNmLmltYWdlcykgLSAxCiAKLSAg ICBpZiBzZWxlY3RlZCA+PSAwOgotICAgICAgICByZXR1cm4gc2VsZWN0ZWQKKyAgICByZXR1cm4g c2VsZWN0ZWQKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICBzZWwgPSBOb25lCiAg ICAgCiAgICAgZGVmIHJ1bl9tYWluKHNjciwgKmFyZ3MpOgogICAgICAgICBnbG9iYWwgc2VsCisg ICAgICAgIGdsb2JhbCBjZgogICAgICAgICBzZWwgPSBtYWluKGNmKQogCiAgICAgZGVmIHVzYWdl KCk6CkBAIC0yMjksMTMgKzIzMSwxNiBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAg IGNmID0gZ2V0X2NvbmZpZyhmaWxlKQogICAgIGlmIGludGVyYWN0aXZlOgogICAgICAgICBjdXJz ZXMud3JhcHBlcihydW5fbWFpbikKKyAgICAgICAgaWYgc2VsID09IC0xOiAgICMgdXNlciBoYXMg Y2hvc2VuIHRvIHF1aXQKKyAgICAgICAgICAgIGN1cnNlcy5lbmR3aW4oKQorICAgICAgICAgICAg c3lzLmV4aXQoMSkKICAgICBlbHNlOgogICAgICAgICBzZWwgPSBjZi5kZWZhdWx0CiAKICAgICAj IHNldCB0aGUgZW50cnkgdG8gYm9vdCBhcyByZXF1ZXN0ZWQKICAgICBpZiBlbnRyeSBpcyBub3Qg Tm9uZToKICAgICAgICAgaWR4ID0gZ2V0X2VudHJ5X2lkeChjZiwgZW50cnkpCi0gICAgICAgIGlm IGlkeCBpcyBub3QgTm9uZSBhbmQgaWR4ID4gMCBhbmQgaWR4IDwgbGVuKGNmLmltYWdlcyk6Cisg ICAgICAgIGlmIGlkeCBpcyBub3QgTm9uZSBhbmQgaWR4ID49IDAgYW5kIGlkeCA8IGxlbihjZi5p bWFnZXMpOgogICAgICAgICAgICAgc2VsID0gaWR4CiAKICAgICBpbWcgPSBjZi5pbWFnZXNbc2Vs XQpAQCAtMjQ0LDM1ICsyNDksMzEgQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICBp ZiBpbWcuaW5pdHJkOgogICAgICAgICBwcmludCAiICBpbml0cmQ6ICVzIiAlKGltZy5pbml0cmRb MV0sKQogCi0gICAgaWYgaXNfZGlza19pbWFnZShmaWxlKToKLSAgICAgICAgcmFpc2UgUnVudGlt ZUVycm9yLCAidW5hYmxlIHRvIGhhbmRsZSBmdWxsIGRpc2sgaW1hZ2VzIHlldCIKLQogICAgICMg cmVhZCB0aGUga2VybmVsIGFuZCBpbml0cmQgb250byB0aGUgaG9zdGZzCiAgICAgZnMgPSBOb25l CiAgICAgZm9yIGZzdHlwZSBpbiBncnViLmZzeXMuZnN0eXBlcy52YWx1ZXMoKToKICAgICAgICAg aWYgZnN0eXBlLnNuaWZmX21hZ2ljKGZpbGUpOgogICAgICAgICAgICAgZnMgPSBmc3R5cGUub3Bl bl9mcyhmaWxlKQogICAgICAgICAgICAgYnJlYWsKLQotICAgIGlmIGZzIGlzIE5vbmU6Ci0gICAg ICAgIHJhaXNlIFJ1bnRpbWVFcnJvciwgIlVuYWJsZSB0byBvcGVuIGZpbGVzeXN0ZW0iCisgICAg ZWxzZToKKyAgICAgICAgcmFpc2UgUnVudGltZUVycm9yLCAiVW5hYmxlIHRvIG9wZW4gZmlsZXN5 c3RlbSBvciBmaWxlc3lzdGVtIG5vdCBzdXBwb3J0ZWQiCiAKICAgICBrZXJuZWwgPSBmcy5vcGVu X2ZpbGUoaW1nLmtlcm5lbFsxXSwpLnJlYWQoKQogICAgICh0ZmQsIGZuKSA9IHRlbXBmaWxlLm1r c3RlbXAocHJlZml4PSJ2bWxpbnV6LiIpCiAgICAgb3Mud3JpdGUodGZkLCBrZXJuZWwpCiAgICAg b3MuY2xvc2UodGZkKQotICAgIHN4cCA9ICJsaW51eCAoa2VybmVsICVzKSIgJShmbiwpCisgICAg c3hwID0gImxpbnV4IChrZXJuZWwgJXMpICIgJShmbiwpCiAKICAgICBpZiBpbWcuaW5pdHJkOgog ICAgICAgICBpbml0cmQgPSBmcy5vcGVuX2ZpbGUoaW1nLmluaXRyZFsxXSwpLnJlYWQoKQogICAg ICAgICAodGZkLCBmbikgPSB0ZW1wZmlsZS5ta3N0ZW1wKHByZWZpeD0iaW5pdHJkLiIpCiAgICAg ICAgIG9zLndyaXRlKHRmZCwgaW5pdHJkKQogICAgICAgICBvcy5jbG9zZSh0ZmQpCi0gICAgICAg IHN4cCArPSAiKHJhbWRpc2sgJXMpIiAlKGZuLCkKLSAgICBlbHNlOgotICAgICAgICBpbml0cmQg PSBOb25lCi0gICAgc3hwICs9ICIoYXJncyAnJXMnKSIgJShpbWcuYXJncywpCisgICAgICAgIHN4 cCArPSAiKHJhbWRpc2sgJXMpICIgJShmbiwpCisKKyAgICBzeHAgKz0gIihhcmdzICclcycpXG4i ICUoaW1nLmFyZ3MsKQogCiAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCiAgICAgb3Mud3JpdGUoZmQs IHN4cCkKICAgICAKKyAgICBjdXJzZXMuZW5kd2luKCkK ------=_Part_12_20812826.1114747013754 Content-Type: application/octet-stream; name="pygrub.aq2.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pygrub.aq2.patch" LS0tIHVuc3RhYmxlLjI3LjMub3JnL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnViCTIwMDUtMDQtMjcg MTc6NTM6MDUuMDAwMDAwMDAwICswOTAwCisrKyB1bnN0YWJsZS4yNy4zL3Rvb2xzL3B5Z3J1Yi9z cmMvcHlncnViCTIwMDUtMDQtMjkgMTI6MzY6MTguOTM3MDI4MDAwICswOTAwCkBAIC0xNiw5ICsx NiwxMSBAQAogaW1wb3J0IG9zLCBzeXMsIHN0cmluZywgc3RydWN0LCB0ZW1wZmlsZQogaW1wb3J0 IGxvZ2dpbmcKIAotaW1wb3J0IGN1cnNlcywgX2N1cnNlcywgY3Vyc2VzLndyYXBwZXIKK2ltcG9y dCBjdXJzZXMsIGN1cnNlcy53cmFwcGVyCiBpbXBvcnQgZ2V0b3B0CiAKK3N5cy5wYXRoID0gWyAn L3Vzci9saWIvcHl0aG9uJyBdICsgc3lzLnBhdGgKKwogaW1wb3J0IGdydWIuR3J1YkNvbmYKIGlt cG9ydCBncnViLmZzeXMKIApAQCAtMjcsNyArMjksNyBAQCBQWUdSVUJfVkVSID0gMC4wMgogCiBk ZWYgZHJhd193aW5kb3coKToKICAgICBzdGRzY3IgPSBjdXJzZXMuaW5pdHNjcigpCi0gICAgY3Vy c2VzLnVzZV9kZWZhdWx0X2NvbG9ycygpCisgICAgIyBjdXJzZXMudXNlX2RlZmF1bHRfY29sb3Jz KCkKICAgICB0cnk6CiAgICAgICAgIGN1cnNlcy5jdXJzX3NldCgwKQogICAgIGV4Y2VwdCBfY3Vy c2VzLmVycm9yOgpAQCAtNDMsNiArNDUsNyBAQCBkZWYgZHJhd193aW5kb3coKToKICAgICBzdGRz Y3IuYWRkc3RyKDEzLCA1LCAiUHJlc3MgZW50ZXIgdG8gYm9vdCB0aGUgc2VsZWN0ZWQgT1MuICdl JyB0byBlZGl0IHRoZSIpCiAgICAgc3Rkc2NyLmFkZHN0cigxNCwgNSwgImNvbW1hbmRzIGJlZm9y ZSBib290aW5nLCAnYScgdG8gbW9kaWZ5IHRoZSBrZXJuZWwgYXJndW1lbnRzICIpCiAgICAgc3Rk c2NyLmFkZHN0cigxNSwgNSwgImJlZm9yZSBib290aW5nLCBvciAnYycgZm9yIGEgY29tbWFuZCBs aW5lLiIpCisgICAgc3Rkc2NyLmFkZHN0cigxNiwgNSwgIlByZXNzICdxJyB0byBxdWl0LiIpCiAg ICAgc3Rkc2NyLmFkZGNoKDEyLCAxMywgY3Vyc2VzLkFDU19VQVJST1cpCiAgICAgc3Rkc2NyLmFk ZGNoKDEyLCAxOSwgY3Vyc2VzLkFDU19EQVJST1cpCiAgICAgKHksIHgpID0gc3Rkc2NyLmdldG1h eHl4KCkKQEAgLTU1LDEzICs1OCwxMyBAQCBkZWYgZmlsbF9lbnRyaWVzKHdpbiwgY2ZnLCBzZWxl Y3RlZCk6CiAgICAgeSA9IDAKIAogICAgIGZvciBpIGluIGNmZy5pbWFnZXM6Ci0gICAgICAgIGlm ICgwLCB5KSA+IHdpbi5nZXRtYXh5eCgpOgorICAgICAgICBpZiB5ID4gd2luLmdldG1heHl4KClb MF06CiAgICAgICAgICAgICBicmVhawogICAgICAgICBpZiB5ID09IHNlbGVjdGVkOgogICAgICAg ICAgICAgYXR0ciA9IGN1cnNlcy5BX1JFVkVSU0UKICAgICAgICAgZWxzZToKICAgICAgICAgICAg IGF0dHIgPSAwCi0gICAgICAgIHdpbi5hZGRzdHIoeSArIDEsIDIsIGkudGl0bGUubGp1c3QoNzAp LCBhdHRyKQorICAgICAgICB3aW4uYWRkc3RyKHkgKyAxLCAyLCBpLnRpdGxlLmxqdXN0KDcwKVs6 NzBdLCBhdHRyKQogICAgICAgICB5ICs9IDEKICAgICB3aW4ucmVmcmVzaCgpCiAKQEAgLTc1LDEw ICs3OCw5IEBAIGRlZiBpc19kaXNrX2ltYWdlKGZpbGUpOgogICAgIGJ1ZiA9IG9zLnJlYWQoZmQs IDUxMikKICAgICBvcy5jbG9zZShmZCkKIAotICAgIGlmIGxlbihidWYpID49IDUxMiBhbmQgc3Ry dWN0LnVucGFjaygiSCIsIGJ1ZlsweDFmZTogMHgyMDBdKSA9PSAoMHhhYWZmKToKKyAgICBpZiBs ZW4oYnVmKSA9PSA1MTIgYW5kIHN0cnVjdC51bnBhY2soIkgiLCBidWZbMHgxZmU6IDB4MjAwXSkg PT0gKDB4YWFmZik6CiAgICAgICAgIHJldHVybiBUcnVlCiAgICAgcmV0dXJuIEZhbHNlCi0gICAg CiAKIGRlZiBnZXRfY29uZmlnKGZuKToKICAgICBpZiBub3Qgb3MuYWNjZXNzKGZuLCBvcy5SX09L KToKQEAgLTg3LDcgKzg5LDcgQEAgZGVmIGdldF9jb25maWcoZm4pOgogICAgIGNmID0gZ3J1Yi5H cnViQ29uZi5HcnViQ29uZmlnRmlsZSgpCiAKICAgICBpZiBpc19kaXNrX2ltYWdlKGZuKToKLSAg ICAgICAgcmFpc2UgUnVudGltZUVycm9yLCAiYXBwZWFycyB0byBiZSBhIGZ1bGwgZGlzayBpbWFn ZS4uLiB1bmFibGUgdG8gaGFuZGxlIHRoaXMgeWV0IgorICAgICAgICByYWlzZSBSdW50aW1lRXJy b3IsICJBcHBlYXJzIHRvIGJlIGEgZnVsbCBkaXNrIGltYWdlLi4uIHVuYWJsZSB0byBoYW5kbGUg dGhpcyB5ZXQiCiAKICAgICAjIG9wZW4gdGhlIGltYWdlIGFuZCByZWFkIHRoZSBncnViIGNvbmZp ZwogICAgIGZzID0gTm9uZQpAQCAtOTcsNyArOTksMTQgQEAgZGVmIGdldF9jb25maWcoZm4pOgog ICAgICAgICAgICAgYnJlYWsKIAogICAgIGlmIGZzIGlzIG5vdCBOb25lOgotICAgICAgICBmID0g ZnMub3Blbl9maWxlKCIvYm9vdC9ncnViL2dydWIuY29uZiIpCisgICAgICAgIGlmIGZzLmZpbGVf ZXhpc3QoIi9ib290L2dydWIvbWVudS5sc3QiKToKKyAgICAgICAgICAgIGdydWJmaWxlID0gIi9i b290L2dydWIvbWVudS5sc3QiCisgICAgICAgIGVsaWYgZnMuZmlsZV9leGlzdCgiL2Jvb3QvZ3J1 Yi9ncnViLmNvbmYiKToKKyAgICAgICAgICAgIGdydWJmaWxlID0gIi9ib290L2dydWIvZ3J1Yi5j b25mIgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yLCAiV2Ug Y291bGRuJ3QgZmluZCAvYm9vdC9ncnViL3ttZW51LmxzdCxncnViLmNvbmZ9ICIgKyBcCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbiB0aGUgaW1hZ2UgcHJvdmlkZWQuIGhhbHQh IgorICAgICAgICBmID0gZnMub3Blbl9maWxlKGdydWJmaWxlKQogICAgICAgICBidWYgPSBmLnJl YWQoKQogICAgICAgICBmLmNsb3NlKCkKICAgICAgICAgZnMuY2xvc2UoKQpAQCAtMTQxLDExICsx NTAsMTIgQEAgZGVmIG1haW4oY2YgPSBOb25lKToKICAgICAgICAgICAgIAogICAgICAgICBmaWxs X2VudHJpZXMod2luLCBjZiwgc2VsZWN0ZWQpCiAgICAgICAgIGMgPSBzdGRzY3IuZ2V0Y2goKQot ICAgICAgICBpZiBteXRpbWUgIT0gLTE6Ci0gICAgICAgICAgICBteXRpbWUgKz0gMQotIyAgICAg ICAgaWYgYyA9PSBvcmQoJ3EnKToKLSMgICAgICAgICAgICBzZWxlY3RlZCA9IC0xCi0jICAgICAg ICAgICAgYnJlYWsKKyAgICAgICAgaWYgKGMgPT0gLTEpOgorICAgICAgICAgICAgaWYgbXl0aW1l ICE9IC0xOgorICAgICAgICAgICAgICAgIG15dGltZSArPSAxCisgICAgICAgIGlmIGMgPT0gb3Jk KCdxJyk6CisgICAgICAgICAgIHNlbGVjdGVkID0gLTEKKyAgICAgICAgICAgYnJlYWsKICAgICAg ICAgZWxpZiBjID09IG9yZCgnYycpOgogICAgICAgICAgICAgIyBGSVhNRTogbmVlZHMgdG8gZ28g dG8gY29tbWFuZCBsaW5lIG1vZGUKICAgICAgICAgICAgIGNvbnRpbnVlCkBAIC0xNzIsMTQgKzE4 MiwxNCBAQCBkZWYgbWFpbihjZiA9IE5vbmUpOgogICAgICAgICBlbGlmIHNlbGVjdGVkID49IGxl bihjZi5pbWFnZXMpOgogICAgICAgICAgICAgc2VsZWN0ZWQgPSBsZW4oY2YuaW1hZ2VzKSAtIDEK IAotICAgIGlmIHNlbGVjdGVkID49IDA6Ci0gICAgICAgIHJldHVybiBzZWxlY3RlZAorICAgIHJl dHVybiBzZWxlY3RlZAogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIHNlbCA9IE5v bmUKICAgICAKICAgICBkZWYgcnVuX21haW4oc2NyLCAqYXJncyk6CiAgICAgICAgIGdsb2JhbCBz ZWwKKyAgICAgICAgZ2xvYmFsIGNmCiAgICAgICAgIHNlbCA9IG1haW4oY2YpCiAKICAgICBkZWYg dXNhZ2UoKToKQEAgLTIyMSwxMyArMjMxLDE2IEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6 CiAgICAgY2YgPSBnZXRfY29uZmlnKGZpbGUpCiAgICAgaWYgaW50ZXJhY3RpdmU6CiAgICAgICAg IGN1cnNlcy53cmFwcGVyKHJ1bl9tYWluKQorICAgICAgICBpZiBzZWwgPT0gLTE6ICAgIyB1c2Vy IGhhcyBjaG9zZW4gdG8gcXVpdAorICAgICAgICAgICAgY3Vyc2VzLmVuZHdpbigpCisgICAgICAg ICAgICBzeXMuZXhpdCgxKQogICAgIGVsc2U6CiAgICAgICAgIHNlbCA9IGNmLmRlZmF1bHQKIAog ICAgICMgc2V0IHRoZSBlbnRyeSB0byBib290IGFzIHJlcXVlc3RlZAogICAgIGlmIGVudHJ5IGlz IG5vdCBOb25lOgogICAgICAgICBpZHggPSBnZXRfZW50cnlfaWR4KGNmLCBlbnRyeSkKLSAgICAg ICAgaWYgaWR4IGlzIG5vdCBOb25lIGFuZCBpZHggPiAwIGFuZCBpZHggPCBsZW4oY2YuaW1hZ2Vz KToKKyAgICAgICAgaWYgaWR4IGlzIG5vdCBOb25lIGFuZCBpZHggPj0gMCBhbmQgaWR4IDwgbGVu KGNmLmltYWdlcyk6CiAgICAgICAgICAgICBzZWwgPSBpZHgKIAogICAgIGltZyA9IGNmLmltYWdl c1tzZWxdCkBAIC0yMzYsMzUgKzI0OSwzMSBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgog ICAgIGlmIGltZy5pbml0cmQ6CiAgICAgICAgIHByaW50ICIgIGluaXRyZDogJXMiICUoaW1nLmlu aXRyZFsxXSwpCiAKLSAgICBpZiBpc19kaXNrX2ltYWdlKGZpbGUpOgotICAgICAgICByYWlzZSBS dW50aW1lRXJyb3IsICJ1bmFibGUgdG8gaGFuZGxlIGZ1bGwgZGlzayBpbWFnZXMgeWV0IgotCiAg ICAgIyByZWFkIHRoZSBrZXJuZWwgYW5kIGluaXRyZCBvbnRvIHRoZSBob3N0ZnMKICAgICBmcyA9 IE5vbmUKICAgICBmb3IgZnN0eXBlIGluIGdydWIuZnN5cy5mc3R5cGVzLnZhbHVlcygpOgogICAg ICAgICBpZiBmc3R5cGUuc25pZmZfbWFnaWMoZmlsZSk6CiAgICAgICAgICAgICBmcyA9IGZzdHlw ZS5vcGVuX2ZzKGZpbGUpCiAgICAgICAgICAgICBicmVhawotCi0gICAgaWYgZnMgaXMgTm9uZToK LSAgICAgICAgcmFpc2UgUnVudGltZUVycm9yLCAiVW5hYmxlIHRvIG9wZW4gZmlsZXN5c3RlbSIK KyAgICBlbHNlOgorICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IsICJVbmFibGUgdG8gb3BlbiBm aWxlc3lzdGVtIG9yIGZpbGVzeXN0ZW0gbm90IHN1cHBvcnRlZCIKIAogICAgIGtlcm5lbCA9IGZz Lm9wZW5fZmlsZShpbWcua2VybmVsWzFdLCkucmVhZCgpCiAgICAgKHRmZCwgZm4pID0gdGVtcGZp bGUubWtzdGVtcChwcmVmaXg9InZtbGludXouIikKICAgICBvcy53cml0ZSh0ZmQsIGtlcm5lbCkK ICAgICBvcy5jbG9zZSh0ZmQpCi0gICAgc3hwID0gImxpbnV4IChrZXJuZWwgJXMpIiAlKGZuLCkK KyAgICBzeHAgPSAibGludXggKGtlcm5lbCAlcykgIiAlKGZuLCkKIAogICAgIGlmIGltZy5pbml0 cmQ6CiAgICAgICAgIGluaXRyZCA9IGZzLm9wZW5fZmlsZShpbWcuaW5pdHJkWzFdLCkucmVhZCgp CiAgICAgICAgICh0ZmQsIGZuKSA9IHRlbXBmaWxlLm1rc3RlbXAocHJlZml4PSJpbml0cmQuIikK ICAgICAgICAgb3Mud3JpdGUodGZkLCBpbml0cmQpCiAgICAgICAgIG9zLmNsb3NlKHRmZCkKLSAg ICAgICAgc3hwICs9ICIocmFtZGlzayAlcykiICUoZm4sKQotICAgIGVsc2U6Ci0gICAgICAgIGlu aXRyZCA9IE5vbmUKLSAgICBzeHAgKz0gIihhcmdzICclcycpIiAlKGltZy5hcmdzLCkKKyAgICAg ICAgc3hwICs9ICIocmFtZGlzayAlcykgIiAlKGZuLCkKKworICAgIHN4cCArPSAiKGFyZ3MgJyVz JylcbiIgJShpbWcuYXJncywpCiAKICAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKICAgICBvcy53cml0 ZShmZCwgc3hwKQogICAgIAorICAgIGN1cnNlcy5lbmR3aW4oKQo= ------=_Part_12_20812826.1114747013754 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_12_20812826.1114747013754--