Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-hotdoc for openSUSE:Factory checked in at 2026-09-23 14:33:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-hotdoc (Old) and /work/SRC/openSUSE:Factory/.python-hotdoc.new.383539 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-hotdoc" Wed Sep 23 14:33:09 2026 rev:12 rq:1379250 version:0.18.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-hotdoc/python-hotdoc.changes 2025-10-18 14:37:17.469104682 +0200 +++ /work/SRC/openSUSE:Factory/.python-hotdoc.new.383539/python-hotdoc.changes 2026-09-23 14:34:30.483227022 +0200 @@ -1,0 +2,20 @@ +Sun Sep 13 12:10:10 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to 0.18.3: + * Meson-python build backend: add meson, ninja, meson-python and + pkgconfig BuildRequires; drop unused libxslt-devel and + libyaml-devel; add a C-extension import smoke test + * New runtime requirement python-feedgen >= 1.0.0; drop + python-faust-cchardet and python-backports.entry_points_selectable, + removed upstream + * Raise dependency floors to upstream minimums + * Drop fix-cmake-min-version.patch and fix-function-prototypes.patch: + adopted upstream + * Carry the default HTML theme as a prebuilt dist tarball (Source1) + with new use-prebuilt-theme-dist.patch: upstream no longer ships + dist/ in the sdist and the meson theme subproject needs npm and + network access at configure time + * gi extension supports Python 3.13; gst, devhelp and c scanner fixes +- Switch from update-alternatives to libalternatives + +------------------------------------------------------------------- Old: ---- fix-cmake-min-version.patch fix-function-prototypes.patch hotdoc-0.17.4.tar.gz New: ---- hotdoc-0.18.3.tar.gz hotdoc-bootstrap-theme-dist-0.18.3.tar.gz use-prebuilt-theme-dist.patch ----------(Old B)---------- Old: * Raise dependency floors to upstream minimums * Drop fix-cmake-min-version.patch and fix-function-prototypes.patch: adopted upstream Old: * Raise dependency floors to upstream minimums * Drop fix-cmake-min-version.patch and fix-function-prototypes.patch: adopted upstream ----------(Old E)---------- ----------(New B)---------- New: * Carry the default HTML theme as a prebuilt dist tarball (Source1) with new use-prebuilt-theme-dist.patch: upstream no longer ships dist/ in the sdist and the meson theme subproject needs npm and ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-hotdoc.spec ++++++ --- /var/tmp/diff_new_pack.aNCWtV/_old 2026-09-23 14:34:31.935287726 +0200 +++ /var/tmp/diff_new_pack.aNCWtV/_new 2026-09-23 14:34:31.936287767 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-hotdoc # -# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,50 +16,72 @@ # +%if 0%{?suse_version} > 1500 +%bcond_without libalternatives +%else +%bcond_with libalternatives +%endif %{?sle15_python_module_pythons} Name: python-hotdoc -Version: 0.17.4 +Version: 0.18.3 Release: 0 Summary: A documentation tool micro-framework License: LGPL-2.1-or-later -Group: Development/Tools/Doc Generators URL: https://github.com/hotdoc/hotdoc Source: https://files.pythonhosted.org/packages/source/h/hotdoc/hotdoc-%{version}.tar.gz -Patch: https://github.com/hotdoc/hotdoc/commit/adf8518431fafb78c9b47862a0a9a58824b6a421.patch#/fix-function-prototypes.patch -#PATCH-FIX-UPSTREAM https://github.com/MathieuDuponchelle/cmark/pull/2 -Patch1: fix-cmake-min-version.patch +# Prebuilt default-theme dist/ (hotdoc_bootstrap_theme @0ce3e58, built locally +# with npm: standalone meson configure of the in-tree theme sources + ninja). +# Upstream 0.18.3 no longer ships dist/ in the sdist, and the meson theme +# subproject needs npm + network at configure time, unavailable offline. +# Regenerate with: copy hotdoc/hotdoc_bootstrap_theme + hotdoc/less aside, +# meson setup builddir <theme> -Dinstall=true -Dless_include_path=<less>, +# ninja -C builddir, then tar -C builddir/src dist. +Source1: hotdoc-bootstrap-theme-dist-0.18.3.tar.gz +# PATCH-FIX-UPSTREAM: install the prebuilt theme dist/ when present instead of +# fetching npm dependencies over the network via the theme subproject, so the +# package builds offline. No-op on git checkouts (dist/ is gitignored there). +Patch0: use-prebuilt-theme-dist.patch BuildRequires: %{python_module PyYAML} BuildRequires: %{python_module devel} BuildRequires: %{python_module lxml} +BuildRequires: %{python_module meson-python} BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} +# Needed for %%check: the cmark C module init imports hotdoc.utils.utils +BuildRequires: %{python_module toposort} BuildRequires: %{python_module wheel} BuildRequires: clang BuildRequires: cmake BuildRequires: fdupes BuildRequires: flex -BuildRequires: glib2-devel -BuildRequires: json-glib-devel -BuildRequires: libxml2-devel -BuildRequires: libxslt-devel -BuildRequires: libyaml-devel BuildRequires: llvm-devel +BuildRequires: meson +BuildRequires: ninja +BuildRequires: pkgconfig BuildRequires: python-rpm-macros +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(json-glib-1.0) +BuildRequires: pkgconfig(libxml-2.0) # The c extension needs libclang.so and llvm-config Requires: clang-devel Requires: llvm-devel -Requires: python-PyYAML >= 5.4.1 -Requires: python-appdirs -Requires: python-backports.entry_points_selectable +Requires: python-PyYAML >= 6.0.2 +Requires: python-appdirs >= 1.4.4 Requires: python-dbus-deviation >= 0.6.1 -Requires: python-faust-cchardet -Requires: python-lxml >= 4.9.1 -Requires: python-networkx >= 2.8.8 -Requires: python-pkgconfig >= 1.5.1 -Requires: python-schema -Requires: python-toposort >= 1.6 -Requires: python-wheezy.template >= 0.1.195 +Requires: python-feedgen >= 1.0.0 +Requires: python-lxml >= 5.4.0 +Requires: python-networkx >= 3.4 +Requires: python-pkgconfig >= 1.6.0 +Requires: python-schema >= 0.7.7 +Requires: python-toposort >= 1.10 +Requires: python-wheezy.template >= 3.2.3 +%if %{with libalternatives} +BuildRequires: alts +Requires: alts +%else Requires(post): update-alternatives +Requires(postun): update-alternatives +%endif %if "%{python_flavor}" == "python3" || "%{?python_provides}" == "python3" # The hotdoc cli files were provided as separate package between Aug and Nov 2020 Obsoletes: hotdoc < %{version}-%{release} @@ -78,9 +100,13 @@ %prep %autosetup -p1 -n hotdoc-%{version} -sed -i -e "s/wheezy.template==/wheezy.template>=/" setup.py -sed -i -e "s/pkgconfig==/pkgconfig>=/" setup.py -sed -i -e "s/networkx==/networkx>=/" setup.py +# Theme dist/ is carried as Source1 (see comment above it); the meson theme +# subproject is skipped by Patch0 when it is present. +tar -xzf %{SOURCE1} -C hotdoc/hotdoc_bootstrap_theme +# cmake.subproject('cmark') only looks under subprojects/, which upstream +# leaves to wrap-git fetching; point it at the pinned in-tree sources instead. +mkdir -p subprojects +cp -r cmark subprojects/cmark sed -i -e '1s,#! %{_bindir}/env sh,#!%{_bindir}/sh,' ./hotdoc/extensions/gi/transition_scripts/translate_sections.sh @@ -91,8 +117,25 @@ %pyproject_install %python_clone -a %{buildroot}%{_bindir}/hotdoc %python_clone -a %{buildroot}%{_bindir}/hotdoc_dep_printer +%python_group_libalternatives hotdoc hotdoc_dep_printer +# Installed modules are imported, never executed: drop their shebangs. +%python_expand find %{buildroot}%{$python_sitearch}/hotdoc -name '*.py' -exec sed -i '1{/^#!/d}' {} + +# Web assets must not be executable. +%python_expand find %{buildroot}%{$python_sitearch}/hotdoc -name '*.js' -perm -111 -exec chmod a-x {} + %python_expand %fdupes %{buildroot}%{$python_sitearch} +%check +# Smoke-test the meson-built C extensions from the built tree. The parent +# packages are import-light, so no extra test dependencies are needed. +# NOTE: the source tree must not shadow the built modules on sys.path, +# so empty (cwd) entries are dropped. No cd here: the per-flavor file ops +# the expand macro emits assume the source dir as cwd. +%python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} $python -B -c "import sys; sys.path = [p for p in sys.path if p]; import hotdoc.parsers.cmark, hotdoc.parsers.search, hotdoc.parsers.c_comment_scanner" + +%pre +%python_libalternatives_reset_alternative hotdoc +%python_libalternatives_reset_alternative hotdoc_dep_printer + %post %python_install_alternative hotdoc hotdoc_dep_printer ++++++ hotdoc-0.17.4.tar.gz -> hotdoc-0.18.3.tar.gz ++++++ ++++ 79986 lines of diff (skipped) ++++++ use-prebuilt-theme-dist.patch ++++++ Index: hotdoc-0.18.3/hotdoc/meson.build =================================================================== --- hotdoc-0.18.3.orig/hotdoc/meson.build +++ hotdoc-0.18.3/hotdoc/meson.build @@ -27,14 +27,25 @@ preserve_path: true, ) -bootstrap_theme = subproject('hotdoc_bootstrap_theme', - default_options: [ - 'less_include_path=@0@'.format(meson.current_source_dir() / 'less'), - 'install=true', - ] -) - -theme_dist_dir = bootstrap_theme.get_variable ('theme_dir') +fs = import('fs') +prebuilt_dist = meson.current_source_dir() / 'hotdoc_bootstrap_theme/dist' +if fs.is_dir(prebuilt_dist) + # Offline/distro build: install the prebuilt theme instead of fetching + # npm dependencies over the network through the theme subproject. + install_subdir('hotdoc_bootstrap_theme/dist', + install_dir: py.get_install_dir() / 'hotdoc/hotdoc_bootstrap_theme', + ) + theme_dist_dir = prebuilt_dist +else + bootstrap_theme = subproject('hotdoc_bootstrap_theme', + default_options: [ + 'less_include_path=@0@'.format(meson.current_source_dir() / 'less'), + 'install=true', + ] + ) + + theme_dist_dir = bootstrap_theme.get_variable ('theme_dir') +endif subdir('core') subdir('extensions')
