chore(dev-libs/libxml2): import from portage

Change-Id: I8cd3012ba5e2fb3171e14d80d0b07f3193e40dd5
This commit is contained in:
Brandon Philips 2013-02-16 11:18:52 -08:00
parent 9e67a65376
commit 6d8c19b62a
24 changed files with 2471 additions and 5 deletions

View File

@ -1,6 +1,291 @@
# ChangeLog for dev-libs/libxml2
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/ChangeLog,v 1.304 2011/02/26 17:17:33 arfrever Exp $
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/ChangeLog,v 1.372 2012/12/18 07:48:21 tetromino Exp $
*libxml2-2.9.0-r1 (18 Dec 2012)
*libxml2-2.8.0-r4 (18 Dec 2012)
18 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
-libxml2-2.8.0-r2.ebuild, +libxml2-2.8.0-r4.ebuild, +libxml2-2.9.0-r1.ebuild,
+files/libxml2-2.9.0-manual-python.patch:
Update to EAPI5 and python-r1.eclass. Always install pre-built docs in a
devhelp-compatible location. Add a patch for cleaner multiple python ABI
support.
15 Dec 2012; Raúl Porcel <armin76@gentoo.org> libxml2-2.8.0-r3.ebuild:
alpha/ia64/m68k/s390/sh/sparc stable wrt #444836
02 Dec 2012; Agostino Sarubbo <ago@gentoo.org> libxml2-2.8.0-r3.ebuild:
Stable for ppc64, wrt bug #444836
02 Dec 2012; Markus Meier <maekke@gentoo.org> libxml2-2.8.0-r3.ebuild:
arm stable, bug #444836
29 Nov 2012; <ago@gentoo.org> libxml2-2.8.0-r3.ebuild:
Stable for ppc, wrt bug #444836
27 Nov 2012; Jeroen Roovers <jer@gentoo.org> libxml2-2.8.0-r3.ebuild:
Stable for HPPA (bug #444836).
27 Nov 2012; Agostino Sarubbo <ago@gentoo.org> libxml2-2.8.0-r3.ebuild:
Stable for x86, wrt bug #444836
27 Nov 2012; Agostino Sarubbo <ago@gentoo.org> libxml2-2.8.0-r3.ebuild:
Stable for amd64, wrt bug #444836
*libxml2-2.9.0 (27 Nov 2012)
27 Nov 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
+libxml2-2.9.0.ebuild, +files/libxml2-2.9.0-disable_static_modules.patch,
+files/libxml2-2.9.0-large-file-parse.patch,
+files/libxml2-2.9.0-nsclean.patch, +files/libxml2-2.9.0-rand_seed.patch,
+files/libxml2-2.9.0-streaming-validation.patch,
+files/libxml2-2.9.0-thread-alloc.patch,
+files/libxml2-2.9.0-thread-portability.patch:
Version bump featuring improved push parser and XPath evaluation (bug
#444290). Update to EAPI5, always install docs in a devhelp-compatible
location following current gnome team style guidelines, and run a more
complete test suite.
26 Nov 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
libxml2-2.8.0-r3.ebuild:
Comment typo
*libxml2-2.8.0-r3 (26 Nov 2012)
26 Nov 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
+libxml2-2.8.0-r3.ebuild,
+files/libxml2-2.8.0-xmlParseAttValueComplex-underflow.patch:
Fix buffer underflow (bug #444836, CVE-2012-5134, thanks to Mike Gilbert).
22 Sep 2012; Pacho Ramos <pacho@gentoo.org>
-files/libxml2-2.8.0_rc1-randomization-threads.patch,
-libxml2-2.8.0-r1.ebuild, -libxml2-2.8.0_rc1.ebuild:
Drop old.
18 Sep 2012; Anthony G. Basile <blueness@gentoo.org> libxml2-2.8.0-r2.ebuild:
stable ppc, bug #434344
17 Sep 2012; Anthony G. Basile <blueness@gentoo.org> libxml2-2.8.0-r2.ebuild:
stable ppc64, bug #434344
15 Sep 2012; Raúl Porcel <armin76@gentoo.org> libxml2-2.8.0-r2.ebuild:
alpha/arm/ia64/s390/sh/sparc stable wrt #434344
15 Sep 2012; Andreas Schuerch <nativemad@gentoo.org> libxml2-2.8.0-r2.ebuild:
x86 stable, see bug 434344
11 Sep 2012; Agostino Sarubbo <ago@gentoo.org> libxml2-2.8.0-r2.ebuild:
Stable for amd64, wrt bug #434344
10 Sep 2012; Jeroen Roovers <jer@gentoo.org> libxml2-2.8.0-r2.ebuild:
Stable for HPPA (bug #434344).
*libxml2-2.8.0-r2 (09 Sep 2012)
09 Sep 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
-files/libxml2-2.7.2-winnt.patch, -libxml2-2.7.8-r5.ebuild,
-files/libxml2-2.7.8-allocation-error-copying-entities.patch,
-files/libxml2-2.7.8-error-xpath.patch,
-files/libxml2-2.7.8-hardening-xpath.patch,
-files/libxml2-2.7.8-hash-randomization.patch,
-files/libxml2-2.7.8-reactivate-script.patch,
-files/libxml2-2.7.8-reallocation-failures.patch,
-files/libxml2-2.7.8-windows-thread_t.patch,
-files/libxml2-2.7.8-xpath-freeing.patch,
-files/libxml2-2.7.8-xpath-freeing2.patch,
-files/libxml2-2.7.8-xpath-memory.patch, +libxml2-2.8.0-r2.ebuild:
Add upstream patches to ensure special treatment for namespace nodes
(CVE-2012-2871, bug #434344, thanks to Paweł Hajdan, Jr. and Sean Amoss).
Drop old version.
04 Jun 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
libxml2-2.8.0-r1.ebuild, +files/libxml2-2.8.0-icu-linking.patch:
De-uglify fix for bug #417539 with an upstreamable patch, thanks to Rafał
Mużyło and Arfrever.
29 May 2012; Brent Baude <ranger@gentoo.org> libxml2-2.8.0_rc1.ebuild:
Marking libxml2-2.8.0_rc1 ppc64 for bug 416209
27 May 2012; Jeroen Roovers <jer@gentoo.org> libxml2-2.8.0-r1.ebuild:
Marked ~hppa (bug #417569).
26 May 2012; Raúl Porcel <armin76@gentoo.org> libxml2-2.8.0_rc1.ebuild:
alpha/ia64/m68k/s390/sh/sparc stable wrt #416209
26 May 2012; Alexis Ballier <aballier@gentoo.org> libxml2-2.8.0-r1.ebuild:
keyword ~amd64-fbsd, bug #417569
26 May 2012; Markus Meier <maekke@gentoo.org> libxml2-2.8.0_rc1.ebuild:
arm stable, bug #416209
*libxml2-2.8.0-r1 (26 May 2012)
26 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
-libxml2-2.8.0.ebuild, +libxml2-2.8.0-r1.ebuild:
Prevent libxml2's python module from linking to out-of-build-tree libxml2
library by hacking the relink_command entry in its build-time .la file. Fixes
bug #417539 ("'LIBXML2_2.7.9' not found" errors). Forced to drop hppa and
amd64-fbsd keywords, bug #417569. Drop broken 2.8.0 ebuild.
*libxml2-2.8.0 (25 May 2012)
25 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
libxml2-2.8.0_rc1.ebuild, +libxml2-2.8.0.ebuild:
Version bump to 2.8.0 final. Point rc1's SRC_URI at Gentoo mirrors since the
rc1 tarball is no longer available from upstream (bug #416209 comment #10).
22 May 2012; Jeroen Roovers <jer@gentoo.org> libxml2-2.8.0_rc1.ebuild:
Stable for HPPA (bug #416209).
21 May 2012; Agostino Sarubbo <ago@gentoo.org> libxml2-2.8.0_rc1.ebuild:
Stable for amd64, wrt bug #416209
21 May 2012; Jeff Horelick <jdhore@gentoo.org> libxml2-2.8.0_rc1.ebuild:
marked x86 per bug 416209
21 May 2012; Brent Baude <ranger@gentoo.org> libxml2-2.8.0_rc1.ebuild:
Marking libxml2-2.8.0_rc1 ppc for bug 416209
21 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
libxml2-2.8.0_rc1.ebuild:
Remove unnecessary definition, thanks to Arfrever for pointing out.
*libxml2-2.8.0_rc1 (21 May 2012)
21 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
-libxml2-2.7.8-r4.ebuild, +libxml2-2.8.0_rc1.ebuild,
+files/libxml2-2.8.0_rc1-randomization-threads.patch,
+files/libxml2-2.8.0_rc1-winnt.patch:
Version bump with numerous bugfixes, including for bug #416209 (out-of-bounds
write, CVE-2011-3102, thanks to Paweł Hajdan, Jr.). Drop old.
26 Apr 2012; Alexis Ballier <aballier@gentoo.org> libxml2-2.7.8-r5.ebuild:
keyword ~amd64-fbsd
08 Mar 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
libxml2-2.7.8-r5.ebuild, +files/libxml2-2.7.8-windows-thread_t.patch:
Fix building against pthreads-win32 (bug #407371, thanks to Nathan Phillip
Brink (binki)).
03 Mar 2012; Raúl Porcel <armin76@gentoo.org> libxml2-2.7.8-r5.ebuild:
arm/ia64/m68k/s390/sh/sparc stable wrt #405261
03 Mar 2012; Brent Baude <ranger@gentoo.org> libxml2-2.7.8-r5.ebuild:
Marking libxml2-2.7.8-r5 ppc64 for bug 405261
02 Mar 2012; Tobias Klausmann <klausman@gentoo.org> libxml2-2.7.8-r5.ebuild:
Stable on alpha, bug #405261
29 Feb 2012; Jeff Horelick <jdhore@gentoo.org> libxml2-2.7.8-r5.ebuild:
marked x86 per security bug 405261
28 Feb 2012; Brent Baude <ranger@gentoo.org> libxml2-2.7.8-r5.ebuild:
Marking libxml2-2.7.8-r5 ppc for bug 405261
23 Feb 2012; Agostino Sarubbo <ago@gentoo.org> libxml2-2.7.8-r5.ebuild:
Stable for AMD64, wrt security bug #405261
23 Feb 2012; Jeroen Roovers <jer@gentoo.org> libxml2-2.7.8-r5.ebuild:
Stable for HPPA (bug #405261).
*libxml2-2.7.8-r5 (23 Feb 2012)
23 Feb 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
-libxml2-2.7.8-r1.ebuild, -libxml2-2.7.8-r2.ebuild, -libxml2-2.7.8-r3.ebuild,
+libxml2-2.7.8-r5.ebuild, +files/libxml2-2.7.8-hash-randomization.patch:
Add hashing randomization to prevent DoS vulnerability (CVE-2012-0841, bug
#405261, thanks to Michael Harrison for reporting). Drop old.
20 Feb 2012; Patrick Lauer <patrick@gentoo.org> libxml2-2.7.8-r1.ebuild,
libxml2-2.7.8-r2.ebuild, libxml2-2.7.8-r3.ebuild, libxml2-2.7.8-r4.ebuild:
Restricting pypy #403751
16 Jan 2012; Jeroen Roovers <jer@gentoo.org> libxml2-2.7.8-r4.ebuild:
Stable for HPPA (bug #398361).
14 Jan 2012; Raúl Porcel <armin76@gentoo.org> libxml2-2.7.8-r4.ebuild:
alpha/arm/ia64/m68k/s390/sh/sparc stable wrt #398361
12 Jan 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> libxml2-2.7.8-r4.ebuild:
x86 stable wrt bug #398361
11 Jan 2012; Mark Loeser <halcy0n@gentoo.org> libxml2-2.7.8-r4.ebuild:
Stable for ppc/ppc64; bug #398361
10 Jan 2012; Agostino Sarubbo <ago@gentoo.org> libxml2-2.7.8-r4.ebuild:
Stable for AMD64, wrt security bug #398361
*libxml2-2.7.8-r4 (10 Jan 2012)
10 Jan 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
+libxml2-2.7.8-r4.ebuild,
+files/libxml2-2.7.8-allocation-error-copying-entities.patch:
Fix heap-based overflow in parsing long entity references (CVE-2011-3919, bug
#398361, thanks to Agostino Sarubbo for reporting).
30 Oct 2011; Raúl Porcel <armin76@gentoo.org> libxml2-2.7.8-r3.ebuild:
alpha/ia64/m68k/s390/sh/sparc stable wrt #385699
28 Oct 2011; Markus Meier <maekke@gentoo.org> libxml2-2.7.8-r3.ebuild:
arm stable, bug #385699
21 Oct 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org> libxml2-2.7.8-r3.ebuild:
x86 stable wrt bug #385699
20 Oct 2011; Tony Vroon <chainsaw@gentoo.org> libxml2-2.7.8-r3.ebuild:
Marked stable on AMD64 based on arch testing by Agostino "ago" Sarubbo & Ian
"idella4" Delaney in security bug #386985.
18 Oct 2011; Jeroen Roovers <jer@gentoo.org> libxml2-2.7.8-r3.ebuild:
Stable for HPPA (bug #385699).
18 Oct 2011; Jeroen Roovers <jer@gentoo.org> libxml2-2.7.8-r2.ebuild:
Stable for HPPA (bug #385699).
16 Oct 2011; Kacper Kowalik <xarthisius@gentoo.org> libxml2-2.7.8-r3.ebuild:
ppc/ppc64 stable wrt #386985
*libxml2-2.7.8-r3 (15 Oct 2011)
15 Oct 2011; Pacho Ramos <pacho@gentoo.org> -libxml2-2.7.8.ebuild,
+libxml2-2.7.8-r3.ebuild, +files/libxml2-2.7.8-error-xpath.patch,
+files/libxml2-2.7.8-hardening-xpath.patch:
Fix CVE-2011-{2821,2834}, bug #386985, thanks to Michael Harrison and Tim
Sammut. Remove old.
14 Oct 2011; Samuli Suominen <ssuominen@gentoo.org> libxml2-2.7.8-r2.ebuild:
amd64 stable wrt #385699
*libxml2-2.7.8-r2 (14 Aug 2011)
14 Aug 2011; Nirbheek Chauhan <nirbheek@gentoo.org> +libxml2-2.7.8-r2.ebuild:
USE=static-libs support, bug 378249
03 Jul 2011; Kacper Kowalik <xarthisius@gentoo.org> libxml2-2.7.8-r1.ebuild:
ppc64 stable wrt #370715
22 Jun 2011; Brent Baude <ranger@gentoo.org> libxml2-2.7.8-r1.ebuild:
Marking libxml2-2.7.8-r1 ppc for bug 370715
19 Jun 2011; Raúl Porcel <armin76@gentoo.org> libxml2-2.7.8-r1.ebuild:
alpha/ia64/m68k/s390/sh/sparc stable wrt #370715
14 Jun 2011; Markus Meier <maekke@gentoo.org> libxml2-2.7.8-r1.ebuild:
amd64/arm stable, bug #370715
14 Jun 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org> libxml2-2.7.8-r1.ebuild:
x86 stable wrt bug #370715
14 Jun 2011; Jeroen Roovers <jer@gentoo.org> libxml2-2.7.8-r1.ebuild:
Stable for HPPA (bug #370715).
*libxml2-2.7.8-r1 (13 Jun 2011)
13 Jun 2011; Pacho Ramos <pacho@gentoo.org> -libxml2-2.7.7.ebuild,
+libxml2-2.7.8-r1.ebuild, +files/libxml2-2.7.8-reallocation-failures.patch:
Fix some potential problems on reallocation failures (CVE-2011-1944), bug
#370715 by Sylvia. Remove old.
26 Feb 2011; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
libxml2-2.7.8.ebuild, +files/libxml2-2.7.8-disable_static_modules.patch:

View File

@ -1,3 +1,39 @@
DIST libxml2-2.7.8.tar.gz 4881808 RMD160 30709622cfe3e2175e73d6701b7e19a25ab5ac47 SHA1 859dd535edbb851cc15b64740ee06551a7a17d40 SHA256 cda23bc9ebd26474ca8f3d67e7d1c4a1f1e7106364b690d822e009fdc3c417ec
DIST xsts-2002-01-16.tar.gz 6894439 RMD160 e8905fe1451a1c367b0104af24edca73bad1db08 SHA1 ca6344e6c47f8c28231f5b213d0c8deb0311a409 SHA256 55e5c08db29946a91ea8e70e8f2418d3fd30d8b6777941dfba7f54726ffd9914
DIST xsts-2004-01-14.tar.gz 2761085 RMD160 faff2d7826e47ae9968564bc83dab1b54c5e4bf6 SHA1 5896c2aa2cda464246306c5cf0577ed506eefaab SHA256 09bdf9f81f381ebf9bc158a9472e498e896f7a02eb7461146e9abe1b9493ca17
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
AUX libxml2-2.7.1-catalog_path.patch 2209 SHA256 b3343f0611f9cb6e55bf62047a988653e3e9cc50f194b18adbc330b455236290 SHA512 99c1953865c560d2b7a01cf5fd61b1c5150857f3df8a9753ca583f6ff0a99e01c02d2586bb12220a615cf9c40a540dbe0d17996c0547bc0d20cbeefd6b45682d WHIRLPOOL 9b4daf434b38a0ae8103f02625ae033e7a94012a18cabc981f34b93fe8b422477905b74cfee300eb6a37e1af8bd358dd84804a5d0b6be8645ae9ee3e4c6fcd9b
AUX libxml2-2.7.8-disable_static_modules.patch 365 SHA256 2f2ade9ee034af32cbd6600d45b2e23d3153dd9bb57a07a9f364836d24b189df SHA512 021c81b33802877d6fe11c8b8df86a9d4ed3dd5a7944c544abd40228805ffcab9cce9fb48b4299c164abf66d0b9815153f86851e3ebbf5004b76fe03cc54ed7e WHIRLPOOL 0c95f97d5d7fecf04f59020ae60d58d216770dce7711370f6c394ea1796c81c7087599c52a31640e27e0f60464da26e3e72a7014fbc6b9739aa2af222a73b53e
AUX libxml2-2.8.0-icu-linking.patch 3890 SHA256 69b37a49e8b9f0d71eda75a2c438426373c96290cd57a7f2c662a82066ce3b2b SHA512 c4caffcbf5e4baef4564fa9cf93a539622da61b849f2505360e0ca2243a5433cf2a318cd4df5e338bbe1a8650763d5af2894ce5d1b16196ada7b96983031c712 WHIRLPOOL 3716f2ed5cfb9fcf1024c17aa4d26a83f68c13a2d57ab64c52ba26676b6f681ad48575ac5070a679fd9ed3b3b1d11f2270bb2f281fd639159d545e5d816c3eaf
AUX libxml2-2.8.0-xmlParseAttValueComplex-underflow.patch 692 SHA256 fd86a145f57c425f00d55a0ac515442ecb22a76462a256797a7b1d385953997f SHA512 1ef15347ddf7c34649b7664a2f9164f906ce2d4019280c2543d7209010626f3aadbba9abafb26b4bce64f6c51cfad417a1a5a4caab4a836989f753f05083cb3d WHIRLPOOL 582f19fa221fc6815ec977c6c8e74fcd5556299c10791f1be6eee1db4bfc11f509e02c157ae5afbe6cda89cf694dd82aae367425bee8e029408063d013b315df
AUX libxml2-2.8.0_rc1-winnt.patch 2392 SHA256 c18b2c15550b3ff4709a85cd18d16368928319b1b7fd8875dc34acd67076b134 SHA512 e78d010c82f18386b4f0ff84497585755b43416563bccd11f8e4dbf0153ca8842934fe05dce6c2373d8360574a2165795a78ea991682aed9610000d2bfcb0164 WHIRLPOOL a87eefa17ad113ae4aed14744715b4e1781e0869a3bb789bdf4f243bdb3687d0d4b6ee2addc85bf5b2f86b9d1cc442d946f0329011f033e3a7855ae0ad79b745
AUX libxml2-2.9.0-disable_static_modules.patch 837 SHA256 745a4c7006874fbbbf30bd4ed07622a496445bf848a60f5ad5100889016f482a SHA512 7ced4510bcd3380f2910cac7420ab727de931939b9012f4ba034b66b32803f4e773fd81850451aa8a24530cc2d0898cebb3a329b42ab3c5daa41be63ae4303ec WHIRLPOOL 1584c94b2f8c583caa84a2ee8e2b23e31a3ef7060dba7f6c0c73fcdf7ec529e9cdc33294781465779ca7d7e6ef5265d7c0d158947ca5b3a7ba0a083333453a67
AUX libxml2-2.9.0-large-file-parse.patch 1597 SHA256 c7ae7c9e94720f7ef1adfc5e60b0559a7a0ca0b302e8058b994f0b84b97f9ab6 SHA512 e049379b2e8cc26f6a6e348842eaa3955005834f61d56c53538ee0bd8a7cdda5cc51df8ed590a37799b1e04e692c2ef0954fb5728fb848a2e9d62162e5a761db WHIRLPOOL e360313cbf9b88f3fb6e80da44232a4d5ca84a43a9528fd2c5f102a4b47cee2da093fef24733afd958fb1c57df89d2ed30d079262b75be747e6e5ead8b3f2976
AUX libxml2-2.9.0-manual-python.patch 1409 SHA256 647023249861bece60c719c49421a539342ab11a9c9023ee3175e29faaa24974 SHA512 1e06c52c729752d5bb72ac57ec0aa5c384eed49f79d38088eb9514c0a15c0f433309cd60ebfabbe75bf6166d93d1c7eb2a5ba6fd44a18bea8583590fdbcb3f11 WHIRLPOOL ec9653cab65af8833fef1264fe96ceeb8863047a3f699b8e69afbe8e5e47ef50e4e589a62d305d58352f560507cb606e45e1be5603b3b3758474fa192bb51506
AUX libxml2-2.9.0-nsclean.patch 806 SHA256 3f135045a44423e7e50269bbc2464af50a86f33beef08bb0af6922091b39c9f2 SHA512 6cdf243fe5424a0506645930c7fa1fe38bb43d712bec6f5d88ffb3abfb70ce9af1414ddbde3c5266af53bd3a6a8ef26c5322ae701853ec008a53b9f6dc8b79c5 WHIRLPOOL 92ff510b095214b1a548abe0c19b475cf5d8885a8feec5e804e5e351a468bf5e30af9bacc2744da66b6a488661d9763f8fba1e6ee1de60f7e7602a45415561e0
AUX libxml2-2.9.0-rand_seed.patch 845 SHA256 3a7c229c664aade8eb454da19f90cae3d9927d4c76859c85070da13c36565f7a SHA512 caca91890785959317943aae8b21dbed4bbc3a93cbee8d52101ee38f554ca464bb423962c4f52adf515361bdaf655b6bd3a664ff7503e8777f0cb9d4938d6eed WHIRLPOOL a3404a6311b433927c44467263235faf407437efbb52fc95d8fc65b42e1ad44b8c0c7181b07e0251aa186c07e74d6350b3568407c0e09a185659740bbe5e668d
AUX libxml2-2.9.0-streaming-validation.patch 1639 SHA256 295f3012c24d96fca5c38ca32449e3651ed85e1592db910631c7ef380b515d26 SHA512 efa42db1bae6cef4ad078d8550939a18f2e796499d428038ac1c1028466b8472963f26ade3142e89a4475c9a0c54daec0909510e7080b34538ff89ad2e82a3f1 WHIRLPOOL 188cc683b6631bb0d01ba941cf2405802cbd02ea7eb8b1a772a8511f948467f53e5a60e0463fab516c4fb11517eb7fa1e4e2d1856a537348ccbf473deae2b2fe
AUX libxml2-2.9.0-thread-alloc.patch 1819 SHA256 ab0e44f05903ea70babeff17aaac09f344c9ce069264ecb4f27f9a6929c6af73 SHA512 80308f3f0087bcc0f08848e10c75b6333247f960190940e7a20575ce41d382fbd46350b0b8631a6c877f8edb06bcc930659c9e9e8ea71bc381f0a4287c22c935 WHIRLPOOL 24c4ba69c70ff949848795418cbfe59326c09a0b90126c67853fe7ee39854a824c56e092e7dacfe6a969eb4d451e6d2354c382c03e6d5c657eab07a50c14babe
AUX libxml2-2.9.0-thread-portability.patch 1385 SHA256 0839bbd63e3eaa083e91e34d3c8a04700d2dc1e8242117f27d941bd16cfd9e32 SHA512 e07933f7c6a2170c822652c2216f90a60f3334a67d6ffa01e3ed9958842b0634bb4c0bb32d410dcbf99f82b091d8398adb4cf3e0666efa62a29084e1f7111ff8 WHIRLPOOL 29301cdc15e4ac04f3f03bf15099a4c70492b6b77f1bd3461613ac465311aabdb2c4dbcdefce5a2494fbbec155079fb50bd1b86904759df3c92734265ea8e405
DIST libxml2-2.8.0-namespace-node-patches.tar.bz2 4929 SHA256 659f4d9fa8971346f545492474a95e655a84c47fe02978c418528b1ad3e23af2 SHA512 37e4b985ebce9fc69f1e58eccb3281d5bc1786e3d886b5a0649d47d2564a998f95dac3b6214bfc597c993828f9d1c43cd1edb60ded8058c376e4ce024036e06d WHIRLPOOL 4209036c5ae8cdf9ab75d248fbb92e042e343f6f806d2c3fffcfa24bfa97cb156d323bec8b867a8df929b1f19f84f922cfbbd23eda6c490447e545b26f4ccf95
DIST libxml2-2.8.0.tar.gz 4915203 SHA256 f2e2d0e322685193d1affec83b21dc05d599e17a7306d7b90de95bb5b9ac622a SHA512 e36ca96e5ba18f767346f1310c43d3c8c9a35c53252de18ad63ebce7f1f8df7ae40dd0719b2c6d78f5a64e61be154eec63a36ae738d29e93a9139c524a289ad4 WHIRLPOOL 3731ba80e6f6d6eba4d12d39ff564c81f9c26ff79df8c3f7bd264c5b27332732552186f5e9f3ff10661b1571cda0b75ac966fc65d0cbb3da9e73791f6b2369ad
DIST libxml2-2.9.0.tar.gz 5161069 SHA256 ad25d91958b7212abdc12b9611cfb4dc4e5cddb6d1e9891532f48aacee422b82 SHA512 b13268ea3725a8b534974ece33981b001324164e5687df94b0d15c77189070e2a5d9f08c1646e5492e70a607ca0adf00788772fcf300ac2d4a110e9bf57d4afe WHIRLPOOL 652e3b1e9b4241cd9bb7ab5f5c1261091378693057cb552b7f0517ebf7e48569abefde06707d4b2f56a08c13b693dcec76bdc360d7cd11937464bb4f87161116
DIST xmlts20080827.tar.gz 638940 SHA256 96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7 SHA512 7325d0977c4427fc4944b291ccf896a665f654cc24399e5565c12a849c2bc3aef4fa3ee42a09ac115abcb6570c51a8fbd052c38d64d164279ecdecad5a4e884d WHIRLPOOL 50835380c3ea208df0bf9ce032ed2df69c4c6cb5a53ffdd39a08fb4f1d166f311b2ef2fe0d9911ae1ebff92aeb42f6ea55e727dfe0b7a3b95e6c7240315b3eda
DIST xsts-2002-01-16.tar.gz 6894439 SHA256 55e5c08db29946a91ea8e70e8f2418d3fd30d8b6777941dfba7f54726ffd9914 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288 WHIRLPOOL 84dd51959460a4f8aa582d57ad39229c546ca7fe155012c57c368b59f5d31400d8b940a343a7320058330ca611303139cacdffed514783f96406ac5366026b11
DIST xsts-2004-01-14.tar.gz 2761085 SHA256 09bdf9f81f381ebf9bc158a9472e498e896f7a02eb7461146e9abe1b9493ca17 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe WHIRLPOOL c46a3bf7d6dd771757f4304995cc177cf51c6cdd0e9778851fc13d3809c7b984690b4f273b3e075abe018110968eb7fc78f5b83170d3e18bacf00a4ed64b213d
EBUILD libxml2-2.8.0-r3.ebuild 6787 SHA256 1afcbec83bf17d8792aea3dc965e6a0ac63cb4434442e93ff33cf67d9d2ba0f2 SHA512 e4cba7a6230f759043001f7c7bca8b9feced7af6007140e6a3a3d4ec7224cce423f14561b591385b24836ac7304c1e64f79f24b32c9fb3368ea04f0259c247b0 WHIRLPOOL 175651d0eb8f217bcfb702677ae473b1c3ac802ac46bf2f00407af232c15894f9480adf4915f3ba2af61ffa9ed16a61ce318d8c367f5df74a5cab3c593059ef9
EBUILD libxml2-2.8.0-r4.ebuild 6283 SHA256 21a9eb54ca7369ab0cf16e39e2c6c22d6ce52dcfd9325e660efbe5c03f736004 SHA512 bfd2b51676405e6ade1d8f324fb139ec046c7acddaaafdd60b3e81a1266a92bff61d6ec8626a54c3838da249f65a4356316c07f29ffe3eeeaeb5cedd02e5991b WHIRLPOOL a28c56cefc801a5bca6a63685d098c322136987c1dee0e96d33615aa210a4c433d267002a49e1aaf636e3b08e37244dca00e271c951d03ac59421bf2319b0e08
EBUILD libxml2-2.9.0-r1.ebuild 6252 SHA256 59dcc7aabf53a7d4ca4f44f16c1e2bb4826019296e90c587ea695005bf77c04d SHA512 1a2442497e2b75d64c270c30c5b66e848ad1b0b6fd26cc5ea320bbb7332ff686af32dec0e901e69fbe0e37ba1da052cc150cd73f3da7a2a0ac8959f3540f4f62 WHIRLPOOL 604489ba471231532c266ee2f10d8945e9b770850fcecc0729256db3cf68713722683548e93d068f0f3ffc3fcb4edb07be682c479be4d34de3bf67b4f4ce6014
EBUILD libxml2-2.9.0.ebuild 6709 SHA256 bd8797034f93eec971d5ab022b04e322f885da1a2b0dbe6679ced1ec59cf59d5 SHA512 9bd9dd5edfcac75a7d270adb8b0a0b1bd8901a235581ace3bee69bf8119454ba08cb22881b11de9bd9946d27be53cd57087e25597c7379eb4e486814068cda50 WHIRLPOOL d79ec012de245dc17b349d112a0ce05400b70a3f4fbff79a2b8eec43ce0d0740abd9f53d55bfa8c480d12f19e9da644e0e0f5131112ff703247193af6203f9fd
MISC ChangeLog 52726 SHA256 1005e7dac38c8fadcf5911d553c0b622f641f44a52beb651ca8cbad2b8e2c6ec SHA512 b735e9d9221b333dd86bf7ca397c3af67c86f6c7aeda73c5d61790806061c807d2d44a46528499721c07db2841e5829c0958a3ca01698dda1830805e03375b3c WHIRLPOOL 30502f01927de02246c9bdaf9a68192a1e7e3c881aa639448e3d888d072a9076e58c20c7cafcb47f0e4a91e051e92fef020a70f9b115d5fe3c8e193a2ffe2cd7
MISC metadata.xml 158 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1 SHA512 7fbfbd2b3ed1b81867d55648509f778fdbe2091af53727b3426a3c7f453ae7e1663a99fdd2101508b8d6c85b3158459c93551b77a6a394f02d7e11cbc8a5ecf4 WHIRLPOOL 4bcd5662974877d42ebc4361b6eb412bfeea2af7144b436ce7ed152327d554afc321c376625ba0bb85a704b70d86e3c4882dff3573047acddd8ffccf655d4f7e
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
iQEcBAEBCAAGBQJQ0B/HAAoJEJ0WA1zPCt1hld8IAIzrzcSfqx45uMET/vQZqjZG
SWHrPKeEgXFxYpZiX3dpwj3/XMk+e2lMoNRj+gWpQLG86uHhHoEtmrG2iUsrXrOQ
Hi2p5VAbTfdvMLcHOQDPog/geiWxmird6Qq0WKuL8vLlJVwe6uDkbNPYYVLhrbvA
SxrSsqss7oQnB/Jei5l3w1Xe/fNatKbpyZ6wJbArwGVSwgzWl/zuD+R4VHgVsTqx
Tmxr++pXG6bMCEUZNq1tlZiMjnqIL2r5dLkS0u/Uvrudnn+W5QjLbwj/KC0E3xxL
KgqkMpnu4kO012KT3YEbmE15xDX965M+oROni368QSXnfIHBw05/ji43OwMEg0o=
=gm7x
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,21 @@
From 5bd3c061823a8499b27422aee04ea20aae24f03e Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Fri, 16 Dec 2011 10:53:35 +0000
Subject: Fix an allocation error when copying entities
---
diff --git a/parser.c b/parser.c
index 4e5dcb9..c55e41d 100644
--- a/parser.c
+++ b/parser.c
@@ -2709,7 +2709,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
buffer[nbchars++] = '&';
if (nbchars > buffer_size - i - XML_PARSER_BUFFER_SIZE) {
- growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
+ growBuffer(buffer, i + XML_PARSER_BUFFER_SIZE);
}
for (;i > 0;i--)
buffer[nbchars++] = *cur++;
--
cgit v0.9.0.2

View File

@ -0,0 +1,62 @@
From 1d4526f6f4ec8d18c40e2a09b387652a6c1aa2cd Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Tue, 11 Oct 2011 08:34:34 +0000
Subject: Fix missing error status in XPath evaluation
Started by Chris Evans, I added a few more place where the
error should have been set in the evaluation context.
---
diff --git a/xpath.c b/xpath.c
index bcee2ea..d9d902c 100644
--- a/xpath.c
+++ b/xpath.c
@@ -2485,6 +2485,7 @@ valuePush(xmlXPathParserContextPtr ctxt, xmlXPathObjectPtr value)
sizeof(ctxt->valueTab[0]));
if (tmp == NULL) {
xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
+ ctxt->error = XPATH_MEMORY_ERROR;
return (0);
}
ctxt->valueMax *= 2;
@@ -9340,6 +9341,7 @@ xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs) {
if ( (ch & 0xc0) != 0xc0 ) {
xmlGenericError(xmlGenericErrorContext,
"xmlXPathTranslateFunction: Invalid UTF8 string\n");
+ /* not asserting an XPath error is probably better */
break;
}
/* then skip over remaining bytes for this char */
@@ -9347,6 +9349,7 @@ xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs) {
if ( (*cptr++ & 0xc0) != 0x80 ) {
xmlGenericError(xmlGenericErrorContext,
"xmlXPathTranslateFunction: Invalid UTF8 string\n");
+ /* not asserting an XPath error is probably better */
break;
}
if (ch & 0x80) /* must have had error encountered */
@@ -13410,6 +13413,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
xmlGenericError(xmlGenericErrorContext,
"xmlXPathCompOpEval: variable %s bound to undefined prefix %s\n",
(char *) op->value4, (char *)op->value5);
+ ctxt->error = XPATH_UNDEF_PREFIX_ERROR;
return (total);
}
val = xmlXPathVariableLookupNS(ctxt->context,
@@ -13464,6 +13468,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
"xmlXPathCompOpEval: function %s bound to undefined prefix %s\n",
(char *)op->value4, (char *)op->value5);
xmlXPathPopFrame(ctxt, frame);
+ ctxt->error = XPATH_UNDEF_PREFIX_ERROR;
return (total);
}
func = xmlXPathFunctionLookupNS(ctxt->context,
@@ -14042,6 +14047,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
}
xmlGenericError(xmlGenericErrorContext,
"XPath: unknown precompiled operation %d\n", op->op);
+ ctxt->error = XPATH_INVALID_OPERAND;
return (total);
}
--
cgit v0.9.0.2

View File

@ -0,0 +1,224 @@
From f5048b3e71fc30ad096970b8df6e7af073bae4cb Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Thu, 18 Aug 2011 09:10:13 +0000
Subject: Hardening of XPath evaluation
Add a mechanism of frame for XPath evaluation when entering a function
or a scoped evaluation, also fix a potential problem in predicate
evaluation.
---
diff --git a/include/libxml/xpath.h b/include/libxml/xpath.h
index 1a9e30e..ddd9dd8 100644
--- a/include/libxml/xpath.h
+++ b/include/libxml/xpath.h
@@ -68,7 +68,8 @@ typedef enum {
XPATH_UNDEF_PREFIX_ERROR,
XPATH_ENCODING_ERROR,
XPATH_INVALID_CHAR_ERROR,
- XPATH_INVALID_CTXT
+ XPATH_INVALID_CTXT,
+ XPATH_STACK_ERROR
} xmlXPathError;
/*
@@ -380,6 +381,8 @@ struct _xmlXPathParserContext {
xmlXPathCompExprPtr comp; /* the precompiled expression */
int xptr; /* it this an XPointer expression */
xmlNodePtr ancestor; /* used for walking preceding axis */
+
+ int valueFrame; /* used to limit Pop on the stack */
};
/************************************************************************
diff --git a/xpath.c b/xpath.c
index b59ac5a..bcee2ea 100644
--- a/xpath.c
+++ b/xpath.c
@@ -252,6 +252,7 @@ static const char *xmlXPathErrorMessages[] = {
"Encoding error\n",
"Char out of XML range\n",
"Invalid or incomplete context\n",
+ "Stack usage errror\n",
"?? Unknown error ??\n" /* Must be last in the list! */
};
#define MAXERRNO ((int)(sizeof(xmlXPathErrorMessages) / \
@@ -2398,6 +2399,42 @@ xmlXPathCacheConvertNumber(xmlXPathContextPtr ctxt, xmlXPathObjectPtr val) {
************************************************************************/
/**
+ * xmlXPathSetFrame:
+ * @ctxt: an XPath parser context
+ *
+ * Set the callee evaluation frame
+ *
+ * Returns the previous frame value to be restored once done
+ */
+static int
+xmlXPathSetFrame(xmlXPathParserContextPtr ctxt) {
+ int ret;
+
+ if (ctxt == NULL)
+ return(0);
+ ret = ctxt->valueFrame;
+ ctxt->valueFrame = ctxt->valueNr;
+ return(ret);
+}
+
+/**
+ * xmlXPathPopFrame:
+ * @ctxt: an XPath parser context
+ * @frame: the previous frame value
+ *
+ * Remove the callee evaluation frame
+ */
+static void
+xmlXPathPopFrame(xmlXPathParserContextPtr ctxt, int frame) {
+ if (ctxt == NULL)
+ return;
+ if (ctxt->valueNr < ctxt->valueFrame) {
+ xmlXPatherror(ctxt, __FILE__, __LINE__, XPATH_STACK_ERROR);
+ }
+ ctxt->valueFrame = frame;
+}
+
+/**
* valuePop:
* @ctxt: an XPath evaluation context
*
@@ -2412,6 +2449,12 @@ valuePop(xmlXPathParserContextPtr ctxt)
if ((ctxt == NULL) || (ctxt->valueNr <= 0))
return (NULL);
+
+ if (ctxt->valueNr <= ctxt->valueFrame) {
+ xmlXPatherror(ctxt, __FILE__, __LINE__, XPATH_STACK_ERROR);
+ return (NULL);
+ }
+
ctxt->valueNr--;
if (ctxt->valueNr > 0)
ctxt->value = ctxt->valueTab[ctxt->valueNr - 1];
@@ -6154,6 +6197,7 @@ xmlXPathCompParserContext(xmlXPathCompExprPtr comp, xmlXPathContextPtr ctxt) {
ret->valueNr = 0;
ret->valueMax = 10;
ret->value = NULL;
+ ret->valueFrame = 0;
ret->context = ctxt;
ret->comp = comp;
@@ -11711,6 +11755,7 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
xmlXPathObjectPtr contextObj = NULL, exprRes = NULL;
xmlNodePtr oldContextNode, contextNode = NULL;
xmlXPathContextPtr xpctxt = ctxt->context;
+ int frame;
#ifdef LIBXML_XPTR_ENABLED
/*
@@ -11730,6 +11775,8 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
*/
exprOp = &ctxt->comp->steps[op->ch2];
for (i = 0; i < set->nodeNr; i++) {
+ xmlXPathObjectPtr tmp;
+
if (set->nodeTab[i] == NULL)
continue;
@@ -11757,23 +11804,25 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
xmlXPathNodeSetAddUnique(contextObj->nodesetval,
contextNode);
+ frame = xmlXPathSetFrame(ctxt);
valuePush(ctxt, contextObj);
res = xmlXPathCompOpEvalToBoolean(ctxt, exprOp, 1);
+ tmp = valuePop(ctxt);
+ xmlXPathPopFrame(ctxt, frame);
if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) {
- xmlXPathObjectPtr tmp;
- /* pop the result if any */
- tmp = valuePop(ctxt);
- if (tmp != contextObj) {
+ while (tmp != contextObj) {
/*
* Free up the result
* then pop off contextObj, which will be freed later
*/
xmlXPathReleaseObject(xpctxt, tmp);
- valuePop(ctxt);
+ tmp = valuePop(ctxt);
}
goto evaluation_error;
}
+ /* push the result back onto the stack */
+ valuePush(ctxt, tmp);
if (res)
pos++;
@@ -13377,7 +13426,9 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
xmlXPathFunction func;
const xmlChar *oldFunc, *oldFuncURI;
int i;
+ int frame;
+ frame = xmlXPathSetFrame(ctxt);
if (op->ch1 != -1)
total +=
xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]);
@@ -13385,15 +13436,18 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
xmlGenericError(xmlGenericErrorContext,
"xmlXPathCompOpEval: parameter error\n");
ctxt->error = XPATH_INVALID_OPERAND;
+ xmlXPathPopFrame(ctxt, frame);
return (total);
}
- for (i = 0; i < op->value; i++)
+ for (i = 0; i < op->value; i++) {
if (ctxt->valueTab[(ctxt->valueNr - 1) - i] == NULL) {
xmlGenericError(xmlGenericErrorContext,
"xmlXPathCompOpEval: parameter error\n");
ctxt->error = XPATH_INVALID_OPERAND;
+ xmlXPathPopFrame(ctxt, frame);
return (total);
}
+ }
if (op->cache != NULL)
XML_CAST_FPTR(func) = op->cache;
else {
@@ -13409,6 +13463,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
xmlGenericError(xmlGenericErrorContext,
"xmlXPathCompOpEval: function %s bound to undefined prefix %s\n",
(char *)op->value4, (char *)op->value5);
+ xmlXPathPopFrame(ctxt, frame);
return (total);
}
func = xmlXPathFunctionLookupNS(ctxt->context,
@@ -13430,6 +13485,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
func(ctxt, op->value);
ctxt->context->function = oldFunc;
ctxt->context->functionURI = oldFuncURI;
+ xmlXPathPopFrame(ctxt, frame);
return (total);
}
case XPATH_OP_ARG:
@@ -14333,6 +14389,7 @@ xmlXPathRunEval(xmlXPathParserContextPtr ctxt, int toBool)
ctxt->valueNr = 0;
ctxt->valueMax = 10;
ctxt->value = NULL;
+ ctxt->valueFrame = 0;
}
#ifdef XPATH_STREAMING
if (ctxt->comp->stream) {
diff --git a/xpointer.c b/xpointer.c
index 7a42d02..37afa3a 100644
--- a/xpointer.c
+++ b/xpointer.c
@@ -1269,6 +1269,7 @@ xmlXPtrEvalXPointer(xmlXPathParserContextPtr ctxt) {
ctxt->valueNr = 0;
ctxt->valueMax = 10;
ctxt->value = NULL;
+ ctxt->valueFrame = 0;
}
SKIP_BLANKS;
if (CUR == '/') {
--
cgit v0.9.0.2

View File

@ -0,0 +1,101 @@
From d7958b21e7f8c447a26bb2436f08402b2c308be4 Mon Sep 17 00:00:00 2001
From: Chris Evans <scarybeasts@gmail.com>
Date: Wed, 23 Mar 2011 00:13:06 +0000
Subject: Fix some potential problems on reallocation failures
The count was incremented before the allocation
and not fixed in case of failure
* xpath.c: corrects a few instances where the available count of some
structure is updated before we know the allocation actually
succeeds
---
diff --git a/xpath.c b/xpath.c
index 8b56189..608fe00 100644
--- a/xpath.c
+++ b/xpath.c
@@ -3522,13 +3522,13 @@ xmlXPathNodeSetAddNs(xmlNodeSetPtr cur, xmlNodePtr node, xmlNsPtr ns) {
} else if (cur->nodeNr == cur->nodeMax) {
xmlNodePtr *temp;
- cur->nodeMax *= 2;
- temp = (xmlNodePtr *) xmlRealloc(cur->nodeTab, cur->nodeMax *
+ temp = (xmlNodePtr *) xmlRealloc(cur->nodeTab, cur->nodeMax * 2 *
sizeof(xmlNodePtr));
if (temp == NULL) {
xmlXPathErrMemory(NULL, "growing nodeset\n");
return;
}
+ cur->nodeMax *= 2;
cur->nodeTab = temp;
}
cur->nodeTab[cur->nodeNr++] = xmlXPathNodeSetDupNs(node, ns);
@@ -3627,14 +3627,14 @@ xmlXPathNodeSetAddUnique(xmlNodeSetPtr cur, xmlNodePtr val) {
} else if (cur->nodeNr == cur->nodeMax) {
xmlNodePtr *temp;
- cur->nodeMax *= 2;
- temp = (xmlNodePtr *) xmlRealloc(cur->nodeTab, cur->nodeMax *
+ temp = (xmlNodePtr *) xmlRealloc(cur->nodeTab, cur->nodeMax * 2 *
sizeof(xmlNodePtr));
if (temp == NULL) {
xmlXPathErrMemory(NULL, "growing nodeset\n");
return;
}
cur->nodeTab = temp;
+ cur->nodeMax *= 2;
}
if (val->type == XML_NAMESPACE_DECL) {
xmlNsPtr ns = (xmlNsPtr) val;
@@ -3738,14 +3738,14 @@ xmlXPathNodeSetMerge(xmlNodeSetPtr val1, xmlNodeSetPtr val2) {
} else if (val1->nodeNr == val1->nodeMax) {
xmlNodePtr *temp;
- val1->nodeMax *= 2;
- temp = (xmlNodePtr *) xmlRealloc(val1->nodeTab, val1->nodeMax *
+ temp = (xmlNodePtr *) xmlRealloc(val1->nodeTab, val1->nodeMax * 2 *
sizeof(xmlNodePtr));
if (temp == NULL) {
xmlXPathErrMemory(NULL, "merging nodeset\n");
return(NULL);
}
val1->nodeTab = temp;
+ val1->nodeMax *= 2;
}
if (n2->type == XML_NAMESPACE_DECL) {
xmlNsPtr ns = (xmlNsPtr) n2;
@@ -3907,14 +3907,14 @@ xmlXPathNodeSetMergeAndClear(xmlNodeSetPtr set1, xmlNodeSetPtr set2,
} else if (set1->nodeNr >= set1->nodeMax) {
xmlNodePtr *temp;
- set1->nodeMax *= 2;
temp = (xmlNodePtr *) xmlRealloc(
- set1->nodeTab, set1->nodeMax * sizeof(xmlNodePtr));
+ set1->nodeTab, set1->nodeMax * 2 * sizeof(xmlNodePtr));
if (temp == NULL) {
xmlXPathErrMemory(NULL, "merging nodeset\n");
return(NULL);
}
set1->nodeTab = temp;
+ set1->nodeMax *= 2;
}
if (n2->type == XML_NAMESPACE_DECL) {
xmlNsPtr ns = (xmlNsPtr) n2;
@@ -3991,14 +3991,14 @@ xmlXPathNodeSetMergeAndClearNoDupls(xmlNodeSetPtr set1, xmlNodeSetPtr set2,
} else if (set1->nodeNr >= set1->nodeMax) {
xmlNodePtr *temp;
- set1->nodeMax *= 2;
temp = (xmlNodePtr *) xmlRealloc(
- set1->nodeTab, set1->nodeMax * sizeof(xmlNodePtr));
+ set1->nodeTab, set1->nodeMax * 2 * sizeof(xmlNodePtr));
if (temp == NULL) {
xmlXPathErrMemory(NULL, "merging nodeset\n");
return(NULL);
}
set1->nodeTab = temp;
+ set1->nodeMax *= 2;
}
set1->nodeTab[set1->nodeNr++] = n2;
}
--
cgit v0.9

View File

@ -0,0 +1,53 @@
Index: third_party/libxml/src/parser.c
===================================================================
--- third_party/libxml/src/parser.c (revision 100884)
+++ third_party/libxml/src/parser.c (working copy)
@@ -4827,7 +4827,8 @@
(ctxt->sax->processingInstruction != NULL))
ctxt->sax->processingInstruction(ctxt->userData,
target, NULL);
- ctxt->instate = state;
+ if (ctxt->instate != XML_PARSER_EOF)
+ ctxt->instate = state;
return;
}
buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
@@ -4907,7 +4908,8 @@
} else {
xmlFatalErr(ctxt, XML_ERR_PI_NOT_STARTED, NULL);
}
- ctxt->instate = state;
+ if (ctxt->instate != XML_PARSER_EOF)
+ ctxt->instate = state;
}
}
@@ -9466,6 +9468,8 @@
else
name = xmlParseStartTag(ctxt);
#endif /* LIBXML_SAX1_ENABLED */
+ if (ctxt->instate == XML_PARSER_EOF)
+ return;
if (name == NULL) {
spacePop(ctxt);
return;
@@ -10845,6 +10849,8 @@
else
name = xmlParseStartTag(ctxt);
#endif /* LIBXML_SAX1_ENABLED */
+ if (ctxt->instate == XML_PARSER_EOF)
+ goto done;
if (name == NULL) {
spacePop(ctxt);
ctxt->instate = XML_PARSER_EOF;
@@ -11031,7 +11037,9 @@
else
xmlParseEndTag1(ctxt, 0);
#endif /* LIBXML_SAX1_ENABLED */
- if (ctxt->nameNr == 0) {
+ if (ctxt->instate == XML_PARSER_EOF) {
+ /* Nothing */
+ } else if (ctxt->nameNr == 0) {
ctxt->instate = XML_PARSER_EPILOG;
} else {
ctxt->instate = XML_PARSER_CONTENT;

View File

@ -0,0 +1,22 @@
Index: third_party/libxml/src/xmlsave.c
===================================================================
--- third_party/libxml/src/xmlsave.c (revision 117989)
+++ third_party/libxml/src/xmlsave.c (working copy)
@@ -248,7 +248,7 @@
/*
* We assume we have UTF-8 input.
*/
- if (outend - out < 10) break;
+ if (outend - out < 11) break;
if (*in < 0xC0) {
xmlSaveErr(XML_SAVE_NOT_UTF8, NULL, NULL);
@@ -1928,7 +1928,7 @@
/*
* We assume we have UTF-8 content.
*/
- unsigned char tmp[10];
+ unsigned char tmp[12];
int val = 0, l = 1;
if (base != cur)

View File

@ -0,0 +1,125 @@
From 6ee653ecbef38c0e57860903541f1f3c97dbe75b Mon Sep 17 00:00:00 2001
From: Arfrever Frehtes Taifersar Arahesis <arfrever.fta@gmail.com>
Date: Sat, 26 May 2012 17:37:43 +0000
Subject: [PATCH] Handle ICU_LIBS as LIBADD, not LDFLAGS to prevent linking
errors
---
Makefile.am | 2 +-
configure.in | 15 ++++++++-------
libxml-2.0-uninstalled.pc.in | 2 +-
libxml-2.0.pc.in | 2 +-
4 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index f82cefa..0b25666 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -18,7 +18,7 @@ bin_PROGRAMS = xmllint xmlcatalog
bin_SCRIPTS=xml2-config
lib_LTLIBRARIES = libxml2.la
-libxml2_la_LIBADD = @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ $(ICONV_LIBS) @M_LIBS@ @WIN32_EXTRA_LIBADD@
+libxml2_la_LIBADD = @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ $(ICONV_LIBS) @M_LIBS@ @WIN32_EXTRA_LIBADD@
if USE_VERSION_SCRIPT
LIBXML2_VERSION_SCRIPT = $(VERSION_SCRIPT_FLAGS)$(srcdir)/libxml2.syms
diff --git a/configure.in b/configure.in
index 0fb4983..ac45b58 100644
--- a/configure.in
+++ b/configure.in
@@ -97,7 +97,7 @@ dnl
dnl zlib option might change flags, so we save them initially
dnl
_cppflags="${CPPFLAGS}"
-_ldflags="${LDFLAGS}"
+_libs="${LIBS}"
AC_ARG_WITH(c14n,
[ --with-c14n add the Canonicalization support (on)])
@@ -154,7 +154,7 @@ AC_ARG_WITH(readline,
if test "$withval" != "no" -a "$withval" != "yes"; then
RDL_DIR=$withval
CPPFLAGS="${CPPFLAGS} -I$withval/include"
- LDFLAGS="${LDFLAGS} -L$withval/lib"
+ LIBS="${LIBS} -L$withval/lib"
fi
])
AC_ARG_WITH(regexps,
@@ -190,7 +190,7 @@ AC_ARG_WITH(zlib,
if test "$withval" != "no" -a "$withval" != "yes"; then
Z_DIR=$withval
CPPFLAGS="${CPPFLAGS} -I$withval/include"
- LDFLAGS="${LDFLAGS} -L$withval/lib"
+ LIBS="${LIBS} -L$withval/lib"
fi
])
AC_ARG_WITH(lzma,
@@ -198,7 +198,7 @@ AC_ARG_WITH(lzma,
if test "$withval" != "no" -a "$withval" != "yes"; then
LZMA_DIR=$withval
CPPFLAGS="${CPPFLAGS} -I$withval/include"
- LDFLAGS="${LDFLAGS} -L$withval/lib"
+ LIBS="${LIBS} -L$withval/lib"
fi
])
AC_ARG_WITH(coverage,
@@ -428,7 +428,7 @@ AC_SUBST(LZMA_LIBS)
AC_SUBST(WITH_LZMA)
CPPFLAGS=${_cppflags}
-LDFLAGS=${_ldflags}
+LIBS=${_libs}
echo Checking headers
@@ -1365,14 +1365,14 @@ XML_LIBTOOLLIBS="libxml2.la"
AC_SUBST(WITH_ICONV)
WITH_ICU=0
+ICU_LIBS=""
if test "$with_icu" != "yes" ; then
echo Disabling ICU support
else
ICU_CONFIG=icu-config
if ${ICU_CONFIG} --cflags >/dev/null 2>&1
then
- ICU_LIBS=`icu-config --ldflags`
- LDFLAGS="$LDFLAGS $ICU_LIBS"
+ ICU_LIBS=`${ICU_CONFIG} --ldflags`
WITH_ICU=1
echo Enabling ICU support
else
@@ -1380,6 +1380,7 @@ else
fi
fi
AC_SUBST(WITH_ICU)
+AC_SUBST(ICU_LIBS)
WITH_ISO8859X=1
if test "$WITH_ICONV" != "1" ; then
diff --git a/libxml-2.0-uninstalled.pc.in b/libxml-2.0-uninstalled.pc.in
index 0a4c833..cab6834 100644
--- a/libxml-2.0-uninstalled.pc.in
+++ b/libxml-2.0-uninstalled.pc.in
@@ -8,5 +8,5 @@ Name: libXML
Version: @VERSION@
Description: libXML library version2.
Requires:
-Libs: -L${libdir} -lxml2 @THREAD_LIBS@ @Z_LIBS@ @ICONV_LIBS@ @M_LIBS@ @LIBS@
+Libs: -L${libdir} -lxml2 @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @ICONV_LIBS@ @M_LIBS@ @LIBS@
Cflags: -I${includedir} @XML_INCLUDEDIR@ @XML_CFLAGS@
diff --git a/libxml-2.0.pc.in b/libxml-2.0.pc.in
index 31a1b8c..f5f5f03 100644
--- a/libxml-2.0.pc.in
+++ b/libxml-2.0.pc.in
@@ -9,5 +9,5 @@ Version: @VERSION@
Description: libXML library version2.
Requires:
Libs: -L${libdir} -lxml2
-Libs.private: @THREAD_LIBS@ @Z_LIBS@ @ICONV_LIBS@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@
+Libs.private: @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @ICONV_LIBS@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@
Cflags: @XML_INCLUDEDIR@ @XML_CFLAGS@
--
1.7.8.6

View File

@ -0,0 +1,25 @@
From 6a36fbe3b3e001a8a840b5c1fdd81cefc9947f0d Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Mon, 29 Oct 2012 10:39:55 +0800
Subject: [PATCH] Fix potential out of bound access
---
parser.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/parser.c b/parser.c
index 0d8d7f2..bd634e9 100644
--- a/parser.c
+++ b/parser.c
@@ -4076,7 +4076,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
goto error;
if ((in_space) && (normalize)) {
- while (buf[len - 1] == 0x20) len--;
+ while ((len > 0) && (buf[len - 1] == 0x20)) len--;
}
buf[len] = 0;
if (RAW == '<') {
--
1.8.0

View File

@ -0,0 +1,91 @@
From 168e20836fe9614dd2dd4b42006c17a783f11c48 Mon Sep 17 00:00:00 2001
From: Markus Duft <mduft@gentoo.org>
Date: Thu, 20 Nov 2008 11:04:33 -0500
Subject: [PATCH] Fix for ~x86-winnt
[Alexandre Rostovtsev <tetromino@gentoo.org>: port to 2.8.0-rc1]
---
dict.c | 2 +-
include/wsockcompat.h | 2 +-
nanohttp.c | 2 +-
xmlIO.c | 4 ++++
4 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/dict.c b/dict.c
index 3579f64..71e7bc6 100644
--- a/dict.c
+++ b/dict.c
@@ -47,7 +47,7 @@
#else
#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
-#elif defined(WIN32)
+#elif defined(WIN32) || defined (__PARITY__)
typedef unsigned __int32 uint32_t;
#endif
#endif
diff --git a/include/wsockcompat.h b/include/wsockcompat.h
index c762a64..1ed822b 100644
--- a/include/wsockcompat.h
+++ b/include/wsockcompat.h
@@ -27,7 +27,7 @@
#endif
#endif
-#if defined( __MINGW32__ ) || defined( _MSC_VER )
+#if defined( __MINGW32__ ) || defined( _MSC_VER ) || defined(__PARITY__)
/* Include <errno.h> here to ensure that it doesn't get included later
* (e.g. by iconv.h) and overwrites the definition of EWOULDBLOCK. */
#include <errno.h>
diff --git a/nanohttp.c b/nanohttp.c
index 2437fed..dbe97a7 100644
--- a/nanohttp.c
+++ b/nanohttp.c
@@ -74,7 +74,7 @@
#define XML_SOCKLEN_T unsigned int
#endif
-#if defined(__MINGW32__) || defined(_WIN32_WCE)
+#if defined(__MINGW32__) || defined(_WIN32_WCE) || defined(__PARITY__)
#ifndef _WINSOCKAPI_
#define _WINSOCKAPI_
#endif
diff --git a/xmlIO.c b/xmlIO.c
index 73a995d..99562f6 100644
--- a/xmlIO.c
+++ b/xmlIO.c
@@ -47,6 +47,7 @@
#include <winnls.h> /* for CP_UTF8 */
#endif
+#ifndef __PARITY__
/* Figure a portable way to know if a file is a directory. */
#ifndef HAVE_STAT
# ifdef HAVE__STAT
@@ -82,6 +83,7 @@
# endif
# endif
#endif
+#endif /* __PARITY__ */
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>
@@ -657,6 +659,7 @@ xmlWrapStatUtf8(const char *path,struct stat *info)
{
#ifdef HAVE_STAT
int retval = -1;
+#ifndef __PARITY__
wchar_t *wPath;
wPath = __xmlIOWin32UTF8ToWChar(path);
@@ -665,6 +668,7 @@ xmlWrapStatUtf8(const char *path,struct stat *info)
retval = _wstat(wPath,info);
xmlFree(wPath);
}
+#endif
/* maybe path in native encoding */
if(retval < 0)
retval = stat(path,info);
--
1.7.8.6

View File

@ -0,0 +1,21 @@
diff --git a/python/Makefile.am b/python/Makefile.am
index 4a8b5d5..b976893 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -19,13 +19,14 @@ if WITH_PYTHON
AM_CPPFLAGS = \
-I$(top_builddir)/include \
-I$(top_srcdir)/include \
- -I$(PYTHON_INCLUDES)
+ -I$(PYTHON_INCLUDES) \
+ -shared
python_LTLIBRARIES = libxml2mod.la
libxml2mod_la_SOURCES = libxml.c libxml_wrap.h libxml2-py.h libxml2-py.c types.c
libxml2mod_la_LIBADD = $(top_builddir)/libxml2.la $(CYGWIN_EXTRA_PYTHON_LIBADD) $(WIN32_EXTRA_PYTHON_LIBADD) $(PYTHON_LIBS) -lpython$(PYTHON_VERSION)
-libxml2mod_la_LDFLAGS = $(CYGWIN_EXTRA_LDFLAGS) $(WIN32_EXTRA_LDFLAGS) -module -avoid-version
+libxml2mod_la_LDFLAGS = $(CYGWIN_EXTRA_LDFLAGS) $(WIN32_EXTRA_LDFLAGS) -module -avoid-version -shared
BUILT_SOURCES = libxml2-export.c libxml2-py.h libxml2-py.c

View File

@ -0,0 +1,56 @@
From 153cf15905cf4ec080612ada6703757d10caba1e Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Fri, 26 Oct 2012 13:50:47 +0800
Subject: [PATCH] Fix large parse of file from memory
https://bugzilla.redhat.com/show_bug.cgi?id=862969
The new code trying to detect excessive input lookup would
just get wrong sometimes in the case of very large file parsed
directly from memory.
---
libxml.h | 2 ++
parser.c | 1 +
xmlIO.c | 2 +-
3 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/libxml.h b/libxml.h
index efe285b..7558b5f 100644
--- a/libxml.h
+++ b/libxml.h
@@ -91,6 +91,8 @@ void __xmlGlobalInitMutexDestroy(void);
int __xmlRandom(void);
#endif
+int xmlNop(void);
+
#ifdef IN_LIBXML
#ifdef __GNUC__
#ifdef PIC
diff --git a/parser.c b/parser.c
index 43f53d9..0d8d7f2 100644
--- a/parser.c
+++ b/parser.c
@@ -2025,6 +2025,7 @@ static void xmlSHRINK (xmlParserCtxtPtr ctxt) {
static void xmlGROW (xmlParserCtxtPtr ctxt) {
if ((((ctxt->input->end - ctxt->input->cur) > XML_MAX_LOOKUP_LIMIT) ||
((ctxt->input->cur - ctxt->input->base) > XML_MAX_LOOKUP_LIMIT)) &&
+ ((ctxt->input->buf) && (ctxt->input->buf->readcallback != xmlNop)) &&
((ctxt->options & XML_PARSE_HUGE) == 0)) {
xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "Huge input lookup");
ctxt->instate = XML_PARSER_EOF;
diff --git a/xmlIO.c b/xmlIO.c
index f8f438b..44254e4 100644
--- a/xmlIO.c
+++ b/xmlIO.c
@@ -800,7 +800,7 @@ xmlCheckFilename (const char *path)
return 1;
}
-static int
+int
xmlNop(void) {
return(0);
}
--
1.8.0

View File

@ -0,0 +1,45 @@
From 2a74d41325c9e8043a2beec8b957ddf66f57cfd5 Mon Sep 17 00:00:00 2001
From: Alexandre Rostovtsev <tetromino@gentoo.org>
Date: Tue, 18 Dec 2012 02:09:14 -0500
Subject: [PATCH] build/test/install python bindings manually
To support building for multiple python ABIs, we want to skip checks for
python in configure, and build/test/install python bindings manually.
---
configure.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure.in b/configure.in
index 3d5f48b..b467c51 100644
--- a/configure.in
+++ b/configure.in
@@ -748,7 +748,7 @@ PYTHON_INCLUDES=
PYTHON_SITE_PACKAGES=
PYTHON_TESTS=
pythondir=
-if test "$with_python" != "no" ; then
+if false ; then
if test -x "$with_python/bin/python"
then
echo Found python in $with_python/bin/python
@@ -823,7 +823,7 @@ if test "$with_python" != "no" ; then
else
PYTHON=
fi
-AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
+AM_CONDITIONAL(WITH_PYTHON, test "$with_python" != "no")
if test "$PYTHON_INCLUDES" != ""
then
PYTHON_SUBDIR=python
@@ -1429,7 +1429,7 @@ else
echo "Enabled Schemas/Relax-NG support"
WITH_SCHEMAS=1
TEST_SCHEMAS="Schemastests Relaxtests"
- if test "$PYTHON_INCLUDES" != "" ; then
+ if test "$with_python" != "no" ; then
PYTHON_TESTS="$PYTHON_TESTS RelaxNGPythonTests SchemasPythonTests"
fi
with_regexps=yes
--
1.8.0.2

View File

@ -0,0 +1,27 @@
From 711b15d545713b3a34a51ce8163d1162533647c9 Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Thu, 25 Oct 2012 19:23:26 +0800
Subject: [PATCH] Fix a bug in the nsclean option of the parser
Raised as a side effect of:
https://bugzilla.gnome.org/show_bug.cgi?id=663844
---
parser.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/parser.c b/parser.c
index 19f1217..43f53d9 100644
--- a/parser.c
+++ b/parser.c
@@ -1540,7 +1540,7 @@ nsPush(xmlParserCtxtPtr ctxt, const xmlChar *prefix, const xmlChar *URL)
{
if (ctxt->options & XML_PARSE_NSCLEAN) {
int i;
- for (i = 0;i < ctxt->nsNr;i += 2) {
+ for (i = ctxt->nsNr - 2;i >= 0;i -= 2) {
if (ctxt->nsTab[i] == prefix) {
/* in scope */
if (ctxt->nsTab[i + 1] == URL)
--
1.8.0

View File

@ -0,0 +1,31 @@
From e7715a5963afebfb027120db6914926ec9a7373d Mon Sep 17 00:00:00 2001
From: Wouter Van Rooy <rooywo@vasco.com>
Date: Fri, 14 Sep 2012 14:39:42 +0800
Subject: [PATCH] rand_seed should be static in dict.c
For https://bugzilla.gnome.org/show_bug.cgi?id=683933
rand_seed should be a static variable in dict.c
We ran into a problem with another library that exports rand_seed as a
function. Combined with 2.7.8 this was not a problem but later versions
have this problem.
---
dict.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dict.c b/dict.c
index 9935a25..164c7f2 100644
--- a/dict.c
+++ b/dict.c
@@ -143,7 +143,7 @@ static int xmlDictInitialized = 0;
/*
* Internal data for random function, protected by xmlDictMutex
*/
-unsigned int rand_seed = 0;
+static unsigned int rand_seed = 0;
#endif
#endif
--
1.8.0

View File

@ -0,0 +1,54 @@
From 6c91aa384f48ff6d406553a6dd47fd556c1ef2e6 Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Thu, 25 Oct 2012 15:33:59 +0800
Subject: [PATCH] Fix a regression in 2.9.0 breaking validation while
streaming
https://bugzilla.gnome.org/show_bug.cgi?id=684774
with help from Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
---
SAX2.c | 2 +-
parser.c | 7 +++++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/SAX2.c b/SAX2.c
index a24abc8..3eea39a 100644
--- a/SAX2.c
+++ b/SAX2.c
@@ -2202,7 +2202,7 @@ xmlSAX2StartElementNs(void *ctx,
(ctxt->myDoc->intSubset->elements == NULL) &&
(ctxt->myDoc->intSubset->attributes == NULL) &&
(ctxt->myDoc->intSubset->entities == NULL)))) {
- xmlErrValid(ctxt, XML_ERR_NO_DTD,
+ xmlErrValid(ctxt, XML_DTD_NO_DTD,
"Validation failed: no DTD found !", NULL, NULL);
ctxt->validate = 0;
}
diff --git a/parser.c b/parser.c
index 28b0d80..19f1217 100644
--- a/parser.c
+++ b/parser.c
@@ -11633,7 +11633,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
"PP: Parsing internal subset\n");
#endif
ctxt->inSubset = 1;
- ctxt->progressive = 1;
+ ctxt->progressive = 0;
ctxt->checkIndex = 0;
xmlParseDocTypeDecl(ctxt);
if (RAW == '[') {
@@ -12219,7 +12219,10 @@ xmldecl_done:
}
ctxt->instate = XML_PARSER_EOF;
}
- return((xmlParserErrors) ctxt->errNo);
+ if (ctxt->wellFormed == 0)
+ return((xmlParserErrors) ctxt->errNo);
+ else
+ return(0);
}
/************************************************************************
--
1.8.0

View File

@ -0,0 +1,65 @@
From 0ad948ede2b5060a144c72e4e27c38d24a272ef4 Mon Sep 17 00:00:00 2001
From: Tim Starling <tstarling@wikimedia.org>
Date: Mon, 29 Oct 2012 13:41:55 +1100
Subject: [PATCH] Define LIBXML_THREAD_ALLOC_ENABLED via xmlversion.h
Otherwise, direct calls to xmlFree() etc. from the application will
use a different set of allocation functions to what was used to allocate
the memory internally.
---
configure.in | 4 +++-
include/libxml/xmlversion.h.in | 9 +++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/configure.in b/configure.in
index 6da057c..245c033 100644
--- a/configure.in
+++ b/configure.in
@@ -954,6 +954,7 @@ WITH_THREADS=0
THREAD_CFLAGS=""
TEST_THREADS=""
THREADS_W32=""
+WITH_THREAD_ALLOC=0
if test "$with_threads" = "no" ; then
echo Disabling multithreaded support
@@ -1017,7 +1018,7 @@ else
fi
fi
if test "$with_thread_alloc" = "yes" -a "$WITH_THREADS" = "1" ; then
- THREAD_CFLAGS="$THREAD_CFLAGS -DLIBXML_THREAD_ALLOC_ENABLED"
+ WITH_THREAD_ALLOC=1
fi
AC_SUBST(THREAD_LIBS)
@@ -1025,6 +1026,7 @@ AC_SUBST(BASE_THREAD_LIBS)
AC_SUBST(WITH_THREADS)
AC_SUBST(THREAD_CFLAGS)
AC_SUBST(TEST_THREADS)
+AC_SUBST(WITH_THREAD_ALLOC)
AM_CONDITIONAL([THREADS_W32],[test -n "$THREADS_W32"])
dnl
diff --git a/include/libxml/xmlversion.h.in b/include/libxml/xmlversion.h.in
index c98e7ca..00a836f 100644
--- a/include/libxml/xmlversion.h.in
+++ b/include/libxml/xmlversion.h.in
@@ -98,6 +98,15 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
#endif
/**
+ * LIBXML_THREAD_ALLOC_ENABLED:
+ *
+ * Whether the allocation hooks are per-thread
+ */
+#if @WITH_THREAD_ALLOC@
+#define LIBXML_THREAD_ALLOC_ENABLED
+#endif
+
+/**
* LIBXML_TREE_ENABLED:
*
* Whether the DOM like tree manipulation API support is configured in
--
1.8.0

View File

@ -0,0 +1,37 @@
From 3f6cfbd1d38d0634a2ddcb9a0a13e1b5a2195a5e Mon Sep 17 00:00:00 2001
From: Friedrich Haubensak <hsk@fli-leibniz.de>
Date: Wed, 12 Sep 2012 17:34:53 +0200
Subject: [PATCH] Fix a thread portability problem
cannot compile libxml2-2.9.0 using studio 12.1 compiler on solaris 10
I.M.O. structure initializer (as PTHREAD_ONCE_INIT) cannot be used in
a structure assignment anyway
---
threads.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/threads.c b/threads.c
index f206149..7e85a26 100644
--- a/threads.c
+++ b/threads.c
@@ -146,6 +146,7 @@ struct _xmlRMutex {
static pthread_key_t globalkey;
static pthread_t mainthread;
static pthread_once_t once_control = PTHREAD_ONCE_INIT;
+static pthread_once_t once_control_init = PTHREAD_ONCE_INIT;
static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER;
#elif defined HAVE_WIN32_THREADS
#if defined(HAVE_COMPILER_TLS)
@@ -915,7 +916,7 @@ xmlCleanupThreads(void)
#ifdef HAVE_PTHREAD_H
if ((libxml_is_threaded) && (pthread_key_delete != NULL))
pthread_key_delete(globalkey);
- once_control = PTHREAD_ONCE_INIT;
+ once_control = once_control_init;
#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
if (globalkey != TLS_OUT_OF_INDEXES) {
xmlGlobalStateCleanupHelperParams *p;
--
1.8.0

View File

@ -0,0 +1,237 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/libxml2-2.7.8-r4.ebuild,v 1.6 2012/01/16 02:59:51 jer Exp $
EAPI="3"
PYTHON_DEPEND="python? 2"
PYTHON_USE_WITH="-build xml"
PYTHON_USE_WITH_OPT="python"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="3.* *-jython"
inherit libtool flag-o-matic eutils python autotools prefix
DESCRIPTION="Version 2 of the library to manipulate XML files"
HOMEPAGE="http://www.xmlsoft.org/"
LICENSE="MIT"
SLOT="2"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
IUSE="debug doc examples icu ipv6 python readline static-libs test"
XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
XSTS_NAME_1="xmlschema2002-01-16"
XSTS_NAME_2="xmlschema2004-01-14"
XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz
test? (
${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2} )"
RDEPEND="sys-libs/zlib
icu? ( dev-libs/icu )
readline? ( sys-libs/readline )"
DEPEND="${RDEPEND}
hppa? ( >=sys-devel/binutils-2.15.92.0.2 )"
pkg_setup() {
if use python; then
python_pkg_setup
fi
}
src_unpack() {
# ${A} isn't used to avoid unpacking of test tarballs into $WORKDIR,
# as they are needed as tarballs in ${S}/xstc instead and not unpacked
unpack ${P}.tar.gz
cd "${S}"
if use test; then
cp "${DISTDIR}/${XSTS_TARBALL_1}" \
"${DISTDIR}/${XSTS_TARBALL_2}" \
"${S}"/xstc/ \
|| die "Failed to install test tarballs"
fi
}
src_prepare() {
# Patches needed for prefix support
epatch "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
epatch "${FILESDIR}"/${PN}-2.7.2-winnt.patch
eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
epunt_cxx
# Reactivate the shared library versionning script
epatch "${FILESDIR}/${P}-reactivate-script.patch"
# Fix a potential memory access error
epatch "${FILESDIR}/${P}-xpath-memory.patch"
# Fix a potential freeing error in XPath
epatch "${FILESDIR}/${P}-xpath-freeing.patch"
epatch "${FILESDIR}/${P}-xpath-freeing2.patch"
# Fix some potential problems on reallocation failures
epatch "${FILESDIR}/${P}-reallocation-failures.patch"
epatch "${FILESDIR}/${P}-disable_static_modules.patch"
# Hardening of XPath evaluation
epatch "${FILESDIR}/${P}-hardening-xpath.patch"
# Fix missing error status in XPath evaluation
epatch "${FILESDIR}/${P}-error-xpath.patch"
# Heap-based overflow in parsing long entity references
epatch "${FILESDIR}/${P}-allocation-error-copying-entities.patch"
epatch "${FILESDIR}/${P}-stop-parse.patch"
epatch "${FILESDIR}/${P}-utf-8.patch"
# Please do not remove, as else we get references to PORTAGE_TMPDIR
# in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
# We now need to run eautoreconf at the end to prevent maintainer mode.
# elibtoolize
# Python bindings are built/tested/installed manually.
sed -e "s/@PYTHON_SUBDIR@//" -i Makefile.am || die "sed failed"
eautoreconf
}
src_configure() {
# USE zlib support breaks gnome2
# (libgnomeprint for instance fails to compile with
# fresh install, and existing) - <azarah@gentoo.org> (22 Dec 2002).
# The meaning of the 'debug' USE flag does not apply to the --with-debug
# switch (enabling the libxml2 debug module). See bug #100898.
# --with-mem-debug causes unusual segmentation faults (bug #105120).
local myconf="--with-html-subdir=${PF}/html
--docdir=${EPREFIX}/usr/share/doc/${PF}
$(use_with debug run-debug)
$(use_with icu)
$(use_with python)
$(use_with readline)
$(use_with readline history)
$(use_enable ipv6)
$(use_enable static-libs static)"
# filter seemingly problematic CFLAGS (#26320)
filter-flags -fprefetch-loop-arrays -funroll-loops
econf ${myconf}
}
src_compile() {
default
if use python; then
python_copy_sources python
building() {
emake PYTHON_INCLUDES="${EPREFIX}$(python_get_includedir)" \
PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)"
}
python_execute_function -s --source-dir python building
fi
}
src_test() {
default
if use python; then
testing() {
emake test
}
python_execute_function -s --source-dir python testing
fi
}
src_install() {
emake DESTDIR="${D}" \
EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples \
install || die "Installation failed"
# on windows, xmllint is installed by interix libxml2 in parent prefix.
# this is the version to use. the native winnt version does not support
# symlinks, which makes repoman fail if the portage tree is linked in
# from another location (which is my default). -- mduft
if [[ ${CHOST} == *-winnt* ]]; then
rm -rf "${ED}"/usr/bin/xmllint
rm -rf "${ED}"/usr/bin/xmlcatalog
fi
if use python; then
installation() {
emake DESTDIR="${D}" \
PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)" \
docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
install
}
python_execute_function -s --source-dir python installation
python_clean_installation_image
fi
rm -rf "${ED}"/usr/share/doc/${P}
dodoc AUTHORS ChangeLog Copyright NEWS README* TODO* || die "dodoc failed"
if ! use python; then
rm -rf "${ED}"/usr/share/doc/${PF}/python
rm -rf "${ED}"/usr/share/doc/${PN}-python-${PV}
fi
if ! use doc; then
rm -rf "${ED}"/usr/share/gtk-doc
rm -rf "${ED}"/usr/share/doc/${PF}/html
fi
if ! use examples; then
rm -rf "${ED}/usr/share/doc/${PF}/examples"
rm -rf "${ED}/usr/share/doc/${PF}/python/examples"
fi
if ! use static-libs; then
# Remove useless .la files
find "${D}" -name '*.la' -exec rm -f {} + || die "la file removal failed"
fi
}
pkg_postinst() {
if use python; then
python_mod_optimize drv_libxml2.py libxml2.py
fi
# We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
# be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
if [ "${ROOT}" != "/" ]
then
elog "Skipping XML catalog creation for stage building (bug #208887)."
else
# need an XML catalog, so no-one writes to a non-existent one
CATALOG="${EROOT}etc/xml/catalog"
# we dont want to clobber an existing catalog though,
# only ensure that one is there
# <obz@gentoo.org>
if [ ! -e ${CATALOG} ]; then
[ -d "${EROOT}etc/xml" ] || mkdir -p "${EROOT}etc/xml"
"${EPREFIX}"/usr/bin/xmlcatalog --create > ${CATALOG}
einfo "Created XML catalog in ${CATALOG}"
fi
fi
}
pkg_postrm() {
if use python; then
python_mod_cleanup drv_libxml2.py libxml2.py
fi
}

View File

@ -0,0 +1,228 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/libxml2-2.8.0-r3.ebuild,v 1.9 2012/12/15 17:42:56 armin76 Exp $
EAPI="4"
PYTHON_DEPEND="python? 2"
PYTHON_USE_WITH="xml"
PYTHON_USE_WITH_OPT="python"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="3.* *-jython 2.7-pypy-*"
inherit libtool flag-o-matic eutils python autotools prefix
DESCRIPTION="Version 2 of the library to manipulate XML files"
HOMEPAGE="http://www.xmlsoft.org/"
LICENSE="MIT"
SLOT="2"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
IUSE="debug doc examples icu ipv6 lzma python readline static-libs test"
XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
XSTS_NAME_1="xmlschema2002-01-16"
XSTS_NAME_2="xmlschema2004-01-14"
XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
test? (
${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2} )
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${P}-namespace-node-patches.tar.bz2"
RDEPEND="sys-libs/zlib
icu? ( dev-libs/icu )
lzma? ( app-arch/xz-utils )
readline? ( sys-libs/readline )"
DEPEND="${RDEPEND}
hppa? ( >=sys-devel/binutils-2.15.92.0.2 )"
S="${WORKDIR}/${PN}-${PV%_rc*}"
pkg_setup() {
use python && python_pkg_setup
}
src_unpack() {
# ${A} isn't used to avoid unpacking of test tarballs into $WORKDIR,
# as they are needed as tarballs in ${S}/xstc instead and not unpacked
unpack ${P/_rc/-rc}.tar.gz
unpack "${P}-namespace-node-patches.tar.bz2"
cd "${S}"
if use test; then
cp "${DISTDIR}/${XSTS_TARBALL_1}" \
"${DISTDIR}/${XSTS_TARBALL_2}" \
"${S}"/xstc/ \
|| die "Failed to install test tarballs"
fi
}
src_prepare() {
# Patches needed for prefix support
epatch "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
epatch "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch
eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
epunt_cxx
epatch "${FILESDIR}/${PN}-2.7.8-disable_static_modules.patch"
# Prevent linking to out-of-build-tree libxml2, bug #417539
epatch "${FILESDIR}/${PN}-2.8.0-icu-linking.patch"
# Namespace nodes require special treatment, bug #434344
epatch ../patch/*.patch
# Buffer underflow in xmlParseAttValueComplex, bug #444836; fixed in 2.9.1
epatch "${FILESDIR}/${PN}-2.8.0-xmlParseAttValueComplex-underflow.patch"
# Please do not remove, as else we get references to PORTAGE_TMPDIR
# in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
# We now need to run eautoreconf at the end to prevent maintainer mode.
# elibtoolize
# Python bindings are built/tested/installed manually.
sed -e "s/@PYTHON_SUBDIR@//" -i Makefile.am || die "sed 1 failed"
# Use Gentoo's python-config naming scheme
sed -e 's/python$PYTHON_VERSION-config/python-config-$PYTHON_VERSION/' \
-i configure.in || die "sed 2 failed"
eautoreconf
}
src_configure() {
# USE zlib support breaks gnome2
# (libgnomeprint for instance fails to compile with
# fresh install, and existing) - <azarah@gentoo.org> (22 Dec 2002).
# The meaning of the 'debug' USE flag does not apply to the --with-debug
# switch (enabling the libxml2 debug module). See bug #100898.
# --with-mem-debug causes unusual segmentation faults (bug #105120).
local myconf=(
--with-html-subdir=${PF}/html
--docdir="${EPREFIX}/usr/share/doc/${PF}"
$(use_with debug run-debug)
$(use_with icu)
$(use_with lzma)
$(use_with python)
$(use_with readline)
$(use_with readline history)
$(use_enable ipv6)
$(use_enable static-libs static) )
# filter seemingly problematic CFLAGS (#26320)
filter-flags -fprefetch-loop-arrays -funroll-loops
econf "${myconf[@]}"
}
src_compile() {
default
if use python; then
python_copy_sources python
building() {
emake PYTHON_INCLUDES="${EPREFIX}$(python_get_includedir)" \
PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)"
}
python_execute_function -s --source-dir python building
fi
}
src_test() {
default
if use python; then
testing() {
emake test
}
python_execute_function -s --source-dir python testing
fi
}
src_install() {
emake DESTDIR="${D}" \
EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples \
install || die "Installation failed"
# on windows, xmllint is installed by interix libxml2 in parent prefix.
# this is the version to use. the native winnt version does not support
# symlinks, which makes repoman fail if the portage tree is linked in
# from another location (which is my default). -- mduft
if [[ ${CHOST} == *-winnt* ]]; then
rm -rf "${ED}"/usr/bin/xmllint
rm -rf "${ED}"/usr/bin/xmlcatalog
fi
if use python; then
installation() {
emake DESTDIR="${D}" \
PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)" \
docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
install
}
python_execute_function -s --source-dir python installation
python_clean_installation_image
fi
rm -rf "${ED}"/usr/share/doc/${P}
dodoc AUTHORS ChangeLog Copyright NEWS README* TODO*
if ! use python; then
rm -rf "${ED}"/usr/share/doc/${PF}/python
rm -rf "${ED}"/usr/share/doc/${PN}-python-${PV}
fi
if ! use doc; then
rm -rf "${ED}"/usr/share/gtk-doc
rm -rf "${ED}"/usr/share/doc/${PF}/html
fi
if ! use examples; then
rm -rf "${ED}/usr/share/doc/${PF}/examples"
rm -rf "${ED}/usr/share/doc/${PF}/python/examples"
fi
# Always remove useless .la files
find "${D}" -name '*.la' -exec rm -f {} + || die "la file removal failed"
}
pkg_postinst() {
if use python; then
python_mod_optimize drv_libxml2.py libxml2.py
fi
# We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
# be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
if [ "${ROOT}" != "/" ]
then
elog "Skipping XML catalog creation for stage building (bug #208887)."
else
# need an XML catalog, so no-one writes to a non-existent one
CATALOG="${EROOT}etc/xml/catalog"
# we dont want to clobber an existing catalog though,
# only ensure that one is there
# <obz@gentoo.org>
if [ ! -e ${CATALOG} ]; then
[ -d "${EROOT}etc/xml" ] || mkdir -p "${EROOT}etc/xml"
"${EPREFIX}"/usr/bin/xmlcatalog --create > ${CATALOG}
einfo "Created XML catalog in ${CATALOG}"
fi
fi
}
pkg_postrm() {
if use python; then
python_mod_cleanup drv_libxml2.py libxml2.py
fi
}

View File

@ -0,0 +1,197 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/libxml2-2.8.0-r4.ebuild,v 1.1 2012/12/18 07:48:21 tetromino Exp $
EAPI="5"
PYTHON_COMPAT=( python{2_5,2_6,2_7} )
PYTHON_REQ_USE="xml"
inherit libtool flag-o-matic eutils python-r1 autotools prefix
DESCRIPTION="Version 2 of the library to manipulate XML files"
HOMEPAGE="http://www.xmlsoft.org/"
LICENSE="MIT"
SLOT="2"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
IUSE="debug examples icu ipv6 lzma python readline static-libs test"
XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
XSTS_NAME_1="xmlschema2002-01-16"
XSTS_NAME_2="xmlschema2004-01-14"
XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
XMLCONF_TARBALL="xmlts20080827.tar.gz"
SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
test? (
${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
http://www.w3.org/XML/Test/${XMLCONF_TARBALL} )
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${P}-namespace-node-patches.tar.bz2"
RDEPEND="sys-libs/zlib:=
icu? ( dev-libs/icu:= )
lzma? ( app-arch/xz-utils:= )
python? ( ${PYTHON_DEPS} )
readline? ( sys-libs/readline:= )"
DEPEND="${RDEPEND}
dev-util/gtk-doc-am
hppa? ( >=sys-devel/binutils-2.15.92.0.2 )"
S="${WORKDIR}/${PN}-${PV%_rc*}"
src_unpack() {
# ${A} isn't used to avoid unpacking of test tarballs into $WORKDIR,
# as they are needed as tarballs in ${S}/xstc instead and not unpacked
unpack ${P/_rc/-rc}.tar.gz
unpack "${P}-namespace-node-patches.tar.bz2"
cd "${S}"
if use test; then
cp "${DISTDIR}/${XSTS_TARBALL_1}" \
"${DISTDIR}/${XSTS_TARBALL_2}" \
"${S}"/xstc/ \
|| die "Failed to install test tarballs"
unpack ${XMLCONF_TARBALL}
fi
}
src_prepare() {
# Patches needed for prefix support
epatch "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
epatch "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch
eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
epunt_cxx
epatch "${FILESDIR}/${PN}-2.7.8-disable_static_modules.patch"
# Prevent linking to out-of-build-tree libxml2, bug #417539
epatch "${FILESDIR}/${PN}-2.8.0-icu-linking.patch"
# Namespace nodes require special treatment, bug #434344
epatch ../patch/*.patch
# Buffer underflow in xmlParseAttValueComplex, bug #444836; fixed in 2.9.1
epatch "${FILESDIR}/${PN}-2.8.0-xmlParseAttValueComplex-underflow.patch"
# Please do not remove, as else we get references to PORTAGE_TMPDIR
# in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
# We now need to run eautoreconf at the end to prevent maintainer mode.
# elibtoolize
# Python bindings are built/tested/installed manually.
epatch "${FILESDIR}/${PN}-2.9.0-manual-python.patch"
eautoreconf
}
src_configure() {
# filter seemingly problematic CFLAGS (#26320)
filter-flags -fprefetch-loop-arrays -funroll-loops
# USE zlib support breaks gnome2
# (libgnomeprint for instance fails to compile with
# fresh install, and existing) - <azarah@gentoo.org> (22 Dec 2002).
# The meaning of the 'debug' USE flag does not apply to the --with-debug
# switch (enabling the libxml2 debug module). See bug #100898.
# --with-mem-debug causes unusual segmentation faults (bug #105120).
econf \
-with-html-subdir=${PF}/html \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
$(use_with debug run-debug) \
$(use_with icu) \
$(use_with lzma) \
$(use_with python) \
$(use_with readline) \
$(use_with readline history) \
$(use_enable ipv6) \
$(use_enable static-libs static)
}
src_compile() {
default
if use python; then
python_copy_sources
python_foreach_impl libxml2_py_emake
fi
}
src_test() {
default
use python && python_foreach_impl libxml2_py_emake test
}
src_install() {
emake DESTDIR="${D}" \
EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples install
# on windows, xmllint is installed by interix libxml2 in parent prefix.
# this is the version to use. the native winnt version does not support
# symlinks, which makes repoman fail if the portage tree is linked in
# from another location (which is my default). -- mduft
if [[ ${CHOST} == *-winnt* ]]; then
rm -rf "${ED}"/usr/bin/xmllint
rm -rf "${ED}"/usr/bin/xmlcatalog
fi
if use python; then
python_foreach_impl libxml2_py_emake DESTDIR="${D}" \
docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
install
python_foreach_impl python_optimize
fi
rm -rf "${ED}"/usr/share/doc/${P}
dodoc AUTHORS ChangeLog Copyright NEWS README* TODO*
if ! use python; then
rm -rf "${ED}"/usr/share/doc/${PF}/python
rm -rf "${ED}"/usr/share/doc/${PN}-python-${PV}
fi
if ! use examples; then
rm -rf "${ED}/usr/share/doc/${PF}/examples"
rm -rf "${ED}/usr/share/doc/${PF}/python/examples"
fi
prune_libtool_files --modules
}
pkg_postinst() {
# We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
# be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
if [[ "${ROOT}" != "/" ]]; then
elog "Skipping XML catalog creation for stage building (bug #208887)."
else
# need an XML catalog, so no-one writes to a non-existent one
CATALOG="${EROOT}etc/xml/catalog"
# we dont want to clobber an existing catalog though,
# only ensure that one is there
# <obz@gentoo.org>
if [[ ! -e ${CATALOG} ]]; then
[[ -d "${EROOT}etc/xml" ]] || mkdir -p "${EROOT}etc/xml"
"${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
einfo "Created XML catalog in ${CATALOG}"
fi
fi
}
libxml2_py_emake() {
pushd "${BUILD_DIR}/python" > /dev/null || die
emake \
PYTHON="${PYTHON}" \
PYTHON_INCLUDES="${EPREFIX}/usr/include/${EPYTHON}" \
PYTHON_LIBS="$(python-config --ldflags)" \
PYTHON_SITE_PACKAGES="$(python_get_sitedir)" \
pythondir="$(python_get_sitedir)" \
PYTHON_VERSION=${EPYTHON/python} "$@"
popd > /dev/null
}

View File

@ -0,0 +1,197 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/libxml2-2.9.0-r1.ebuild,v 1.1 2012/12/18 07:48:21 tetromino Exp $
EAPI="5"
PYTHON_COMPAT=( python{2_5,2_6,2_7} )
PYTHON_REQ_USE="xml"
inherit libtool flag-o-matic eutils python-r1 autotools prefix
DESCRIPTION="Version 2 of the library to manipulate XML files"
HOMEPAGE="http://www.xmlsoft.org/"
LICENSE="MIT"
SLOT="2"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
IUSE="debug examples icu ipv6 lzma python readline static-libs test"
XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
XSTS_NAME_1="xmlschema2002-01-16"
XSTS_NAME_2="xmlschema2004-01-14"
XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
XMLCONF_TARBALL="xmlts20080827.tar.gz"
SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
test? (
${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
http://www.w3.org/XML/Test/${XMLCONF_TARBALL} )"
RDEPEND="sys-libs/zlib:=
icu? ( dev-libs/icu:= )
lzma? ( app-arch/xz-utils:= )
python? ( ${PYTHON_DEPS} )
readline? ( sys-libs/readline:= )"
DEPEND="${RDEPEND}
dev-util/gtk-doc-am
hppa? ( >=sys-devel/binutils-2.15.92.0.2 )"
S="${WORKDIR}/${PN}-${PV%_rc*}"
src_unpack() {
# ${A} isn't used to avoid unpacking of test tarballs into $WORKDIR,
# as they are needed as tarballs in ${S}/xstc instead and not unpacked
unpack ${P/_rc/-rc}.tar.gz
cd "${S}"
if use test; then
cp "${DISTDIR}/${XSTS_TARBALL_1}" \
"${DISTDIR}/${XSTS_TARBALL_2}" \
"${S}"/xstc/ \
|| die "Failed to install test tarballs"
unpack ${XMLCONF_TARBALL}
fi
}
src_prepare() {
# Patches needed for prefix support
epatch "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
epatch "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch
eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
epunt_cxx
epatch "${FILESDIR}/${PN}-2.9.0-disable_static_modules.patch"
# Important patches from 2.9.1
epatch "${FILESDIR}/${P}-rand_seed.patch" \
"${FILESDIR}/${P}-thread-portability.patch" \
"${FILESDIR}/${P}-streaming-validation.patch" \
"${FILESDIR}/${P}-nsclean.patch" \
"${FILESDIR}/${P}-large-file-parse.patch" \
"${FILESDIR}/${P}-thread-alloc.patch"
# Buffer underflow in xmlParseAttValueComplex, bug #444836; fixed in 2.9.1
epatch "${FILESDIR}/${PN}-2.8.0-xmlParseAttValueComplex-underflow.patch"
# Please do not remove, as else we get references to PORTAGE_TMPDIR
# in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
# We now need to run eautoreconf at the end to prevent maintainer mode.
# elibtoolize
# Python bindings are built/tested/installed manually.
epatch "${FILESDIR}/${PN}-2.9.0-manual-python.patch"
eautoreconf
}
src_configure() {
# filter seemingly problematic CFLAGS (#26320)
filter-flags -fprefetch-loop-arrays -funroll-loops
# USE zlib support breaks gnome2
# (libgnomeprint for instance fails to compile with
# fresh install, and existing) - <azarah@gentoo.org> (22 Dec 2002).
# The meaning of the 'debug' USE flag does not apply to the --with-debug
# switch (enabling the libxml2 debug module). See bug #100898.
# --with-mem-debug causes unusual segmentation faults (bug #105120).
econf \
-with-html-subdir=${PF}/html \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
$(use_with debug run-debug) \
$(use_with icu) \
$(use_with lzma) \
$(use_with python) \
$(use_with readline) \
$(use_with readline history) \
$(use_enable ipv6) \
$(use_enable static-libs static)
}
src_compile() {
default
if use python; then
python_copy_sources
python_foreach_impl libxml2_py_emake
fi
}
src_test() {
default
use python && python_foreach_impl libxml2_py_emake test
}
src_install() {
emake DESTDIR="${D}" \
EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples install
# on windows, xmllint is installed by interix libxml2 in parent prefix.
# this is the version to use. the native winnt version does not support
# symlinks, which makes repoman fail if the portage tree is linked in
# from another location (which is my default). -- mduft
if [[ ${CHOST} == *-winnt* ]]; then
rm -rf "${ED}"/usr/bin/xmllint
rm -rf "${ED}"/usr/bin/xmlcatalog
fi
if use python; then
python_foreach_impl libxml2_py_emake DESTDIR="${D}" \
docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
install
python_foreach_impl python_optimize
fi
rm -rf "${ED}"/usr/share/doc/${P}
dodoc AUTHORS ChangeLog Copyright NEWS README* TODO*
if ! use python; then
rm -rf "${ED}"/usr/share/doc/${PF}/python
rm -rf "${ED}"/usr/share/doc/${PN}-python-${PV}
fi
if ! use examples; then
rm -rf "${ED}/usr/share/doc/${PF}/examples"
rm -rf "${ED}/usr/share/doc/${PF}/python/examples"
fi
prune_libtool_files --modules
}
pkg_postinst() {
# We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
# be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
if [[ "${ROOT}" != "/" ]]; then
elog "Skipping XML catalog creation for stage building (bug #208887)."
else
# need an XML catalog, so no-one writes to a non-existent one
CATALOG="${EROOT}etc/xml/catalog"
# we dont want to clobber an existing catalog though,
# only ensure that one is there
# <obz@gentoo.org>
if [[ ! -e ${CATALOG} ]]; then
[[ -d "${EROOT}etc/xml" ]] || mkdir -p "${EROOT}etc/xml"
"${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
einfo "Created XML catalog in ${CATALOG}"
fi
fi
}
libxml2_py_emake() {
pushd "${BUILD_DIR}/python" > /dev/null || die
emake \
PYTHON="${PYTHON}" \
PYTHON_INCLUDES="${EPREFIX}/usr/include/${EPYTHON}" \
PYTHON_LIBS="$(python-config --ldflags)" \
PYTHON_SITE_PACKAGES="$(python_get_sitedir)" \
pythondir="$(python_get_sitedir)" \
PYTHON_VERSION=${EPYTHON/python} "$@"
popd > /dev/null
}

View File

@ -0,0 +1,226 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/libxml2-2.9.0.ebuild,v 1.1 2012/11/27 05:43:54 tetromino Exp $
EAPI="5"
PYTHON_DEPEND="python? 2"
PYTHON_USE_WITH="xml"
PYTHON_USE_WITH_OPT="python"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="3.* *-jython 2.7-pypy-*"
inherit libtool flag-o-matic eutils python autotools prefix
DESCRIPTION="Version 2 of the library to manipulate XML files"
HOMEPAGE="http://www.xmlsoft.org/"
LICENSE="MIT"
SLOT="2"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
IUSE="debug examples icu ipv6 lzma python readline static-libs test"
XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
XSTS_NAME_1="xmlschema2002-01-16"
XSTS_NAME_2="xmlschema2004-01-14"
XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
XMLCONF_TARBALL="xmlts20080827.tar.gz"
SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
test? (
${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
http://www.w3.org/XML/Test/${XMLCONF_TARBALL} )"
RDEPEND="sys-libs/zlib
icu? ( dev-libs/icu )
lzma? ( app-arch/xz-utils )
readline? ( sys-libs/readline )"
DEPEND="${RDEPEND}
dev-util/gtk-doc-am
hppa? ( >=sys-devel/binutils-2.15.92.0.2 )"
S="${WORKDIR}/${PN}-${PV%_rc*}"
pkg_setup() {
use python && python_pkg_setup
}
src_unpack() {
# ${A} isn't used to avoid unpacking of test tarballs into $WORKDIR,
# as they are needed as tarballs in ${S}/xstc instead and not unpacked
unpack ${P/_rc/-rc}.tar.gz
cd "${S}"
if use test; then
cp "${DISTDIR}/${XSTS_TARBALL_1}" \
"${DISTDIR}/${XSTS_TARBALL_2}" \
"${S}"/xstc/ \
|| die "Failed to install test tarballs"
unpack ${XMLCONF_TARBALL}
fi
}
src_prepare() {
# Patches needed for prefix support
epatch "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
epatch "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch
eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
epunt_cxx
epatch "${FILESDIR}/${PN}-2.9.0-disable_static_modules.patch"
# Important patches from 2.9.1
epatch "${FILESDIR}/${P}-rand_seed.patch" \
"${FILESDIR}/${P}-thread-portability.patch" \
"${FILESDIR}/${P}-streaming-validation.patch" \
"${FILESDIR}/${P}-nsclean.patch" \
"${FILESDIR}/${P}-large-file-parse.patch" \
"${FILESDIR}/${P}-thread-alloc.patch"
# Buffer underflow in xmlParseAttValueComplex, bug #444836; fixed in 2.9.1
epatch "${FILESDIR}/${PN}-2.8.0-xmlParseAttValueComplex-underflow.patch"
# Please do not remove, as else we get references to PORTAGE_TMPDIR
# in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
# We now need to run eautoreconf at the end to prevent maintainer mode.
# elibtoolize
# Python bindings are built/tested/installed manually.
sed -e 's/$(PYTHON_SUBDIR)//' -i Makefile.am || die "sed 1 failed"
# Use Gentoo's python-config naming scheme
sed -e 's/python$PYTHON_VERSION-config/python-config-$PYTHON_VERSION/' \
-i configure.in || die "sed 2 failed"
eautoreconf
}
src_configure() {
# USE zlib support breaks gnome2
# (libgnomeprint for instance fails to compile with
# fresh install, and existing) - <azarah@gentoo.org> (22 Dec 2002).
# The meaning of the 'debug' USE flag does not apply to the --with-debug
# switch (enabling the libxml2 debug module). See bug #100898.
# --with-mem-debug causes unusual segmentation faults (bug #105120).
local myconf=(
--with-html-subdir=${PF}/html
--docdir="${EPREFIX}/usr/share/doc/${PF}"
$(use_with debug run-debug)
$(use_with icu)
$(use_with lzma)
$(use_with python)
$(use_with readline)
$(use_with readline history)
$(use_enable ipv6)
$(use_enable static-libs static) )
# filter seemingly problematic CFLAGS (#26320)
filter-flags -fprefetch-loop-arrays -funroll-loops
econf "${myconf[@]}"
}
src_compile() {
default
if use python; then
python_copy_sources python
building() {
emake PYTHON_INCLUDES="${EPREFIX}$(python_get_includedir)" \
PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)"
}
python_execute_function -s --source-dir python building
fi
}
src_test() {
default
if use python; then
testing() {
emake test
}
python_execute_function -s --source-dir python testing
fi
}
src_install() {
emake DESTDIR="${D}" \
EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples \
install || die "Installation failed"
# on windows, xmllint is installed by interix libxml2 in parent prefix.
# this is the version to use. the native winnt version does not support
# symlinks, which makes repoman fail if the portage tree is linked in
# from another location (which is my default). -- mduft
if [[ ${CHOST} == *-winnt* ]]; then
rm -rf "${ED}"/usr/bin/xmllint
rm -rf "${ED}"/usr/bin/xmlcatalog
fi
if use python; then
installation() {
emake DESTDIR="${D}" \
PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)" \
docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
install
}
python_execute_function -s --source-dir python installation
python_clean_installation_image
fi
rm -rf "${ED}"/usr/share/doc/${P}
dodoc AUTHORS ChangeLog Copyright NEWS README* TODO*
if ! use python; then
rm -rf "${ED}"/usr/share/doc/${PF}/python
rm -rf "${ED}"/usr/share/doc/${PN}-python-${PV}
fi
if ! use examples; then
rm -rf "${ED}/usr/share/doc/${PF}/examples"
rm -rf "${ED}/usr/share/doc/${PF}/python/examples"
fi
prune_libtool_files
}
pkg_postinst() {
if use python; then
python_mod_optimize drv_libxml2.py libxml2.py
fi
# We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
# be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
if [ "${ROOT}" != "/" ]
then
elog "Skipping XML catalog creation for stage building (bug #208887)."
else
# need an XML catalog, so no-one writes to a non-existent one
CATALOG="${EROOT}etc/xml/catalog"
# we dont want to clobber an existing catalog though,
# only ensure that one is there
# <obz@gentoo.org>
if [ ! -e ${CATALOG} ]; then
[ -d "${EROOT}etc/xml" ] || mkdir -p "${EROOT}etc/xml"
"${EPREFIX}"/usr/bin/xmlcatalog --create > ${CATALOG}
einfo "Created XML catalog in ${CATALOG}"
fi
fi
}
pkg_postrm() {
if use python; then
python_mod_cleanup drv_libxml2.py libxml2.py
fi
}