From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1LQutz-0007KN-BW for mharc-grub-devel@gnu.org; Sat, 24 Jan 2009 21:39:11 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LQutx-0007I0-HS for grub-devel@gnu.org; Sat, 24 Jan 2009 21:39:09 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LQutv-0007Fc-TT for grub-devel@gnu.org; Sat, 24 Jan 2009 21:39:09 -0500 Received: from [199.232.76.173] (port=32786 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LQutv-0007F9-OJ for grub-devel@gnu.org; Sat, 24 Jan 2009 21:39:07 -0500 Received: from ey-out-1920.google.com ([74.125.78.145]:21323) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LQutu-0006Fk-Vf for grub-devel@gnu.org; Sat, 24 Jan 2009 21:39:07 -0500 Received: by ey-out-1920.google.com with SMTP id 4so670596eyg.24 for ; Sat, 24 Jan 2009 18:39:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:content-type :date:message-id:mime-version:x-mailer; bh=5MxcVW5iWPPxngLqchAHei3YX0We7X3FZqMerTL9x/I=; b=OFTd1a0s7du6IerN8dGmJP1ZX8RHEiboMt569B4SUe745CVo8gWFTSan9Qz1FQSOhz DO/yF6fVsAerW7K0nZ6dtDC6adTSOy0mzgS1lxCoO/cr4E2NON6kDtZb/ZMsJV+zgF3C ohrAIMbkOXBwTNfn0WAe+ZsosQ3W1hkjYi51I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:content-type:date:message-id:mime-version:x-mailer; b=pESM4Blp7T7EASjjpeJ9UTY8vrdNkDik3EOU5ZzJHflj5jAjKJEeyxKKr84EV6nKV0 8T9boDLn1hJmPZH5X4HZ13mYDA0tJX/jQ9oHDm/LmWup5BGSIzKmVrgqJzHhle1JAnY+ r+8PpyvbiqqyHsZ/NKVcZaurXWDPFO0AWvOXA= Received: by 10.67.95.1 with SMTP id x1mr646208ugl.17.1232851144905; Sat, 24 Jan 2009 18:39:04 -0800 (PST) Received: from ?192.168.1.102? (213.37.137.93.dyn.user.ono.com [213.37.137.93]) by mx.google.com with ESMTPS id x26sm2154380ugc.9.2009.01.24.18.39.02 (version=SSLv3 cipher=RC4-MD5); Sat, 24 Jan 2009 18:39:04 -0800 (PST) From: Javier =?ISO-8859-1?Q?Mart=EDn?= To: The development of GRUB 2 Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-ht56Oud4DaQx0FHs5taQ" Date: Sun, 25 Jan 2009 03:39:03 +0100 Message-Id: <1232851143.23773.13.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.24.2 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) Subject: [PATCH] Build system improvement X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jan 2009 02:39:10 -0000 --=-ht56Oud4DaQx0FHs5taQ Content-Type: multipart/mixed; boundary="=-SQVpXtNRTA7YexrNXrDx" --=-SQVpXtNRTA7YexrNXrDx Content-Type: text/plain Content-Transfer-Encoding: quoted-printable This patch modifies several files in the build system (mainly common.rmk and genmk.rb) to reduce the general verbosity of the build process to a manageable, semi-informative level. Thus, what currently appears as "gcc" calls, several lines long each is turned into lines like: [M xfs.mod] COMPILE ../src/fs/xfs.c -> xfs_mod-fs_xfs.o = =20 [M xfs.mod] LINK xfs_mod-fs_xfs.o -> pre-xfs.o = =20 [M xfs.mod] Looking for EXPORTED SYMBOL definitions: pre-xfs.o And so on. The change also makes warning-hunting marginally easier, though not by much since the patch intentionally shows a line for nearly every process that did so previously. This behavior could be simplified further if needed - this post is more of an RFC than anything else. Also, it is by no means thorough or complete - only the most common processes have been addressed - as I'm a bit busy with exams. The patch makes the new behavior the default one, so a new make-time option is added: V (for "verbose"), which must have the value 1 in order to get the behavior, as in "make V=3D1" --=-SQVpXtNRTA7YexrNXrDx Content-Disposition: attachment; filename="build_system.diff" Content-Type: text/x-patch; name="build_system.diff"; charset="UTF-8" Content-Transfer-Encoding: base64 SW5kZXg6IE1ha2VmaWxlLmluDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTWFrZWZpbGUuaW4JKHJldmlzacOz bjogMTk1NCkNCisrKyBNYWtlZmlsZS5pbgkoY29waWEgZGUgdHJhYmFqbykNCkBAIC0xMzgsMTgg KzEzOCwzMCBAQA0KIENMRUFORklMRVMgKz0gJChwa2dsaWJfREFUQSkgJChwa2dkYXRhX0RBVEEp DQogcGtnbGliX0RBVEEgKz0gbW9kZGVwLmxzdCBjb21tYW5kLmxzdCBmcy5sc3QgcGFydG1hcC5s c3QNCiBtb2RkZXAubHN0OiAkKERFRlNZTUZJTEVTKSAkKFVORFNZTUZJTEVTKSBnZW5tb2RkZXAu YXdrDQotCWNhdCAkKERFRlNZTUZJTEVTKSAvZGV2L251bGwgXA0KK2lmbmVxICgkKFYpLDEpDQor CUBlY2hvIFtMIG1vZGRlcC5sc3RdIEJ1aWxkaW5nIE1PRFVMRSBERVBFTkRFTkNJRVMgbGlzdA0K K2VuZGlmDQorCSQoU0lMRU5UKWNhdCAkKERFRlNZTUZJTEVTKSAvZGV2L251bGwgXA0KIAkgIHwg JChBV0spIC1mICQoc3JjZGlyKS9nZW5tb2RkZXAuYXdrICQoVU5EU1lNRklMRVMpID4gJEAgXA0K IAkgIHx8IChybSAtZiAkQDsgZXhpdCAxKQ0KIA0KIGNvbW1hbmQubHN0OiAkKENPTU1BTkRGSUxF UykNCi0JY2F0ICReIC9kZXYvbnVsbCB8IHNvcnQgPiAkQA0KK2lmbmVxICgkKFYpLDEpDQorCUBl Y2hvIFtMIGNvbW1hbmQubHN0XSBCdWlsZGluZyBDT01NQU5EIGxpc3QNCitlbmRpZg0KKwkkKFNJ TEVOVCljYXQgJF4gL2Rldi9udWxsIHwgc29ydCA+ICRADQogDQogZnMubHN0OiAkKEZTRklMRVMp DQotCWNhdCAkXiAvZGV2L251bGwgfCBzb3J0ID4gJEANCitpZm5lcSAoJChWKSwxKQ0KKwlAZWNo byBbTCBmcy5sc3RdIEJ1aWxkaW5nIEZJTEVTWVNURU0gbGlzdA0KK2VuZGlmDQorCSQoU0lMRU5U KWNhdCAkXiAvZGV2L251bGwgfCBzb3J0ID4gJEANCiANCiBwYXJ0bWFwLmxzdDogJChQQVJUTUFQ RklMRVMpDQotCWNhdCAkXiAvZGV2L251bGwgfCBzb3J0ID4gJEANCitpZm5lcSAoJChWKSwxKQ0K KwlAZWNobyBbTCBwYXJ0bWFwLmxzdF0gQnVpbGRpbmcgUEFSVE1BUCBsaXN0DQorZW5kaWYNCisJ JChTSUxFTlQpY2F0ICReIC9kZXYvbnVsbCB8IHNvcnQgPiAkQA0KIA0KIGlmZXEgKCwgJChVTklG T05UX0JERikpDQogZWxzZQ0KSW5kZXg6IGNvbmYvY29tbW9uLnJtaw0KPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0t IGNvbmYvY29tbW9uLnJtawkocmV2aXNpw7NuOiAxOTU0KQ0KKysrIGNvbmYvY29tbW9uLnJtawko Y29waWEgZGUgdHJhYmFqbykNCkBAIC0xLDUgKzEsOSBAQA0KICMgLSotIG1ha2VmaWxlIC0qLQ0K IA0KK2lmbmVxICgkKFYpLDEpDQorU0lMRU5UID0gQA0KK2VuZGlmDQorDQogIyBGb3IgZ3J1Yi1t a2VsZmltYWdlLg0KIGJpbl9VVElMSVRJRVMgKz0gZ3J1Yi1ta2VsZmltYWdlDQogZ3J1Yl9ta2Vs ZmltYWdlX1NPVVJDRVMgPSB1dGlsL2VsZi9ncnViLW1raW1hZ2UuYyB1dGlsL21pc2MuYyBcDQpA QCAtMTI1LDI2ICsxMjksMjcgQEANCiANCiAjIEZvciBncnViLW1rY29uZmlnDQogZ3J1Yi1ta2Nv bmZpZzogdXRpbC9ncnViLW1rY29uZmlnLmluIGNvbmZpZy5zdGF0dXMNCi0JLi9jb25maWcuc3Rh dHVzIC0tZmlsZT0kQDokPA0KLQljaG1vZCAreCAkQA0KKwkkKFNJTEVOVCkuL2NvbmZpZy5zdGF0 dXMgLS1maWxlPSRAOiQ8DQorCSQoU0lMRU5UKWNobW9kICt4ICRADQogc2Jpbl9TQ1JJUFRTICs9 IGdydWItbWtjb25maWcNCiBDTEVBTkZJTEVTICs9IGdydWItbWtjb25maWcNCiANCiBncnViLW1r Y29uZmlnX2xpYjogdXRpbC9ncnViLW1rY29uZmlnX2xpYi5pbiBjb25maWcuc3RhdHVzDQotCS4v Y29uZmlnLnN0YXR1cyAtLWZpbGU9JEA6JDwNCi0JY2htb2QgK3ggJEANCisJJChTSUxFTlQpLi9j b25maWcuc3RhdHVzIC0tZmlsZT0kQDokPA0KKwkkKFNJTEVOVCljaG1vZCAreCAkQA0KIGxpYl9E QVRBICs9IGdydWItbWtjb25maWdfbGliDQogQ0xFQU5GSUxFUyArPSBncnViLW1rY29uZmlnX2xp Yg0KIA0KIHVwZGF0ZS1ncnViX2xpYjogdXRpbC91cGRhdGUtZ3J1Yl9saWIuaW4gY29uZmlnLnN0 YXR1cw0KLQkuL2NvbmZpZy5zdGF0dXMgLS1maWxlPSRAOiQ8DQotCWNobW9kICt4ICRADQorCSQo U0lMRU5UKS4vY29uZmlnLnN0YXR1cyAtLWZpbGU9JEA6JDwNCisJJChTSUxFTlQpY2htb2QgK3gg JEANCiBsaWJfREFUQSArPSB1cGRhdGUtZ3J1Yl9saWINCiBDTEVBTkZJTEVTICs9IHVwZGF0ZS1n cnViX2xpYg0KIA0KICU6IHV0aWwvZ3J1Yi5kLyUuaW4gY29uZmlnLnN0YXR1cw0KLQkuL2NvbmZp Zy5zdGF0dXMgLS1maWxlPSRAOiQ8DQotCWNobW9kICt4ICRADQorI25vIG5lZWQgdG8gZWNobyBu b3RoaW5nIGhlcmU6IGNvbmZpZy5zdGF0dXMgYWxyZWFkeSBkb2VzIHNvDQorCSQoU0lMRU5UKS4v Y29uZmlnLnN0YXR1cyAtLWZpbGU9JEA6JDwNCisJJChTSUxFTlQpY2htb2QgK3ggJEANCiBncnVi LW1rY29uZmlnX1NDUklQVFMgPSAwMF9oZWFkZXIgMTBfbGludXggMTBfaHVyZCAxMF9mcmVlYnNk IDMwX29zLXByb2JlciA0MF9jdXN0b20NCiBpZmVxICgkKHRhcmdldF9vcyksIGN5Z3dpbikNCiBn cnViLW1rY29uZmlnX1NDUklQVFMgKz0gMTBfd2luZG93cw0KSW5kZXg6IGdlbm1rLnJiDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQotLS0gZ2VubWsucmIJKHJldmlzacOzbjogMTk1NCkNCisrKyBnZW5tay5yYgkoY29w aWEgZGUgdHJhYmFqbykNCkBAIC01NywxMCArNTcsMTYgQEANCiBNT1NUTFlDTEVBTkZJTEVTICs9 ICN7ZGVwc19zdHJ9DQogDQogI3tAbmFtZX06ICN7ZXhlfQ0KK2lmbmVxICgkKFYpLDEpDQorCUBl Y2hvIFtJICN7QG5hbWV9XSBPQkpDT1BZICQ8ICctPicgJEANCitlbmRpZg0KIAkkKE9CSkNPUFkp IC1PIGJpbmFyeSAtUiAubm90ZSAtUiAuY29tbWVudCAtUiAubm90ZS5nbnUuYnVpbGQtaWQgJDwg JEANCiANCiAje2V4ZX06ICN7b2Jqc19zdHJ9DQotCSQoVEFSR0VUX0NDKSAtbyAkQCAkXiAkKFRB UkdFVF9MREZMQUdTKSAkKCN7cHJlZml4fV9MREZMQUdTKQ0KK2lmbmVxICgkKFYpLDEpDQorCUBl Y2hvIFtJICN7QG5hbWV9XSBMSU5LICQ8ICctPicgJEANCitlbmRpZg0KKwkkKFNJTEVOVCkkKFRB UkdFVF9DQykgLW8gJEAgJF4gJChUQVJHRVRfTERGTEFHUykgJCgje3ByZWZpeH1fTERGTEFHUykN CiANCiAiICsgb2Jqcy5jb2xsZWN0X3dpdGhfaW5kZXggZG8gfG9iaiwgaXwNCiAgICAgICBzcmMg PSBzb3VyY2VzW2ldDQpAQCAtNzEsNyArNzcsMTAgQEANCiAgICAgICBkaXIgPSBGaWxlLmRpcm5h bWUoc3JjKQ0KICAgICAgIA0KICAgICAgICIje29ian06ICN7c3JjfSAkKCN7c3JjfV9ERVBFTkRF TkNJRVMpDQotCSQoVEFSR0VUX0NDKSAtSSN7ZGlyfSAtSSQoc3JjZGlyKS8je2Rpcn0gJChUQVJH RVRfQ1BQRkxBR1MpICN7ZXh0cmFfZmxhZ3N9ICQoVEFSR0VUXyN7ZmxhZ30pICQoI3twcmVmaXh9 XyN7ZmxhZ30pIC1NRCAtYyAtbyAkQCAkPA0KK2lmbmVxICgkKFYpLDEpDQorCUBlY2hvIFtJICN7 QG5hbWV9XSBDT01QSUxFICQ8ICctPicgJEANCitlbmRpZg0KKwkkKFNJTEVOVCkkKFRBUkdFVF9D QykgLUkje2Rpcn0gLUkkKHNyY2RpcikvI3tkaXJ9ICQoVEFSR0VUX0NQUEZMQUdTKSAje2V4dHJh X2ZsYWdzfSAkKFRBUkdFVF8je2ZsYWd9KSAkKCN7cHJlZml4fV8je2ZsYWd9KSAtTUQgLWMgLW8g JEAgJDwNCiAtaW5jbHVkZSAje2RlcH0NCiANCiAiDQpAQCAtMTEzLDI5ICsxMjIsNDcgQEANCiBV TkRTWU1GSUxFUyArPSAje3VuZHN5bX0NCiANCiAje0BuYW1lfTogI3twcmVfb2JqfSAje21vZF9v Ymp9ICQoVEFSR0VUX09CSjJFTEYpDQotCS1ybSAtZiAkQA0KLQkkKFRBUkdFVF9DQykgJCgje3By ZWZpeH1fTERGTEFHUykgJChUQVJHRVRfTERGTEFHUykgJChNT0RVTEVfTERGTEFHUykgLVdsLC1y LC1kIC1vICRAICN7cHJlX29ian0gI3ttb2Rfb2JqfQ0KLQlpZiB0ZXN0ICEgLXogJChUQVJHRVRf T0JKMkVMRik7IHRoZW4gLi8kKFRBUkdFVF9PQkoyRUxGKSAkQCB8fCAocm0gLWYgJEA7IGV4aXQg MSk7IGZpDQotCSQoU1RSSVApIC0tc3RyaXAtdW5uZWVkZWQgLUsgZ3J1Yl9tb2RfaW5pdCAtSyBn cnViX21vZF9maW5pIC1LIF9ncnViX21vZF9pbml0IC1LIF9ncnViX21vZF9maW5pIC1SIC5ub3Rl IC1SIC5jb21tZW50ICRADQorCSQoU0lMRU5UKS1ybSAtZiAkQA0KK2lmbmVxICgkKFYpLDEpDQor CUBlY2hvIFtNICN7QG5hbWV9XSBMSU5LICN7cHJlX29ian0gI3ttb2Rfb2JqfSAnLT4nICRADQor ZW5kaWYNCisJJChTSUxFTlQpJChUQVJHRVRfQ0MpICQoI3twcmVmaXh9X0xERkxBR1MpICQoVEFS R0VUX0xERkxBR1MpICQoTU9EVUxFX0xERkxBR1MpIC1XbCwtciwtZCAtbyAkQCAje3ByZV9vYmp9 ICN7bW9kX29ian0NCisJJChTSUxFTlQpaWYgdGVzdCAhIC16ICQoVEFSR0VUX09CSjJFTEYpOyB0 aGVuIC4vJChUQVJHRVRfT0JKMkVMRikgJEAgfHwgKHJtIC1mICRAOyBleGl0IDEpOyBmaQ0KK2lm bmVxICgkKFYpLDEpDQorCUBlY2hvIFtNICN7QG5hbWV9XSBTVFJJUCAkQA0KK2VuZGlmDQorCSQo U0lMRU5UKSQoU1RSSVApIC0tc3RyaXAtdW5uZWVkZWQgLUsgZ3J1Yl9tb2RfaW5pdCAtSyBncnVi X21vZF9maW5pIC1LIF9ncnViX21vZF9pbml0IC1LIF9ncnViX21vZF9maW5pIC1SIC5ub3RlIC1S IC5jb21tZW50ICRADQogDQogI3twcmVfb2JqfTogJCgje3ByZWZpeH1fREVQRU5ERU5DSUVTKSAj e29ianNfc3RyfQ0KLQktcm0gLWYgJEANCi0JJChUQVJHRVRfQ0MpICQoI3twcmVmaXh9X0xERkxB R1MpICQoVEFSR0VUX0xERkxBR1MpIC1XbCwtciwtZCAtbyAkQCAje29ianNfc3RyfQ0KKwkkKFNJ TEVOVCktcm0gLWYgJEANCitpZm5lcSAoJChWKSwxKQ0KKwlAZWNobyBbTSAje0BuYW1lfV0gTElO SyAje29ianNfc3RyfSAnLT4nICRADQorZW5kaWYNCisJJChTSUxFTlQpJChUQVJHRVRfQ0MpICQo I3twcmVmaXh9X0xERkxBR1MpICQoVEFSR0VUX0xERkxBR1MpIC1XbCwtciwtZCAtbyAkQCAje29i anNfc3RyfQ0KIA0KICN7bW9kX29ian06ICN7bW9kX3NyY30NCi0JJChUQVJHRVRfQ0MpICQoVEFS R0VUX0NQUEZMQUdTKSAkKFRBUkdFVF9DRkxBR1MpICQoI3twcmVmaXh9X0NGTEFHUykgLWMgLW8g JEAgJDwNCitpZm5lcSAoJChWKSwxKQ0KKwlAZWNobyBbTSAje0BuYW1lfV0gQ09NUElMRSAkPCAn LT4nICRADQorZW5kaWYNCisJJChTSUxFTlQpJChUQVJHRVRfQ0MpICQoVEFSR0VUX0NQUEZMQUdT KSAkKFRBUkdFVF9DRkxBR1MpICQoI3twcmVmaXh9X0NGTEFHUykgLWMgLW8gJEAgJDwNCiANCiAj e21vZF9zcmN9OiAkKGJ1aWxkZGlyKS9tb2RkZXAubHN0ICQoc3JjZGlyKS9nZW5tb2RzcmMuc2gN Ci0Jc2ggJChzcmNkaXIpL2dlbm1vZHNyYy5zaCAnI3ttb2RfbmFtZX0nICQ8ID4gJEAgfHwgKHJt IC1mICRAOyBleGl0IDEpDQorCSQoU0lMRU5UKXNoICQoc3JjZGlyKS9nZW5tb2RzcmMuc2ggJyN7 bW9kX25hbWV9JyAkPCA+ICRAIHx8IChybSAtZiAkQDsgZXhpdCAxKQ0KIA0KIGlmbmVxICgkKCN7 cHJlZml4fV9FWFBPUlRTKSxubykNCiAje2RlZnN5bX06ICN7cHJlX29ian0NCi0JJChOTSkgLWcg LS1kZWZpbmVkLW9ubHkgLVAgLXAgJDwgfCBzZWQgJ3MvXlxcKFteIF0qXFwpLiovXFwxICN7bW9k X25hbWV9LycgPiAkQA0KK2lmbmVxICgkKFYpLDEpDQorCUBlY2hvIFtNICN7QG5hbWV9XSBMb29r aW5nIGZvciBFWFBPUlRFRCBTWU1CT0wgZGVmaW5pdGlvbnM6ICQ8DQogZW5kaWYNCisJJChTSUxF TlQpJChOTSkgLWcgLS1kZWZpbmVkLW9ubHkgLVAgLXAgJDwgfCBzZWQgJ3MvXlxcKFteIF0qXFwp LiovXFwxICN7bW9kX25hbWV9LycgPiAkQA0KK2VuZGlmDQogDQogI3t1bmRzeW19OiAje3ByZV9v Ymp9DQotCWVjaG8gJyN7bW9kX25hbWV9JyA+ICRADQotCSQoTk0pIC11IC1QIC1wICQ8IHwgY3V0 IC1mMSAtZCcgJyA+PiAkQA0KK2lmbmVxICgkKFYpLDEpDQorCUBlY2hvIFtNICN7QG5hbWV9XSBM b29raW5nIGZvciBSRVFVRVNURUQgU1lNQk9MIGRlZmluaXRpb25zOiAkPA0KK2VuZGlmDQorCSQo U0lMRU5UKWVjaG8gJyN7bW9kX25hbWV9JyA+ICRADQorCSQoU0lMRU5UKSQoTk0pIC11IC1QIC1w ICQ8IHwgY3V0IC1mMSAtZCcgJyA+PiAkQA0KIA0KICIgKyBvYmpzLmNvbGxlY3Rfd2l0aF9pbmRl eCBkbyB8b2JqLCBpfA0KICAgICAgIHNyYyA9IHNvdXJjZXNbaV0NCkBAIC0xNDksNyArMTc2LDEw IEBADQogICAgICAgZGlyID0gRmlsZS5kaXJuYW1lKHNyYykNCiANCiAgICAgICAiI3tvYmp9OiAj e3NyY30gJCgje3NyY31fREVQRU5ERU5DSUVTKQ0KLQkkKFRBUkdFVF9DQykgLUkje2Rpcn0gLUkk KHNyY2RpcikvI3tkaXJ9ICQoVEFSR0VUX0NQUEZMQUdTKSAje2V4dHJhX2ZsYWdzfSAkKFRBUkdF VF8je2ZsYWd9KSAkKCN7cHJlZml4fV8je2ZsYWd9KSAtTUQgLWMgLW8gJEAgJDwNCitpZm5lcSAo JChWKSwxKQ0KKwlAZWNobyBbTSAje0BuYW1lfV0gQ09NUElMRSAkPCAnLT4nICRADQorZW5kaWYN CisJJChTSUxFTlQpJChUQVJHRVRfQ0MpIC1JI3tkaXJ9IC1JJChzcmNkaXIpLyN7ZGlyfSAkKFRB UkdFVF9DUFBGTEFHUykgI3tleHRyYV9mbGFnc30gJChUQVJHRVRfI3tmbGFnfSkgJCgje3ByZWZp eH1fI3tmbGFnfSkgLU1EIC1jIC1vICRAICQ8DQogLWluY2x1ZGUgI3tkZXB9DQogDQogQ0xFQU5G SUxFUyArPSAje2NvbW1hbmR9ICN7ZnN9ICN7cGFydG1hcH0NCkBAIC0xNTgsMTcgKzE4OCwyNiBA QA0KIFBBUlRNQVBGSUxFUyArPSAje3BhcnRtYXB9DQogDQogI3tjb21tYW5kfTogI3tzcmN9ICQo I3tzcmN9X0RFUEVOREVOQ0lFUykgZ2VuY21kbGlzdC5zaA0KLQlzZXQgLWU7IFwNCitpZm5lcSAo JChWKSwxKQ0KKwlAZWNobyBbTSAje0BuYW1lfV0gTG9va2luZyBmb3IgQ09NTUFORCBkZWZpbml0 aW9uczogJDwNCitlbmRpZg0KKwkkKFNJTEVOVClzZXQgLWU7IFwNCiAJICAkKFRBUkdFVF9DQykg LUkje2Rpcn0gLUkkKHNyY2RpcikvI3tkaXJ9ICQoVEFSR0VUX0NQUEZMQUdTKSAkKFRBUkdFVF8j e2ZsYWd9KSAkKCN7cHJlZml4fV8je2ZsYWd9KSAtRSAkPCBcDQogCSAgfCBzaCAkKHNyY2Rpcikv Z2VuY21kbGlzdC5zaCAje3N5bWJvbGljX25hbWV9ID4gJEAgfHwgKHJtIC1mICRAOyBleGl0IDEp DQogDQogI3tmc306ICN7c3JjfSAkKCN7c3JjfV9ERVBFTkRFTkNJRVMpIGdlbmZzbGlzdC5zaA0K LQlzZXQgLWU7IFwNCitpZm5lcSAoJChWKSwxKQ0KKwlAZWNobyBbTSAje0BuYW1lfV0gTG9va2lu ZyBmb3IgRklMRVNZU1RFTSBkZWZpbml0aW9uczogJDwNCitlbmRpZg0KKwkkKFNJTEVOVClzZXQg LWU7IFwNCiAJICAkKFRBUkdFVF9DQykgLUkje2Rpcn0gLUkkKHNyY2RpcikvI3tkaXJ9ICQoVEFS R0VUX0NQUEZMQUdTKSAkKFRBUkdFVF8je2ZsYWd9KSAkKCN7cHJlZml4fV8je2ZsYWd9KSAtRSAk PCBcDQogCSAgfCBzaCAkKHNyY2RpcikvZ2VuZnNsaXN0LnNoICN7c3ltYm9saWNfbmFtZX0gPiAk QCB8fCAocm0gLWYgJEA7IGV4aXQgMSkNCiANCiAje3BhcnRtYXB9OiAje3NyY30gJCgje3NyY31f REVQRU5ERU5DSUVTKSBnZW5wYXJ0bWFwbGlzdC5zaA0KLQlzZXQgLWU7IFwNCitpZm5lcSAoJChW KSwxKQ0KKwlAZWNobyBbTSAje0BuYW1lfV0gTG9va2luZyBmb3IgUEFSVE1BUCBkZWZpbml0aW9u czogJDwNCitlbmRpZg0KKwkkKFNJTEVOVClzZXQgLWU7IFwNCiAJICAkKFRBUkdFVF9DQykgLUkj e2Rpcn0gLUkkKHNyY2RpcikvI3tkaXJ9ICQoVEFSR0VUX0NQUEZMQUdTKSAkKFRBUkdFVF8je2Zs YWd9KSAkKCN7cHJlZml4fV8je2ZsYWd9KSAtRSAkPCBcDQogCSAgfCBzaCAkKHNyY2RpcikvZ2Vu cGFydG1hcGxpc3Quc2ggI3tzeW1ib2xpY19uYW1lfSA+ICRAIHx8IChybSAtZiAkQDsgZXhpdCAx KQ0KIA0KQEAgLTE5OSw3ICsyMzgsMTAgQEANCiBNT1NUTFlDTEVBTkZJTEVTICs9ICN7ZGVwc19z dHJ9DQogDQogI3tAbmFtZX06ICQoI3twcmVmaXh9X0RFUEVOREVOQ0lFUykgI3tvYmpzX3N0cn0N Ci0JJChDQykgLW8gJEAgI3tvYmpzX3N0cn0gJChMREZMQUdTKSAkKCN7cHJlZml4fV9MREZMQUdT KQ0KK2lmbmVxICgkKFYpLDEpDQorCUBlY2hvIFtVICN7QG5hbWV9XSBMSU5LICQ8ICctPicgJEAN CitlbmRpZg0KKwkkKFNJTEVOVCkkKENDKSAtbyAkQCAje29ianNfc3RyfSAkKExERkxBR1MpICQo I3twcmVmaXh9X0xERkxBR1MpDQogDQogIiArIG9ianMuY29sbGVjdF93aXRoX2luZGV4IGRvIHxv YmosIGl8DQogICAgICAgc3JjID0gc291cmNlc1tpXQ0KQEAgLTIwOCw3ICsyNTAsMTAgQEANCiAg ICAgICBkaXIgPSBGaWxlLmRpcm5hbWUoc3JjKQ0KIA0KICAgICAgICIje29ian06ICN7c3JjfSAk KCN7c3JjfV9ERVBFTkRFTkNJRVMpDQotCSQoQ0MpIC1JI3tkaXJ9IC1JJChzcmNkaXIpLyN7ZGly fSAkKENQUEZMQUdTKSAkKENGTEFHUykgLURHUlVCX1VUSUw9MSAkKCN7cHJlZml4fV9DRkxBR1Mp IC1NRCAtYyAtbyAkQCAkPA0KK2lmbmVxICgkKFYpLDEpDQorCUBlY2hvIFtVICN7QG5hbWV9XSBD T01QSUxFICQ8ICctPicgJEANCitlbmRpZg0KKwkkKFNJTEVOVCkkKENDKSAtSSN7ZGlyfSAtSSQo c3JjZGlyKS8je2Rpcn0gJChDUFBGTEFHUykgJChDRkxBR1MpIC1ER1JVQl9VVElMPTEgJCgje3By ZWZpeH1fQ0ZMQUdTKSAtTUQgLWMgLW8gJEAgJDwNCiAtaW5jbHVkZSAje2RlcH0NCiANCiAiDQpA QCAtMjM3LDcgKzI4MiwxMCBAQA0KIE1PU1RMWUNMRUFORklMRVMgKz0gI3tkZXBzX3N0cn0NCiAN CiAje0BuYW1lfTogJCgje3ByZWZpeH1fREVQRU5ERU5DSUVTKSAje29ianNfc3RyfQ0KLQkkKFRB UkdFVF9DQykgLW8gJEAgI3tvYmpzX3N0cn0gJChUQVJHRVRfTERGTEFHUykgJCgje3ByZWZpeH1f TERGTEFHUykNCitpZm5lcSAoJChWKSwxKQ0KKwlAZWNobyBbUCAje0BuYW1lfV0gTElOSyAkPCAn LT4nICRADQorZW5kaWYNCisJJChTSUxFTlQpJChUQVJHRVRfQ0MpIC1vICRAICN7b2Jqc19zdHJ9 ICQoVEFSR0VUX0xERkxBR1MpICQoI3twcmVmaXh9X0xERkxBR1MpDQogDQogIiArIG9ianMuY29s bGVjdF93aXRoX2luZGV4IGRvIHxvYmosIGl8DQogICAgICAgc3JjID0gc291cmNlc1tpXQ0KQEAg LTI0Niw3ICsyOTQsMTAgQEANCiAgICAgICBkaXIgPSBGaWxlLmRpcm5hbWUoc3JjKQ0KIA0KICAg ICAgICIje29ian06ICN7c3JjfSAkKCN7c3JjfV9ERVBFTkRFTkNJRVMpDQotCSQoVEFSR0VUX0ND KSAtSSN7ZGlyfSAtSSQoc3JjZGlyKS8je2Rpcn0gJChUQVJHRVRfQ1BQRkxBR1MpICQoVEFSR0VU X0NGTEFHUykgJCgje3ByZWZpeH1fQ0ZMQUdTKSAtTUQgLWMgLW8gJEAgJDwNCitpZm5lcSAoJChW KSwxKQ0KKwlAZWNobyBbUCAje0BuYW1lfV0gQ09NUElMRSAkPCAnLT4nICRADQorZW5kaWYNCisJ JChTSUxFTlQpJChUQVJHRVRfQ0MpIC1JI3tkaXJ9IC1JJChzcmNkaXIpLyN7ZGlyfSAkKFRBUkdF VF9DUFBGTEFHUykgJChUQVJHRVRfQ0ZMQUdTKSAkKCN7cHJlZml4fV9DRkxBR1MpIC1NRCAtYyAt byAkQCAkPA0KIC1pbmNsdWRlICN7ZGVwfQ0KIA0KICINCkBAIC0yNzMsOCArMzI0LDkgQEANCiAg ICAgIkNMRUFORklMRVMgKz0gI3tAbmFtZX0NCiANCiAje0BuYW1lfTogI3tzcmN9ICQoI3tzcmN9 X0RFUEVOREVOQ0lFUykgY29uZmlnLnN0YXR1cw0KLQkuL2NvbmZpZy5zdGF0dXMgLS1maWxlPSN7 bmFtZX06I3tzcmN9DQotCWNobW9kICt4ICRADQorI25vIG5lZWQgdG8gZWNobyBub3RoaW5nIGhl cmU6IGNvbmZpZy5zdGF0dXMgYWxyZWFkeSBkb2VzIHNvDQorCSQoU0lMRU5UKS4vY29uZmlnLnN0 YXR1cyAtLWZpbGU9I3tuYW1lfToje3NyY30NCisJJChTSUxFTlQpY2htb2QgK3ggJEANCiANCiAi DQogICBlbmQNCi== --=-SQVpXtNRTA7YexrNXrDx-- --=-ht56Oud4DaQx0FHs5taQ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iQIcBAABAgAGBQJJe9DCAAoJEKSl+Fbdeo72h8gP/1ogYhtB2SAMHE0qlq8sm20I qZl+GmEc1oIoxRyLbCYHeOhuEbRnjc0Tbpb0w8ce4X8V8+XVy8DqtKT7nWhOMBBh y2DoqlD1UCzCcg4ggQRMu62pnXIpj1eGfyAarWECYLRibXseELmE+lZrEZnBcr/D +D7ifk15hKeS/LZCSMg8zwnkAQYJ6An5v0IXdsd6rtMHzSFBjCWfTfQfuweyWHuT /yYBzjRTd//jQX4OL9sSq8SSKYaYnVWDGhijC7D4YhkdY5IIA3VuezK+WAqxmkDZ A/9FjCGIGu+kTtG8FOoVUO5Q+tT2ncKx6IS+ZWv1r/VhZhvX7rHcJC+roGUmICun P9CGZhvyWP3Lil8cvyD3wIqEiNAAc6A00DQ3e7HqQs7+Cf18YlWhNXjRLWuBjzcT xHClygpnmH+CqH9/37r6/1V0lyP5s+ub+hrZ61jV5OKK6jROATKmFzHrTH/uOUTV hp85X5d7XVGnmN+E2SSKB7JwjPynR6uY6qMSMZMDoZY3b9PiJw25bxd7l4r13LK3 fcPTvdw8bE9MiOWkumuzVCfI95WUBxeUQ4UJRJZQvEhh9T8iRr/b8yl7ejeqrKDL KB7DA4X69tjS5GIs8IXp8LGU4bjxnoHVznyueFUIMkCEAOfTec62iFM5Na0leUWd wo+H1ukN9S+/r56lDhfP =kXd4 -----END PGP SIGNATURE----- --=-ht56Oud4DaQx0FHs5taQ--