commit a0b7bb82cf45112e2f31b532aac6e2a30c2b12ce Author: Jan Palus <at...@pld-linux.org> Date: Fri Jun 14 20:11:32 2024 +0200
up to 2.13.0 libxml2-open.gz.patch | 56 ++++++++++++++++++++++----------------------------- libxml2.spec | 18 +++++++++-------- 2 files changed, 34 insertions(+), 40 deletions(-) --- diff --git a/libxml2.spec b/libxml2.spec index 6aaedf6..377a73e 100644 --- a/libxml2.spec +++ b/libxml2.spec @@ -9,7 +9,6 @@ %bcond_without python3 # CPython 3.x module %bcond_without static_libs # static library %bcond_without zlib # zlib support -%bcond_with mem_debug # libxml2 memory debuging %bcond_without tests # "make check" call Summary: libXML library version 2 @@ -17,14 +16,14 @@ Summary(es.UTF-8): Biblioteca libXML version 2 Summary(pl.UTF-8): Biblioteka libXML wersja 2 Summary(pt_BR.UTF-8): Biblioteca libXML versão 2 Name: libxml2 -Version: 2.12.8 +Version: 2.13.0 Release: 1 Epoch: 1 License: MIT Group: Libraries #Source0: ftp://xmlsoft.org/libxml2/%{name}-%{version}.tar.gz -Source0: https://download.gnome.org/sources/libxml2/2.12/%{name}-%{version}.tar.xz -# Source0-md5: 121a262ac4e4b4110a1104ac33676903 +Source0: https://download.gnome.org/sources/libxml2/2.13/%{name}-%{version}.tar.xz +# Source0-md5: 22a4b108240c3f2aeb1354346055b436 Patch0: %{name}-open.gz.patch Patch1: %{name}-largefile.patch Patch2: %{name}-libx32.patch @@ -196,11 +195,12 @@ do biblioteki libxml2. --disable-silent-rules \ %{?with_static_libs:--enable-static} \ %{?with_ftp:--with-ftp} \ + --with-http \ %{?with_legacy:--with-legacy} \ --with-lzma \ - --with-mem-debug%{!?with_mem_debug:=no} \ --without-python \ - %{!?with_zlib:--without-zlib} + --with-tls \ + %{?with_zlib:--with-zlib} %{__make} @@ -241,8 +241,10 @@ cd python cd .. %endif -install -d $RPM_BUILD_ROOT%{_examplesdir} -%{__mv} $RPM_BUILD_ROOT%{_docdir}/libxml2/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} +%if %{with apidocs} +install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} +cp -p example/*.{c,xml} $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} +%endif # install catalog file install -d $RPM_BUILD_ROOT%{_sysconfdir}/xml diff --git a/libxml2-open.gz.patch b/libxml2-open.gz.patch index 644204b..61ec90a 100644 --- a/libxml2-open.gz.patch +++ b/libxml2-open.gz.patch @@ -1,38 +1,30 @@ ---- libxml2-2.10.0/xmlIO.c.orig 2022-08-18 16:29:32.843322082 +0200 -+++ libxml2-2.10.0/xmlIO.c 2022-08-18 16:32:12.985787850 +0200 -@@ -1115,8 +1115,33 @@ xmlGzfileOpen_real (const char *filename +--- libxml2-2.13.0/xmlIO.c.orig 2024-06-14 12:32:12.257784372 +0200 ++++ libxml2-2.13.0/xmlIO.c 2024-06-14 19:23:06.355299914 +0200 +@@ -547,6 +547,27 @@ + fd = open(filename, flags, 0777); + #endif /* WIN32 */ - if (path == NULL) - return(NULL); -- if (!xmlCheckFilename(path)) -- return(NULL); -+ if (!xmlCheckFilename(path)) { -+ /* If we cannot open `foo.xml', we try `foo.xml.gz'. However we i -+ * append .gz only if filename doesn't alreay end with .gz. */ -+ if (strlen(path) < 3 || strcmp(path + strlen(path) - 3, ".gz") != 0) { -+ char *gz_filename = xmlMalloc(strlen(path) + 4); ++ if (fd < 0 && errno == ENOENT) { ++ /* If we cannot open `foo.xml', we try `foo.xml.gz'. However we i ++ * append .gz only if filename doesn't alreay end with .gz. */ ++ if (strlen(filename) < 3 || strcmp(filename + strlen(filename) - 3, ".gz") != 0) { ++ char *gz_filename = xmlMalloc(strlen(filename) + 4); ++ int gz_fd; + -+ if (gz_filename == NULL) { -+ xmlGenericError(xmlGenericErrorContext, -+ "xmlGzfileOpen: %s\n", -+ "Failure allocating buffer for filename."); -+ return NULL; -+ } ++ if (gz_filename != NULL) { ++ strcpy(gz_filename, filename); ++ strcat(gz_filename, ".gz"); ++ } + -+ strcpy(gz_filename, path); -+ strcat(gz_filename, ".gz"); ++ gz_fd = open(gz_filename, flags, 0777); + -+ fd = NULL; ++ if (gz_fd >= 0) ++ fd = gz_fd; + -+ if (xmlCheckFilename(gz_filename)) -+ fd = gzopen(gz_filename, "rb"); -+ -+ xmlFree(gz_filename); -+ -+ return((void *) fd); -+ } else -+ return NULL; ++ xmlFree(gz_filename); ++ } + } - - #if defined(_WIN32) - fd = xmlWrapGzOpenUtf8(path, "rb"); ++ + if (fd < 0) { + /* + * Windows and possibly other platforms return EINVAL ================================================================ ---- gitweb: http://git.pld-linux.org/gitweb.cgi/packages/libxml2.git/commitdiff/a0b7bb82cf45112e2f31b532aac6e2a30c2b12ce _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit