Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37887514
en ru br
ALT Linux repositórios
S:1.1.37-alt1
5.0: 1.1.24-alt1
4.1: 1.1.24-alt0.M41.1
4.0: 1.1.24-alt0.M40.1
3.0: 1.1.14-alt1

Group :: Sistema/Bibliotecas
RPM: libxslt

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

Patch: libxslt-1.1.24-alt0.M40.1.patch
Download


 .gear/rules                                        |    2 +
 .../tags/478cfae4f011347a0bd55d5ff8580616e04f167e  |   13 +
 .gear/tags/list                                    |    2 +
 doc/APIchunk13.html                                |   47 +++
 libexslt.pc.in                                     |    2 +-
 libexslt/crypto.c                                  |   84 ++++-
 libxslt.pc.in                                      |    2 +-
 libxslt.spec                                       |  409 ++++++++++++++++++++
 libxslt/Makefile.am                                |    7 +-
 libxslt/libxslt.map                                |   36 ++
 libxslt/xsltwin32config.h                          |    2 +-
 python/Makefile.am                                 |    5 +-
 python/tests/Makefile.am                           |    3 +-
 13 files changed, 589 insertions(+), 25 deletions(-)
diff --git a/.gear/rules b/.gear/rules
new file mode 100644
index 0000000..775b958
--- /dev/null
+++ b/.gear/rules
@@ -0,0 +1,2 @@
+tar: @version@:. name=libxslt-@version@
+diff: @version@:. .
diff --git a/.gear/tags/478cfae4f011347a0bd55d5ff8580616e04f167e b/.gear/tags/478cfae4f011347a0bd55d5ff8580616e04f167e
new file mode 100644
index 0000000..3b230b3
--- /dev/null
+++ b/.gear/tags/478cfae4f011347a0bd55d5ff8580616e04f167e
@@ -0,0 +1,13 @@
+object 5d239e7d19da8ccf59971cdc78062a780f8697d8
+type commit
+tag 1.1.23
+tagger Alexey Tourbin <at@altlinux.ru> 1208813279 +0400
+
+1.1.23
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iEYEABECAAYFAkgNBt8ACgkQfBKgtDjnu0ablACg15XZUUSS3NDcs4q1RXA5TCqy
+SRcAnAkHxC+zxRVzkRCoWSYwhLJfYxgF
+=LnhW
+-----END PGP SIGNATURE-----
diff --git a/.gear/tags/list b/.gear/tags/list
new file mode 100644
index 0000000..ac110d5
--- /dev/null
+++ b/.gear/tags/list
@@ -0,0 +1,2 @@
+478cfae4f011347a0bd55d5ff8580616e04f167e 1.1.23
+fd71099defdfe97af905c3140119b8ba78352963 1.1.24
diff --git a/doc/APIchunk13.html b/doc/APIchunk13.html
new file mode 100644
index 0000000..5388c24
--- /dev/null
+++ b/doc/APIchunk13.html
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
+TD {font-family: Verdana,Arial,Helvetica}
+BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
+H1 {font-family: Verdana,Arial,Helvetica}
+H2 {font-family: Verdana,Arial,Helvetica}
+H3 {font-family: Verdana,Arial,Helvetica}
+A:link, A:visited, A:active { text-decoration: underline }
+    </style><title>API Alphabetic Index y-z for libxslt</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="GNOME2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for GNOME</h1><h2>API Alphabetic Index y-z for libxslt</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="EXSLT/index.html" style="font-weight:bold">libexslt</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a>,
+          <a href="tutorial2/libxslt_pipes.html">Tutorial2</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://codespeak.net/lxml/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXSLT">Perl XSLT bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading17">XSLT with PHP</a></li><li><a href="http://www.mod-xslt2.com/">Apache module</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-I</a>
+<a href="APIchunk1.html">J-S</a>
+<a href="APIchunk2.html">T-a</a>
+<a href="APIchunk3.html">b-c</a>
+<a href="APIchunk4.html">d-e</a>
+<a href="APIchunk5.html">f-g</a>
+<a href="APIchunk6.html">h-i</a>
+<a href="APIchunk7.html">j-m</a>
+<a href="APIchunk8.html">n-o</a>
+<a href="APIchunk9.html">p-p</a>
+<a href="APIchunk10.html">q-s</a>
+<a href="APIchunk11.html">t-u</a>
+<a href="APIchunk12.html">v-x</a>
+<a href="APIchunk13.html">y-z</a>
+</h2><h2>Letter y:</h2><dl><dt>yes</dt><dd><a href="html/libxslt-xsltInternals.html#_xsltStylesheet">_xsltStylesheet</a><br />
+<a href="html/libxslt-xsltInternals.html#xsltCompileAttr">xsltCompileAttr</a><br />
+</dd><dt>yet</dt><dd><a href="html/libxslt-transform.html#xsltRunStylesheet">xsltRunStylesheet</a><br />
+<a href="html/libxslt-transform.html#xsltRunStylesheetUser">xsltRunStylesheetUser</a><br />
+</dd><dt>you</dt><dd><a href="html/libxslt-templates.html#xsltAttrListTemplateProcess">xsltAttrListTemplateProcess</a><br />
+<a href="html/libxslt-variables.html#xsltEvalUserParams">xsltEvalUserParams</a><br />
+</dd><dt>your</dt><dd><a href="html/libxslt-variables.html#xsltEvalUserParams">xsltEvalUserParams</a><br />
+</dd></dl><h2>Letter z:</h2><dl><dt>zero</dt><dd><a href="html/libxslt-xsltInternals.html#xsltFormatNumberConversion">xsltFormatNumberConversion</a><br />
+</dd></dl><h2 align="center"><a href="APIchunk0.html">A-I</a>
+<a href="APIchunk1.html">J-S</a>
+<a href="APIchunk2.html">T-a</a>
+<a href="APIchunk3.html">b-c</a>
+<a href="APIchunk4.html">d-e</a>
+<a href="APIchunk5.html">f-g</a>
+<a href="APIchunk6.html">h-i</a>
+<a href="APIchunk7.html">j-m</a>
+<a href="APIchunk8.html">n-o</a>
+<a href="APIchunk9.html">p-p</a>
+<a href="APIchunk10.html">q-s</a>
+<a href="APIchunk11.html">t-u</a>
+<a href="APIchunk12.html">v-x</a>
+<a href="APIchunk13.html">y-z</a>
+</h2><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/libexslt.pc.in b/libexslt.pc.in
index 16676ff..a3744a6 100644
--- a/libexslt.pc.in
+++ b/libexslt.pc.in
@@ -8,5 +8,5 @@ Name: libexslt
 Version: @LIBEXSLT_VERSION@
 Description: EXSLT Extension library
 Requires: libxml-2.0
-Libs: @EXSLT_LIBDIR@ @EXSLT_LIBS@
+Libs: @EXSLT_LIBDIR@ -lexslt -lxslt
 Cflags: @EXSLT_INCLUDEDIR@
diff --git a/libexslt/crypto.c b/libexslt/crypto.c
index cef80e8..f88f6e9 100644
--- a/libexslt/crypto.c
+++ b/libexslt/crypto.c
@@ -317,13 +317,13 @@ exsltCryptoCryptoApiRc4Decrypt (xmlXPathParserContextPtr ctxt,
 #define PLATFORM_MD5 GCRY_MD_MD5
 #define PLATFORM_SHA1 GCRY_MD_SHA1
 
-#ifdef HAVE_SYS_TYPES_H                                                        
-# include <sys/types.h>                                                        
-#endif                                                                         
-#ifdef HAVE_STDINT_H                                                           
-# include <stdint.h>                                                           
-#endif                                                                         
-  
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+
 #ifdef HAVE_SYS_SELECT_H
 #include <sys/select.h>		/* needed by gcrypt.h 4 Jul 04 */
 #endif
@@ -595,11 +595,13 @@ exsltCryptoRc4EncryptFunction (xmlXPathParserContextPtr ctxt, int nargs) {
     int str_len = 0, bin_len = 0, hex_len = 0;
     xmlChar *key = NULL, *str = NULL, *padkey = NULL;
     xmlChar *bin = NULL, *hex = NULL;
+    xsltTransformContextPtr tctxt = NULL;
 
-    if ((nargs < 1) || (nargs > 3)) {
+    if (nargs != 2) {
 	xmlXPathSetArityError (ctxt);
 	return;
     }
+    tctxt = xsltXPathGetTransformContext(ctxt);
 
     str = xmlXPathPopString (ctxt);
     str_len = xmlUTF8Strlen (str);
@@ -611,7 +613,7 @@ exsltCryptoRc4EncryptFunction (xmlXPathParserContextPtr ctxt, int nargs) {
     }
 
     key = xmlXPathPopString (ctxt);
-    key_len = xmlUTF8Strlen (str);
+    key_len = xmlUTF8Strlen (key);
 
     if (key_len == 0) {
 	xmlXPathReturnEmptyString (ctxt);
@@ -620,15 +622,33 @@ exsltCryptoRc4EncryptFunction (xmlXPathParserContextPtr ctxt, int nargs) {
 	return;
     }
 
-    padkey = xmlMallocAtomic (RC4_KEY_LENGTH);
+    padkey = xmlMallocAtomic (RC4_KEY_LENGTH + 1);
+    if (padkey == NULL) {
+	xsltTransformError(tctxt, NULL, tctxt->inst,
+	    "exsltCryptoRc4EncryptFunction: Failed to allocate padkey\n");
+	tctxt->state = XSLT_STATE_STOPPED;
+	xmlXPathReturnEmptyString (ctxt);
+	goto done;
+    }
+    memset(padkey, 0, RC4_KEY_LENGTH + 1);
+
     key_size = xmlUTF8Strsize (key, key_len);
+    if ((key_size > RC4_KEY_LENGTH) || (key_size < 0)) {
+	xsltTransformError(tctxt, NULL, tctxt->inst,
+	    "exsltCryptoRc4EncryptFunction: key size too long or key broken\n");
+	tctxt->state = XSLT_STATE_STOPPED;
+	xmlXPathReturnEmptyString (ctxt);
+	goto done;
+    }
     memcpy (padkey, key, key_size);
-    memset (padkey + key_size, '\0', sizeof (padkey));
 
 /* encrypt it */
     bin_len = str_len;
     bin = xmlStrdup (str);
     if (bin == NULL) {
+	xsltTransformError(tctxt, NULL, tctxt->inst,
+	    "exsltCryptoRc4EncryptFunction: Failed to allocate string\n");
+	tctxt->state = XSLT_STATE_STOPPED;
 	xmlXPathReturnEmptyString (ctxt);
 	goto done;
     }
@@ -638,6 +658,9 @@ exsltCryptoRc4EncryptFunction (xmlXPathParserContextPtr ctxt, int nargs) {
     hex_len = str_len * 2 + 1;
     hex = xmlMallocAtomic (hex_len);
     if (hex == NULL) {
+	xsltTransformError(tctxt, NULL, tctxt->inst,
+	    "exsltCryptoRc4EncryptFunction: Failed to allocate result\n");
+	tctxt->state = XSLT_STATE_STOPPED;
 	xmlXPathReturnEmptyString (ctxt);
 	goto done;
     }
@@ -670,11 +693,13 @@ exsltCryptoRc4DecryptFunction (xmlXPathParserContextPtr ctxt, int nargs) {
     int str_len = 0, bin_len = 0, ret_len = 0;
     xmlChar *key = NULL, *str = NULL, *padkey = NULL, *bin =
 	NULL, *ret = NULL;
+    xsltTransformContextPtr tctxt = NULL;
 
-    if ((nargs < 1) || (nargs > 3)) {
+    if (nargs != 2) {
 	xmlXPathSetArityError (ctxt);
 	return;
     }
+    tctxt = xsltXPathGetTransformContext(ctxt);
 
     str = xmlXPathPopString (ctxt);
     str_len = xmlUTF8Strlen (str);
@@ -686,7 +711,7 @@ exsltCryptoRc4DecryptFunction (xmlXPathParserContextPtr ctxt, int nargs) {
     }
 
     key = xmlXPathPopString (ctxt);
-    key_len = xmlUTF8Strlen (str);
+    key_len = xmlUTF8Strlen (key);
 
     if (key_len == 0) {
 	xmlXPathReturnEmptyString (ctxt);
@@ -695,22 +720,51 @@ exsltCryptoRc4DecryptFunction (xmlXPathParserContextPtr ctxt, int nargs) {
 	return;
     }
 
-    padkey = xmlMallocAtomic (RC4_KEY_LENGTH);
+    padkey = xmlMallocAtomic (RC4_KEY_LENGTH + 1);
+    if (padkey == NULL) {
+	xsltTransformError(tctxt, NULL, tctxt->inst,
+	    "exsltCryptoRc4EncryptFunction: Failed to allocate padkey\n");
+	tctxt->state = XSLT_STATE_STOPPED;
+	xmlXPathReturnEmptyString (ctxt);
+	goto done;
+    }
+    memset(padkey, 0, RC4_KEY_LENGTH + 1);
     key_size = xmlUTF8Strsize (key, key_len);
+    if ((key_size > RC4_KEY_LENGTH) || (key_size < 0)) {
+	xsltTransformError(tctxt, NULL, tctxt->inst,
+	    "exsltCryptoRc4EncryptFunction: key size too long or key broken\n");
+	tctxt->state = XSLT_STATE_STOPPED;
+	xmlXPathReturnEmptyString (ctxt);
+	goto done;
+    }
     memcpy (padkey, key, key_size);
-    memset (padkey + key_size, '\0', sizeof (padkey));
 
 /* decode hex to binary */
     bin_len = str_len;
     bin = xmlMallocAtomic (bin_len);
+    if (bin == NULL) {
+	xsltTransformError(tctxt, NULL, tctxt->inst,
+	    "exsltCryptoRc4EncryptFunction: Failed to allocate string\n");
+	tctxt->state = XSLT_STATE_STOPPED;
+	xmlXPathReturnEmptyString (ctxt);
+	goto done;
+    }
     ret_len = exsltCryptoHex2Bin (str, str_len, bin, bin_len);
 
 /* decrypt the binary blob */
     ret = xmlMallocAtomic (ret_len);
+    if (ret == NULL) {
+	xsltTransformError(tctxt, NULL, tctxt->inst,
+	    "exsltCryptoRc4EncryptFunction: Failed to allocate result\n");
+	tctxt->state = XSLT_STATE_STOPPED;
+	xmlXPathReturnEmptyString (ctxt);
+	goto done;
+    }
     PLATFORM_RC4_DECRYPT (ctxt, padkey, bin, ret_len, ret, ret_len);
 
     xmlXPathReturnString (ctxt, ret);
 
+done:
     if (key != NULL)
 	xmlFree (key);
     if (str != NULL)
diff --git a/libxslt.pc.in b/libxslt.pc.in
index 07304b2..00c9d2b 100644
--- a/libxslt.pc.in
+++ b/libxslt.pc.in
@@ -8,5 +8,5 @@ Name: libxslt
 Version: @VERSION@
 Description: XSLT library version 2.
 Requires: libxml-2.0
-Libs: @XSLT_LIBDIR@ @XSLT_LIBS@
+Libs: @XSLT_LIBDIR@ -lxslt
 Cflags: @XSLT_INCLUDEDIR@
diff --git a/libxslt.spec b/libxslt.spec
new file mode 100644
index 0000000..44a4d0c
--- /dev/null
+++ b/libxslt.spec
@@ -0,0 +1,409 @@
+Name: libxslt
+Version: 1.1.24
+Release: alt0.M40.1
+
+%def_disable static
+
+Summary: Library providing XSLT support
+Group: System/Libraries
+License: MIT
+Url: http://xmlsoft.org/
+Packager: XML Development Team <xml@packages.altlinux.org>
+
+Source: libxslt-%version.tar
+Patch: libxslt-%version-%release.patch
+
+%define pkgdocdir %_docdir/%name-%version
+
+%define xmlver 1:2.6.27
+Requires: libxml2 >= %xmlver
+BuildPreReq: libxml2-devel >= %xmlver
+
+# Automatically added by buildreq on Sat Aug 09 2008
+BuildRequires: libbfd-devel libgcrypt-devel libxml2-devel python-devel python-module-libxml2
+
+%package -n xsltproc
+Summary: XSLT processor using libxslt
+Group: Text tools
+Requires: %name = %version-%release
+
+%package devel
+Summary: Development environment for XSLT
+Group: Development/C
+Requires: %name = %version-%release, libxml2-devel >= %xmlver
+
+%package devel-doc
+Summary: Development documentation for XSLT
+Group: Development/C
+
+%package devel-static
+Summary: Static library for XSLT
+Group: Development/C
+Requires: %name-devel = %version-%release
+
+%package -n python-module-%name
+Summary: Python bindings for the %name library
+Group: Development/Python
+Provides: libxslt-python
+Obsoletes: libxslt-python
+Requires: %name = %version-%release
+Requires: python-module-libxml2 >= %xmlver
+Provides: python-modules-%name = %version-%release
+Obsoletes: python-modules-%name < %version-%release
+
+%description
+XSLT library allows to transform XML files into other XML files
+(or HTML, text, ...) using the standard XSLT stylesheet transformation
+mechanism.
+
+This package provides shared library required for run XSLT-based software.
+
+%description -n xsltproc
+This package provides an XSLT processor based on the libxslt C library. 
+It allows to transform XML files into other XML files
+(or HTML, text, ...) using the standard XSLT stylesheet transformation
+mechanism.
+
+%description devel
+XSLT library allows to transform XML files into other XML files
+(or HTML, text, ...) using the standard XSLT stylesheet transformation
+mechanism.
+
+This package provides include files required for software development
+with XSLT.
+
+%description devel-doc
+XSLT library allows to transform XML files into other XML files
+(or HTML, text, ...) using the standard XSLT stylesheet transformation
+mechanism.
+
+This package provides documentation on software development
+with the XSLT library.
+
+%description devel-static
+XSLT library allows to transform XML files into other XML files
+(or HTML, text, ...) using the standard XSLT stylesheet transformation
+mechanism.
+
+This package provides static library required for development of
+statically linked programs with XSLT.
+
+%description -n python-module-%name
+This package contains a module that permits applications
+written in the Python programming language to use the interface
+supplied by the libxslt library to apply XSLT transformations.
+
+This library allows to parse sytlesheets, uses the %name-python
+to load and save XML and HTML files. Direct access to XPath and
+the XSLT transformation context are possible to extend the XSLT language
+with XPath functions written in Python.
+
+%prep
+%setup -q
+%patch -p1
+
+%build
+autoreconf -isfv
+
+%configure \
+	--with-html-dir=%_docdir \
+	%{subst_enable static}
+
+# SMP-incompatible build.
+%make
+%{?!_without_check:%{?!_disable_check:%make check}}
+
+%install
+%make_install DESTDIR=%buildroot TARGET_DIR=%pkgdocdir install
+install -p -m644 AUTHORS COPYING FEATURES NEWS README %buildroot%pkgdocdir/
+
+%post -p %post_ldconfig
+%postun -p %postun_ldconfig
+
+%files
+%_libdir/*.so.*
+%dir %pkgdocdir
+%pkgdocdir/AUTHORS
+%pkgdocdir/COPYING
+%pkgdocdir/FEATURES
+%pkgdocdir/NEWS
+%pkgdocdir/README
+
+%files -n xsltproc
+%_bindir/xsltproc
+%_man1dir/xsltproc.1*
+
+%files devel
+%_bindir/*-config
+%_libdir/*.so
+%_libdir/*.sh
+%_includedir/*
+%_libdir/pkgconfig/*
+%_datadir/aclocal/*
+
+%files devel-doc
+%_man3dir/*
+%dir %pkgdocdir
+%pkgdocdir/*.html
+%pkgdocdir/*.gif
+%pkgdocdir/html
+%pkgdocdir/tutorial*
+%pkgdocdir/EXSLT
+
+%if_enabled static
+%files devel-static
+%_libdir/*.a
+%endif # enabled static
+
+%files -n python-module-%name
+%python_sitelibdir/*
+%dir %pkgdocdir
+%dir %pkgdocdir/python
+%dir %pkgdocdir/python/examples
+%pkgdocdir/python/TODO
+%pkgdocdir/python/examples/*.py
+%pkgdocdir/python/examples/*.xml
+%pkgdocdir/python/examples/*.xsl
+
+%changelog
+* Wed Aug 13 2008 Anton V. Boyarshinov <boyarsh@altlinux.ru> 1.1.24-alt0.M40.1
+- port to M40 
+
+* Sat Aug 09 2008 Alexey Tourbin <at@altlinux.ru> 1.1.24-alt1
+- 1.1.23 -> 1.1.24
+- applied upstream fix for libexslt/crypto overflow (CVE-2008-2935)
+
+* Tue Apr 22 2008 Alexey Tourbin <at@altlinux.ru> 1.1.23-alt1
+- 1.1.22+svn1452 -> 1.1.23
+
+* Sat Jan 26 2008 Grigory Batalov <bga@altlinux.ru> 1.1.22-alt2.1
+- Rebuilt with python-2.5.
+
+* Mon Jan 21 2008 Alexey Tourbin <at@altlinux.ru> 1.1.22-alt2
+- 1.1.22+svn1447 -> 1.1.22+svn1452 (20071224)
+
+* Sat Oct 27 2007 Alexey Tourbin <at@altlinux.ru> 1.1.22-alt1
+- 1.1.21+svn1435 -> 1.1.22+svn1447 (20071025)
+- python-module-libxslt: removed manual dependency on python;
+  added manual dependency on python-module-libxml2
+
+* Sun Aug 05 2007 Alexey Tourbin <at@altlinux.ru> 1.1.21-alt1
+- 1.1.20+ -> 1.1.21+svn1435
+- renamed python-modules-libxslt package to python-module-libxslt
+- linked libxsltmod.so python module with libpython
+- changed src.rpm packaging to keep separate tarball with svn snapshot
+
+* Wed Feb 21 2007 Alexey Tourbin <at@altlinux.ru> 1.1.20-alt1
+- 1.1.19+ -> 1.1.20+ (svn revision 1422)
+
+* Mon Dec 11 2006 Alexey Tourbin <at@altlinux.ru> 1.1.19-alt1
+- 1.1.18 -> 1.1.19+ (20061209)
+
+* Tue Nov 14 2006 Alexey Tourbin <at@altlinux.ru> 1.1.18-alt1
+- 1.1.17 -> 1.1.18
+- imported cvs sources into git and built with gear
+
+* Thu Jun 08 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.17-alt1
+- Release 1.1.17
+- Patch0: unescape the file URI in security checks (GNOME bug 337486)
+- Patch1: remove internally used libraries from Libs: fields in .pc files
+
+* Thu Jun 01 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.16-alt1
+- Release 1.1.16
+- Use the python directory macro
+- Use the DESTDIR scheme in install
+- Retired Patch1
+- Updated and appended Patch2
+- Patch3 went upstream
+- Small spec cleanups
+
+* Wed Oct 05 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.15-alt2
+- Patch3: fix GNOME bug #316861
+
+* Mon Sep 05 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.15-alt1
+- New upstream release
+- Separated documentation into devel-doc
+
+* Tue Apr 05 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.14-alt1
+- New upstream release
+
+* Mon Mar 14 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.13-alt1
+- New upstream release
+- Built against Python 2.4
+
+* Sun Jan 02 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.12-alt2
+- Corrected documentation filelist
+- Corrected required libxml version
+
+* Sun Oct 31 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.12-alt1
+- New upstream release
+
+* Fri Oct 01 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.11-alt1
+- New upstream release
+
+* Mon Sep 20 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.10-alt1
+- New upstream release
+- buildreq
+
+* Tue Aug 24 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.9-alt1
+- New upstream release
+- Grouped xsltproc under 'Text tools'
+
+* Thu Jul 15 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.8-alt2
+- Python package renamed to comply with the New Policy
+
+* Thu Jul 08 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.8-alt1
+- New upstream release
+
+* Mon Apr 19 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.6-alt1
+- New upstream release
+
+* Sat Apr 03 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.5-alt1
+- New upstream release
+
+* Tue Feb 24 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.4-alt1
+- New upstream release
+- Built with python 2.3
+
+* Wed Dec 31 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.2-alt1
+- New upstream release
+- Happy New Year :)
+
+* Thu Dec 11 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.1-alt1
+- New upstream release
+
+* Fri Nov 28 2003 Dmitry V. Levin <ldv@altlinux.org> 1.1.0-alt2
+- Do not package .la files.
+
+* Mon Nov 10 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1.1.0-alt1
+- Upstream release 1.1.0
+
+* Tue Sep 16 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.33-alt1
+- Upstream release 1.0.33
+- Patch0 has gone upstream
+
+* Mon Aug 18 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.32-alt1
+- New version
+- Fix Bugzilla bug #114563 [Patch0]
+- Do not let compiled example files in the filelist
+
+* Sat Jul 12 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.31-alt1
+- New version
+- Patch0 has gone upstream
+
+* Wed May 14 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.30-alt2
+- Update from CVS fixing a few segfault bugs [Patch0]
+
+* Mon May 05 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.30-alt1
+- New version
+
+* Sat Apr 05 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.29-alt1
+- 1.0.29
+
+* Fri Jan 17 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.24-alt2
+- Removed ChangeLog that was included along with ChangeLog.bz2
+
+* Thu Jan 16 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.24-alt1
+- 1.0.24
+
+* Thu Nov 21 2002 Dmitry V. Levin <ldv@altlinux.org> 1.0.23-alt1
+- 1.0.23
+
+* Sun Nov 03 2002 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.22-alt1
+- 1.0.22
+
+* Wed Oct 09 2002 Stanislav Ievlev <inger@altlinux.ru> 1.0.21-alt2
+- rebuild with libxml2 2.4.24
+
+* Mon Oct 07 2002 Dmitry V. Levin <ldv@altlinux.org> 1.0.21-alt1
+- 1.0.21
+- Fixed doc installation.
+
+* Thu Sep 26 2002 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.20-alt2
+- Fixed pkgconfig file to exclude -I/usr/include
+- Fixed xsltConf.sh to include libxml cflags
+- Disabled static build by default
+
+* Thu Sep 12 2002 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.20-alt1
+- 1.0.20
+- patches are gone
+
+* Tue Aug 20 2002 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.19-alt2
+- Fix for docbook users
+
+* Thu Jul 25 2002 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.19-alt1
+- 1.0.19
+- Fixed installation of HTML docs
+
+* Wed Jun 12 2002 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.18-alt1
+- 1.0.18
+
+* Sat May 04 2002 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.17-alt1
+- 1.0.17
+- Separated xsltproc from the lib
+- libxslt-devel-static shall NOT require libxml-devel-static
+- Repackaged docs again: .py files should not be compiled,
+  ugly renaming also not good
+- make check
+
+* Sat Apr 27 2002 Dmitry V. Levin <ldv@alt-linux.org> 1.0.16-alt1
+- 1.0.16
+
+* Tue Mar 19 2002 Dmitry V. Levin <ldv@alt-linux.org> 1.0.14-alt1
+- 1.0.14
+
+* Tue Feb 12 2002 Dmitry V. Levin <ldv@alt-linux.org> 1.0.12-alt1
+- 1.0.12
+
+* Mon Feb 11 2002 Dmitry V. Levin <ldv@alt-linux.org> 1.0.11-alt1
+- 1.0.11
+- Added python subpackage.
+
+* Wed Jan 16 2002 Dmitry V. Levin <ldv@alt-linux.org> 1.0.10-alt1
+- 1.0.10
+
+* Tue Nov 27 2001 Dmitry V. Levin <ldv@alt-linux.org> 1.0.8-alt1
+- 1.0.8
+
+* Mon Nov 12 2001 Dmitry V. Levin <ldv@alt-linux.org> 1.0.7-alt1
+- 1.0.7
+
+* Mon Nov 05 2001 Dmitry V. Levin <ldv@alt-linux.org> 1.0.6-alt1
+- 1.0.6
+
+* Fri Oct 12 2001 Dmitry V. Levin <ldv@altlinux.ru> 1.0.5-alt1
+- 1.0.5
+
+* Thu Sep 13 2001 Dmitry V. Levin <ldv@altlinux.ru> 1.0.4-alt1
+- 1.0.4
+
+* Mon Aug 27 2001 Dmitry V. Levin <ldv@altlinux.ru> 1.0.3-alt1
+- 1.0.3
+
+* Thu Aug 16 2001 Dmitry V. Levin <ldv@altlinux.ru> 1.0.2-alt1
+- 1.0.2
+
+* Thu Jul 26 2001 Dmitry V. Levin <ldv@altlinux.ru> 1.0.1-alt1
+- 1.0.1
+
+* Wed Jul 11 2001 Dmitry V. Levin <ldv@altlinux.ru> 1.0.0-alt1
+- 1.0.0
+
+* Thu Jul 05 2001 Dmitry V. Levin <ldv@altlinux.ru> 0.13.0-alt1
+- 0.13.0
+
+* Mon Jun 18 2001 Dmitry V. Levin <ldv@altlinux.ru> 0.12.0-alt1
+- 0.12.0
+
+* Mon Jun 04 2001 Dmitry V. Levin <ldv@altlinux.ru> 0.11.0-alt1
+- 0.11.0
+
+* Tue May 22 2001 Dmitry V. Levin <ldv@altlinux.ru> 0.10.0-alt1
+- 0.10.0
+- Moved static library to devel-static subpackage.
+
+* Sat May 05 2001 Rider <rider@altlinux.ru> 0.9.0-alt1
+- 0.9.0
+
+* Mon Jan 22 2001 Daniel.Veillard <Daniel.Veillard@imag.fr>
+- created based on libxml2 spec file
diff --git a/libxslt/Makefile.am b/libxslt/Makefile.am
index d5aff94..11d8736 100644
--- a/libxslt/Makefile.am
+++ b/libxslt/Makefile.am
@@ -51,7 +51,9 @@ libxslt_la_SOURCES = 			\
 	libxslt.h
 
 libxslt_la_LIBADD = $(EXTRA_LIBS)
-libxslt_la_LDFLAGS = -version-info @LIBXSLT_VERSION_INFO@
+
+export_symbols = -Wl,--version-script=libxslt.map -Wl,-z,defs
+libxslt_la_LDFLAGS = -version-info @LIBXSLT_VERSION_INFO@ $(export_symbols)
 
 man_MANS = libxslt.3
 
@@ -59,6 +61,3 @@ EXTRA_DIST = $(man_MANS) trio.h triodef.h
 
 xsltproc: all
 	@(cd ../xsltproc ; $(MAKE))
-
-install-exec-hook:
-	$(mkinstalldirs) "$(DESTDIR)$(libdir)/libxslt-plugins"
diff --git a/libxslt/libxslt.map b/libxslt/libxslt.map
new file mode 100644
index 0000000..b7f0734
--- /dev/null
+++ b/libxslt/libxslt.map
@@ -0,0 +1,36 @@
+LIBXSLT_1.1.10 {
+    global:
+	xsltDocDefaultLoader;
+	xsltSetLoaderFunc;
+};
+LIBXSLT_1.1.16 {
+    global:
+	xsltInit;
+	xsltUninit;
+};
+LIBXSLT_1.1.17 {
+    global:
+	xsltInitCtxtKey;
+/*	xsltStyleStylesheetLevelGetExtData; -- removed in LIBXSLT_1.1.18 */
+};
+LIBXSLT_1.1.18 {
+    global:
+	xsltComputingGlobalVarMarker;
+	xsltExtensionInstructionResultFinalize;
+	xsltExtensionInstructionResultRegister;
+	xsltRegisterLocalRVT;
+	xsltReleaseRVT;
+};
+LIBXSLT_1.1.20 {
+    global:
+	xsltLocalVariablePop;
+	xsltLocalVariablePush;
+};
+LIBXSLT_1.1.23 {
+    global:
+	xsltInitAllDocKeys;
+};
+LIBXSLT_1.1.24 {
+    global:
+	xsltCheckExtURI;
+};
diff --git a/libxslt/xsltwin32config.h b/libxslt/xsltwin32config.h
index c0c100f..2d31dee 100644
--- a/libxslt/xsltwin32config.h
+++ b/libxslt/xsltwin32config.h
@@ -62,7 +62,7 @@ extern "C" {
  *
  * Whether module support is configured into libxslt
  */
-#if 1
+#if 0
 #ifndef WITH_MODULES
 #define WITH_MODULES
 #endif
diff --git a/python/Makefile.am b/python/Makefile.am
index de2f8e3..3d59f97 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -10,7 +10,8 @@ INCLUDES = \
 	-I$(top_srcdir) \
 	-I../libexslt
 
-DOCS_DIR = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
+BASE_DIR = @HTML_DIR@
+DOCS_DIR = $(BASE_DIR)/libxslt-$(LIBXSLT_VERSION)/python
 # libxsltclass.txt is generated
 DOCS = TODO
 
@@ -36,7 +37,7 @@ all-local: libxslt.py
 python_LTLIBRARIES = libxsltmod.la
 
 libxsltmod_la_SOURCES = libxslt.c types.c libxslt-py.c
-libxsltmod_la_LIBADD = $(mylibs) 
+libxsltmod_la_LIBADD = $(mylibs) -lpython@PYTHON_VERSION@
 
 libxslt.py: $(srcdir)/libxsl.py $(srcdir)/libxsltclass.py
 	cat $(srcdir)/libxsl.py $(srcdir)/libxsltclass.py > libxslt.py
diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am
index 2458688..f1d16e2 100644
--- a/python/tests/Makefile.am
+++ b/python/tests/Makefile.am
@@ -1,4 +1,5 @@
-EXAMPLE_DIR = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)/examples
+BASE_DIR = @HTML_DIR@
+EXAMPLE_DIR = $(BASE_DIR)/libxslt-$(LIBXSLT_VERSION)/python/examples
 
 TESTSPY=	\
     basic.py	\
 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009