Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package tree-sitter for openSUSE:Factory checked in at 2026-04-21 12:42:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/tree-sitter (Old) and /work/SRC/openSUSE:Factory/.tree-sitter.new.11940 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tree-sitter" Tue Apr 21 12:42:40 2026 rev:25 rq:1348279 version:0.26.8 Changes: -------- --- /work/SRC/openSUSE:Factory/tree-sitter/tree-sitter.changes 2026-03-08 17:26:40.838302748 +0100 +++ /work/SRC/openSUSE:Factory/.tree-sitter.new.11940/tree-sitter.changes 2026-04-21 12:43:08.606246319 +0200 @@ -1,0 +2,51 @@ +Wed Apr 15 07:22:32 UTC 2026 - Matej Cepl <[email protected]> + +- Fix libtree-sitter0_26 upgrade conflict with libtree-sitter0_25 + Replace the incorrect Obsoletes: libtree-sitter0 (which matched + no real package) with explicit Obsoletes for previously shipped + versioned packages libtree-sitter0_22 and libtree-sitter0_25. + This resolves the file conflict on the libtree-sitter.so.0 + ldconfig symlink during upgrade, per the openSUSE Shared + Library Packaging Policy. + +------------------------------------------------------------------- +Mon Apr 13 19:00:27 UTC 2026 - Matej Cepl <[email protected]> + +- Revendor to have wasmtime 36.0.7, which is patched against the + host data leakage with 64-bit tables and Winch (CVE-2026-34945, + bsc#1262007). + +------------------------------------------------------------------- +Thu Apr 9 20:30:34 UTC 2026 - Matej Cepl <[email protected]> + +- Ignore also quilt setup subdirectory. +- Bump library version number in baselibs.conf. + +------------------------------------------------------------------- +Thu Apr 2 05:55:49 UTC 2026 - Jiri Slaby <[email protected]> + +- update to 0.26.8: + Full changelog: https://github.com/tree-sitter/tree-sitter/releases/tag/v0.26.8 + * fix(generate): allow disabling qjs-rt feature from CLI by @WillLillis in + #5448 + * fix(lib): document invariants that must be upheld for TSInputEdit by + @WillLillis in #5452 + * fix(cli): correct typo in parse command's help text by @WillLillis in #5465 + * perf(cli): misc. improvements by @tree-sitter-ci-bot[bot] in #5476 + * Fix wasm loading of languages w/ multiple reserved word sets by + @tree-sitter-ci-bot[bot] in #5477 + * generate: avoid panicking when a supertype only has hidden external token + children by @tree-sitter-ci-bot[bot] in #5478 +- BuildRequire clang -- needed for bindgen + +------------------------------------------------------------------- +Thu Mar 19 11:56:40 UTC 2026 - Matej Cepl <[email protected]> + +- fix tree-sitter macros for mapped grammar source paths + + Allow %treesitter_grammars to accept runtime=source mappings so + packages like tree-sitter-markdown can build from upstream + subdirectories while still installing parser libraries under + the correct runtime grammar names. + +------------------------------------------------------------------- Old: ---- tree-sitter-0.25.3.tar.gz New: ---- _scmsync.obsinfo build.specials.obscpio tree-sitter-0.26.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ tree-sitter.spec ++++++ --- /var/tmp/diff_new_pack.ArXUh2/_old 2026-04-21 12:43:11.310358669 +0200 +++ /var/tmp/diff_new_pack.ArXUh2/_new 2026-04-21 12:43:11.310358669 +0200 @@ -19,9 +19,9 @@ %global _emacs_sitestartdir %{_emacs_sitelispdir}/site-start.d -%define somajor 0_25 +%define somajor 0_26 Name: tree-sitter -Version: 0.25.3 +Version: 0.26.8 Release: 0 Summary: An incremental parsing system for programming tools License: GPL-2.0-only AND MIT @@ -38,6 +38,7 @@ Source25: treesitter_grammar.attr Source26: treesitter_grammar.req BuildRequires: cargo-packaging +BuildRequires: clang BuildRequires: rust > 1.82.0 # for macros.emacs # BuildRequires: emacs-nox @@ -61,7 +62,8 @@ %package -n lib%{name}%{somajor} Summary: Asychronous I/O support library -Obsoletes: lib%{name}0 < %{version} +Obsoletes: lib%{name}0_22 < %{version} +Obsoletes: lib%{name}0_25 < %{version} %description -n lib%{name}%{somajor} Tree-sitter is a parser generator tool and an incremental parsing ++++++ _scmsync.obsinfo ++++++ mtime: 1776237803 commit: a79b7414eb65616009bbfca43f635ad023509d4560fb6bb30a899bae1f3e3ed6 url: https://src.opensuse.org/tree-sitter/tree-sitter revision: a79b7414eb65616009bbfca43f635ad023509d4560fb6bb30a899bae1f3e3ed6 projectscmsync: https://src.opensuse.org/tree-sitter/_ObsPrj ++++++ baselibs.conf ++++++ --- /var/tmp/diff_new_pack.ArXUh2/_old 2026-04-21 12:43:11.382361660 +0200 +++ /var/tmp/diff_new_pack.ArXUh2/_new 2026-04-21 12:43:11.386361827 +0200 @@ -1,2 +1,2 @@ -libtree-sitter0_25 +libtree-sitter0_26 ++++++ 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 2026-04-19 23:41:16.000000000 +0200 @@ -0,0 +1,5 @@ +*.obscpio +*.osc +_build.* +.pbuild +tree-sitter-*-build/ ++++++ functions.lua ++++++ --- /var/tmp/diff_new_pack.ArXUh2/_old 2026-04-21 12:43:11.478365650 +0200 +++ /var/tmp/diff_new_pack.ArXUh2/_new 2026-04-21 12:43:11.486365982 +0200 @@ -44,11 +44,19 @@ return res end -function arg_compat() +function arg_compat(arg) --[[ Compat macro as workaround for older rpm not having function arguments available as table arg(uments) + + If that's not required just return arg --]] + + local suse_version = tonumber(rpm.expand("%suse_version")) + if suse_version > 1600 then + return arg + end + local arg_count = rpm.expand("%#") local arg = {} @@ -59,3 +67,26 @@ return arg end +function parse_grammar_specs(specs) + local names = {} + local sources = {} + local multi_grammar = #specs > 1 + + for _, spec in ipairs(specs) do + local name, source = spec:match("^([^=]+)=(.+)$") + if not name then + name = spec + if multi_grammar then + source = name + else + source = "src" + end + end + + table.insert(names, name) + table.insert(sources, source) + end + + return names, sources +end + ++++++ macros.lua ++++++ --- /var/tmp/diff_new_pack.ArXUh2/_old 2026-04-21 12:43:11.530367810 +0200 +++ /var/tmp/diff_new_pack.ArXUh2/_new 2026-04-21 12:43:11.534367976 +0200 @@ -9,6 +9,9 @@ Main Package should look like this: %%treesitter_grammars foo bar + Or when runtime grammar names differ from source directories: + %%treesitter_grammars markdown=tree-sitter-markdown markdown-inline=tree-sitter-markdown-inline + %%build %%treesitter_configure %%treesitter_build @@ -29,25 +32,22 @@ local base_name = rpm.expand("%_treesitter_base_name") local base_libname = rpm.expand("%_treesitter_grammar_base_libname") - local treesitter_grammar_names = "" - local treesitter_grammar_libnames = "" - - local arg = arg - local suse_version = tonumber(rpm.expand("%suse_version")) - if suse_version < 1600 then - arg = arg_compat() - end - - for arg_num = 1,#arg do - treesitter_grammar_libnames=treesitter_grammar_libnames .. base_libname .. "-" .. arg[arg_num] .. ".so " - end - rpm.define("treesitter_grammar_libnames " .. treesitter_grammar_libnames) - - for arg_num = 1,#arg do - treesitter_grammar_names=treesitter_grammar_names .. " " .. arg[arg_num] - print("Provides: treesitter_grammar(" .. base_name .. "-" .. arg[arg_num] .. ")\n") - end - rpm.define("treesitter_grammar_names " .. treesitter_grammar_names) + local treesitter_grammar_names = {} + local treesitter_grammar_sources = {} + local treesitter_grammar_libnames = {} + local arg = arg_compat(arg) + local names, sources = parse_grammar_specs(arg) + + for i, name in ipairs(names) do + table.insert(treesitter_grammar_names, name) + table.insert(treesitter_grammar_sources, sources[i]) + table.insert(treesitter_grammar_libnames, base_libname .. "-" .. name .. ".so") + print("Provides: treesitter_grammar(" .. base_name .. "-" .. name .. ")\n") + end + + rpm.define("treesitter_grammar_names " .. table.concat(treesitter_grammar_names, " ")) + rpm.define("treesitter_grammar_sources " .. table.concat(treesitter_grammar_sources, " ")) + rpm.define("treesitter_grammar_libnames " .. table.concat(treesitter_grammar_libnames, " ")) end @@ -57,18 +57,23 @@ to %configure. --]] rpm.expand("%_treesitter_macro_init") - local grammars = string.split(rpm.expand("%{treesitter_grammar_names}")) + local grammar_sources = rpm.expand("%{treesitter_grammar_sources}"):split() print(rpm.expand("%treesitter_set_flags")) print("\n") - if #grammars > 1 then - for k,grammar in pairs(grammars) do - print("(cd " .. grammar .. ";tree-sitter generate)") + if #grammar_sources > 1 then + for _, grammar_source in ipairs(grammar_sources) do + print("(cd " .. grammar_source .. ";tree-sitter generate)") print("\n") end else - print("tree-sitter generate") + local grammar_source = grammar_sources[1] or "src" + if grammar_source == "src" then + print("tree-sitter generate") + else + print("(cd " .. grammar_source .. ";tree-sitter generate)") + end end end @@ -80,12 +85,9 @@ --]] rpm.expand("%_treesitter_macro_init") local basename = rpm.expand("%{_treesitter_grammar_base_libname}") - local grammar_names = rpm.expand("%treesitter_grammar_names") - local arg = arg - local suse_version = tonumber(rpm.expand("%suse_version")) - if suse_version < 1600 then - arg = arg_compat() - end + local grammar_names = rpm.expand("%{treesitter_grammar_names}"):split() + local grammar_sources = rpm.expand("%{treesitter_grammar_sources}"):split() + local arg = arg_compat(arg) local left_over_args = arg[1] local grammar_arg_binding = "" @@ -95,15 +97,21 @@ end local treesitter_target = rpm.expand("%{treesitter_target}") - local grammar_names_tbl = string.split(grammar_names, " ") - if #grammar_names_tbl > 1 then - for k,target in pairs(grammar_names_tbl) do - print("eval $(" .. treesitter_target .. grammar_arg_binding .. " -g " .. target ..") " .. " -o " .. basename .. "-" .. target .. ".so ${RPM_OPT_FLAGS}") + if #grammar_names > 1 then + for i, target in ipairs(grammar_names) do + local source = grammar_sources[i] or target + print("eval $(" .. treesitter_target .. grammar_arg_binding .. " -g " .. source ..") " .. " -o " .. basename .. "-" .. target .. ".so ${RPM_OPT_FLAGS}") print("\n") end else - print("eval $(" .. treesitter_target .. grammar_arg_binding .. ") " .. " -o " .. basename.. "-" .. grammar_names .. ".so ${RPM_OPT_FLAGS}") + local target = grammar_names[1] + local source = grammar_sources[1] or "src" + if source == "src" then + print("eval $(" .. treesitter_target .. grammar_arg_binding .. ") " .. " -o " .. basename.. "-" .. target .. ".so ${RPM_OPT_FLAGS}") + else + print("eval $(" .. treesitter_target .. grammar_arg_binding .. " -g " .. source ..") " .. " -o " .. basename.. "-" .. target .. ".so ${RPM_OPT_FLAGS}") + end end end @@ -114,7 +122,7 @@ Install all previously build grammars --]] rpm.expand("%_treesitter_macro_init") - local grammars = string.split(rpm.expand("%{treesitter_grammar_libnames}")) + local grammars = rpm.expand("%{treesitter_grammar_libnames}"):split() local install_path = rpm.expand("%{buildroot}%{_treesitter_grammardir}") for k,grammar in pairs(grammars) do print("install -Dm755 " .. grammar .. " " .. install_path .. "/" .. grammar) @@ -124,11 +132,11 @@ function treesitter_files() rpm.expand("%_treesitter_macro_init") - local grammars = string.split(rpm.expand("%{treesitter_grammar_libnames}")) + local grammars = rpm.expand("%{treesitter_grammar_libnames}"):split() local grammardir = rpm.expand("%{_treesitter_grammardir}") local _libdir = rpm.expand("%{_libdir}") - if not grammardir == libdir then + if grammardir ~= _libdir then print(rpm.expand("%dir " .. grammardir.."\n")) end @@ -159,8 +167,8 @@ that are used between multiple grammars in the same package. --]] rpm.expand("%_treesitter_macro_init") - --local grammar_names = rpm.expand("%{treesitter_grammar_names}") - local grammars = string.split(rpm.expand("%{treesitter_grammar_names}")) + local grammars = rpm.expand("%{treesitter_grammar_names}"):split() + local grammar_sources = rpm.expand("%{treesitter_grammar_sources}"):split() local treesitter = rpm.expand("%_treesitter_base_name") local install_cmd_base = "install -Dm644 " @@ -176,15 +184,16 @@ rpm.define("_treesitter_devel_provides "..rpm_provides_macro) if #grammars == 1 then - print(install_cmd_base .. "grammar.js " .. install_path .. treesitter .. "-" .. grammars[1].. "/grammar.js") + local grammar_source = grammar_sources[1] or "src" + if grammar_source == "src" then + print(install_cmd_base .. "grammar.js " .. install_path .. treesitter .. "-" .. grammars[1].. "/grammar.js") + else + print(install_cmd_base .. grammar_source .. "/grammar.js " .. install_path .. treesitter .. "-" .. grammars[1].. "/grammar.js") + end return end - local arg = arg - local suse_version = tonumber(rpm.expand("%suse_version")) - if suse_version < 1600 then - arg = arg_compat() - end + local arg = arg_compat(arg) if #arg > 0 then --[[ FIXME: This maybe not be the best solution if packages can have a single grammar @@ -196,12 +205,14 @@ end end - for k,grammar in pairs(grammars) do - if grammar then - print(rpm.expand(install_cmd_base .. grammar .. "/grammar.js " .. install_path .. "%{name}/" .. grammar .. "/grammar.js\n")) - print("\n") - end - end + for i, grammar in ipairs(grammars) do + if grammar then + local grammar_source = grammar_sources[i] or grammar + local grammar_js = grammar_source == "src" and "grammar.js" or (grammar_source .. "/grammar.js") + print(rpm.expand(install_cmd_base .. grammar_js .. " " .. install_path .. "%{name}/" .. grammar .. "/grammar.js\n")) + print("\n") + end + end end @@ -210,7 +221,7 @@ Install -devel files to %%{_treesitter_grammar_develdir} --]] rpm.expand("%_treesitter_macro_init") - local grammars = string.split(rpm.expand("%{treesitter_grammar_names}")) + local grammars = rpm.expand("%{treesitter_grammar_names}"):split() local grammar_develdir = rpm.expand("%{_treesitter_grammar_develdir}") local fpp ++++++ tree-sitter-0.25.3.tar.gz -> tree-sitter-0.26.8.tar.gz ++++++ ++++ 130025 lines of diff (skipped) ++++++ vendor.tar.zst ++++++ /work/SRC/openSUSE:Factory/tree-sitter/vendor.tar.zst /work/SRC/openSUSE:Factory/.tree-sitter.new.11940/vendor.tar.zst differ: char 7, line 1
