Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package lua-slaxml for openSUSE:Factory checked in at 2025-11-05 16:18:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lua-slaxml (Old) and /work/SRC/openSUSE:Factory/.lua-slaxml.new.1980 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lua-slaxml" Wed Nov 5 16:18:29 2025 rev:4 rq:1315193 version:0.7+git20230101.756ffad Changes: -------- --- /work/SRC/openSUSE:Factory/lua-slaxml/lua-slaxml.changes 2023-01-26 14:03:24.417898463 +0100 +++ /work/SRC/openSUSE:Factory/.lua-slaxml.new.1980/lua-slaxml.changes 2025-11-05 16:21:23.717873430 +0100 @@ -1,0 +2,19 @@ +Fri Oct 24 14:51:04 UTC 2025 - Matej Cepl <[email protected]> + +- Switch off building lua51 build of the package. + +------------------------------------------------------------------- +Mon Oct 13 10:02:39 UTC 2025 - Matej Cepl <[email protected]> + +- Add fix_tests.patch (gh#Phrogz/SLAXML!22) to improve parser + strictness and error handling. Goal was originally to make the + test suite to pass even on LuaJIT. + +------------------------------------------------------------------- +Mon Oct 13 09:33:04 UTC 2025 - Matej Cepl <[email protected]> + +- Update to version 0.7+git20230101.756ffad: + * Indicate compatibility with 5.1-5.4, inclusive + * Update rockspec for v0.8.1 + +------------------------------------------------------------------- Old: ---- lua-slaxml-0.7+git20191225.108970c.tar.xz New: ---- _scmsync.obsinfo build.specials.obscpio fix_tests.patch lua-slaxml-0.7+git20230101.756ffad.tar.xz ----------(New B)---------- New: - Add fix_tests.patch (gh#Phrogz/SLAXML!22) to improve parser strictness and error handling. Goal was originally to make the ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lua-slaxml.spec ++++++ --- /var/tmp/diff_new_pack.5CDHU8/_old 2025-11-05 16:21:24.549908406 +0100 +++ /var/tmp/diff_new_pack.5CDHU8/_new 2025-11-05 16:21:24.573909415 +0100 @@ -18,13 +18,16 @@ %define flavor @BUILD_FLAVOR@ %define mod_name slaxml -Version: 0.7+git20191225.108970c +Version: 0.7+git20230101.756ffad Release: 0 Summary: SAX-like streaming XML parser for Lua License: MIT Group: Development/Libraries/Other URL: https://github.com/Phrogz/SLAXML Source: lua-slaxml-%{version}.tar.xz +# PATCH-FIX-UPSTREAM fix_tests.patch gh#Phrogz/SLAXML!22 [email protected] +# unescape() function was too lenient +Patch0: fix_tests.patch BuildRequires: lua-macros BuildRequires: %{flavor}-devel BuildArch: noarch @@ -49,7 +52,9 @@ well-formed) to be parsed without reporting an error. %prep -%autosetup -p1 -n lua-slaxml-%{version} +%setup -q -n lua-slaxml-%{version} +find . -name \*.lua -exec sed -i 's/\r/\n/g; s/\n$//' '{}' + +%autopatch -p1 %build @@ -57,12 +62,10 @@ install -D -m 0644 -t %{buildroot}%{lua_noarchdir} slaxml.lua slaxdom.lua %check -%if "%{flavor}" != "lua51" cd test lua test.lua -%endif %files %license LICENSE.txt -%{lua_noarchdir}/* +%{lua_noarchdir}/slax*.lua ++++++ _multibuild ++++++ --- /var/tmp/diff_new_pack.5CDHU8/_old 2025-11-05 16:21:24.629911769 +0100 +++ /var/tmp/diff_new_pack.5CDHU8/_new 2025-11-05 16:21:24.633911937 +0100 @@ -1,5 +1,5 @@ <multibuild> -<package>lua51</package> +<package>luajit</package> <package>lua53</package> <package>lua54</package> </multibuild> ++++++ _scmsync.obsinfo ++++++ mtime: 1761318552 commit: 50257d68ae78ee705912cfafc9326ff584f241a41da59901d970633927cb6bd3 url: https://src.opensuse.org/lua/lua-slaxml.git revision: 50257d68ae78ee705912cfafc9326ff584f241a41da59901d970633927cb6bd3 projectscmsync: https://src.opensuse.org/lua/_ObsPrj.git ++++++ _service ++++++ --- /var/tmp/diff_new_pack.5CDHU8/_old 2025-11-05 16:21:24.721915636 +0100 +++ /var/tmp/diff_new_pack.5CDHU8/_new 2025-11-05 16:21:24.729915973 +0100 @@ -1,15 +1,15 @@ <services> - <service name="tar_scm" mode="disabled"> + <service name="tar_scm" mode="manual"> <param name="url">https://github.com/Phrogz/SLAXML.git</param> <param name="filename">lua-slaxml</param> <param name="versionformat">0.7+git%cd.%h</param> <param name="scm">git</param> <param name="changesgenerate">enable</param> </service> - <service name="recompress" mode="disabled"> + <service name="recompress" mode="manual"> <param name="compression">xz</param> <param name="file">*.tar</param> </service> - <service name="set_version" mode="disabled" /> + <service name="set_version" mode="manual" /> </services> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.5CDHU8/_old 2025-11-05 16:21:24.773917822 +0100 +++ /var/tmp/diff_new_pack.5CDHU8/_new 2025-11-05 16:21:24.781918158 +0100 @@ -3,6 +3,6 @@ <param name="url">https://github.com/antlarr/lua-mpris</param> <param name="changesrevision">2b12542d29f8f5f366a1dc047a82ee65bd735b41</param></service><service name="tar_scm"> <param name="url">https://github.com/Phrogz/SLAXML.git</param> - <param name="changesrevision">938dd5d5b9bb2a45663a5f310ab373c7f4461fbc</param></service></servicedata> + <param name="changesrevision">756ffad03d2a06271170a0ba82d6eac02cc2a5ca</param></service></servicedata> (No newline at EOF) ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2025-10-24 17:09:27.000000000 +0200 @@ -0,0 +1,7 @@ +.osc +*.obscpio +*.osc +_build.* +.pbuild +SLAXML/ +lua*-slaxml-*-build/ ++++++ fix_tests.patch ++++++ --- slaxml.lua | 13 +++++++++++-- test/test.lua | 9 +++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) Index: lua-slaxml-0.7+git20230101.756ffad/slaxml.lua =================================================================== --- lua-slaxml-0.7+git20230101.756ffad.orig/slaxml.lua 2025-10-13 12:17:02.427586573 +0200 +++ lua-slaxml-0.7+git20230101.756ffad/slaxml.lua 2025-10-13 12:17:19.072469712 +0200 @@ -74,7 +74,13 @@ end local entityMap = { ["lt"]="<", ["gt"]=">", ["amp"]="&", ["quot"]='"', ["apos"]="'" } local entitySwap = function(orig,n,s) return entityMap[s] or n=="#" and utf8(tonumber('0'..s)) or orig end - local function unescape(str) return gsub( str, '(&(#?)([%d%a]+);)', entitySwap ) end + local function unescape(str) + local s = gsub(str, '(&(#?)([%d%a]+);)', "") -- remove all valid entities + if find(s, '&') then + error("Invalid ampersand in string: "..str) + end + return gsub( str, '(&(#?)([%d%a]+);)', entitySwap ) + end local function finishText() if first>textStart and self._call.text then @@ -135,7 +141,7 @@ for i=#nsStack,1,-1 do if nsStack[i]['!'] then currentElement[2] = nsStack[i]['!']; break end end end currentAttributeCt = 0 - push(nsStack,{}) + push(nsStack,{['__name__']=currentElement[1]}) return true end end @@ -153,6 +159,8 @@ if first then pos = last+1 match2 = unescape(match2) + else + error("Attribute value must be quoted for attribute: "..match1) end end end @@ -225,6 +233,7 @@ end if first then finishText() + if nsStack[#nsStack]['__name__'] ~= match1 then error("Mismatched closing tag: expected "..nsStack[#nsStack]['__name__']..", got "..match1) end if self._call.closeElement then self._call.closeElement(match1,nsURI) end pos = last+1 textStart = pos Index: lua-slaxml-0.7+git20230101.756ffad/test/test.lua =================================================================== --- lua-slaxml-0.7+git20230101.756ffad.orig/test/test.lua 2025-10-13 12:17:02.428324592 +0200 +++ lua-slaxml-0.7+git20230101.756ffad/test/test.lua 2025-10-13 12:17:19.072959653 +0200 @@ -1,5 +1,10 @@ package.path = '../?.lua;' .. package.path -_ENV = require('lunity')() +local env = require('lunity')() +if _VERSION:find("5.1") then + setfenv(1, env) +else + _ENV = env +end local SLAXML = require 'slaxdom' @@ -218,7 +223,7 @@ end function test:invalid_documents() - local silentParser = SLAXML:parser{} + local silentParser = SLAXML:parser{ text = function() end } assertErrors(silentParser.parse, silentParser, XML['invalid_unquoted'] ) assertErrors(silentParser.parse, silentParser, XML['invalid_pi_only'] ) assertErrors(silentParser.parse, silentParser, XML['invalid_unclosed_tags'] ) ++++++ lua-slaxml-0.7+git20191225.108970c.tar.xz -> lua-slaxml-0.7+git20230101.756ffad.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lua-slaxml-0.7+git20191225.108970c/README.md new/lua-slaxml-0.7+git20230101.756ffad/README.md --- old/lua-slaxml-0.7+git20191225.108970c/README.md 2019-12-25 19:20:47.000000000 +0100 +++ new/lua-slaxml-0.7+git20230101.756ffad/README.md 2023-01-01 23:28:16.000000000 +0100 @@ -257,6 +257,9 @@ ## History +### v0.8.1 2022-Dec-31 ++ Updating rockspec to prepare for LuaRocks + ### v0.8 2018-Oct-23 + Adds `SLAXML:xml()` to serialize the DOM back to XML. + Adds `nsPrefix` properties to the DOM tables for elements and attributes (needed for round-trip serialization) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lua-slaxml-0.7+git20191225.108970c/slaxml-0.7-0.rockspec new/lua-slaxml-0.7+git20230101.756ffad/slaxml-0.7-0.rockspec --- old/lua-slaxml-0.7+git20191225.108970c/slaxml-0.7-0.rockspec 2019-12-25 19:20:47.000000000 +0100 +++ new/lua-slaxml-0.7+git20230101.756ffad/slaxml-0.7-0.rockspec 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ -package = "SLAXML" -version = "0.8-0" -source = { - url = "https://github.com/Phrogz/SLAXML.git" -} -description = { - summary = "SAX-like streaming XML parser for Lua", - detailed = [[ - SLAXML is a pure-Lua SAX-like streaming XML parser. It is more robust than many (simpler) pattern-based parsers that exist (such as http://phrogz.net/lua/AKLOMParser.lua), properly supporting code like <expr test="5 > 7" />, CDATA nodes, comments, namespaces, and processing instructions. - - It is currently not a truly valid XML parser, however, as it allows certain XML that is syntactically-invalid (not well-formed) to be parsed without reporting an error. - ]], - homepage = "https://github.com/Phrogz/SLAXML", - maintainer = "Gavin Kistner <[email protected]>", - license = "MIT" -} -dependencies = { - "lua ~> 5.1", -} -build = { - type = "builtin", - - modules = { - ["slaxml"] = "slaxml.lua", - ["slaxdom"] = "slaxdom.lua" - } -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lua-slaxml-0.7+git20191225.108970c/slaxml-0.8-1.rockspec new/lua-slaxml-0.7+git20230101.756ffad/slaxml-0.8-1.rockspec --- old/lua-slaxml-0.7+git20191225.108970c/slaxml-0.8-1.rockspec 1970-01-01 01:00:00.000000000 +0100 +++ new/lua-slaxml-0.7+git20230101.756ffad/slaxml-0.8-1.rockspec 2023-01-01 23:28:16.000000000 +0100 @@ -0,0 +1,28 @@ +package = "SLAXML" +version = "0.8-1" +source = { + url = "git://github.com/Phrogz/SLAXML", + tag = "v0.8.1" +} +description = { + summary = "SAX-like streaming XML parser for Lua", + detailed = [[ + SLAXML is a pure-Lua SAX-like streaming XML parser. It is more robust than many (simpler) pattern-based parsers that exist (such as http://phrogz.net/lua/AKLOMParser.lua), properly supporting code like <expr test="5 > 7" />, CDATA nodes, comments, namespaces, and processing instructions. + + It is currently not a truly valid XML parser, however, as it allows certain XML that is syntactically-invalid (not well-formed) to be parsed without reporting an error. + ]], + homepage = "https://github.com/Phrogz/SLAXML", + maintainer = "Gavin Kistner <[email protected]>", + license = "MIT" +} +dependencies = { + "lua >= 5.1, <= 5.4", +} +build = { + type = "builtin", + + modules = { + ["slaxml"] = "slaxml.lua", + ["slaxdom"] = "slaxdom.lua" + } +}
