From 86766d0ea04ab507929ce240de7d573282a65278 Mon Sep 17 00:00:00 2001 From: Jatin K Malik Date: Sat, 30 May 2026 15:08:13 -0700 Subject: [PATCH] fix(install): refresh ldconfig after openSUSE typelib install, clarify python3XY placeholder convention (#438) - Add 'sudo ldconfig' after zypper install in suse_install_appindicator_runtime() to ensure GI typelib cache is refreshed so newly installed typelib packages are immediately discoverable by GObject introspection - Add section-level comment in distro-package-map.yaml explaining that python3XY is a placeholder convention resolved at install time by suse_python_package_prefix() / suse_python_package_candidates() Follow-up polish from review of #420. --- install.sh | 2 ++ scripts/distro-package-map.yaml | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/install.sh b/install.sh index ba739e9..92c9712 100755 --- a/install.sh +++ b/install.sh @@ -1250,6 +1250,8 @@ suse_install_appindicator_runtime() { print_info "AppIndicator/Ayatana package is already installed ($PKG); verifying GI namespace..." elif sudo zypper install -y "$PKG" 2>/dev/null; then print_success "Installed AppIndicator/Ayatana package ($PKG)." + # Refresh the shared-library cache so the GI typelib is discoverable + sudo ldconfig 2>/dev/null || true else print_info "AppIndicator/Ayatana package '$PKG' not available, trying next option..." continue diff --git a/scripts/distro-package-map.yaml b/scripts/distro-package-map.yaml index ff4bfc9..d396c09 100644 --- a/scripts/distro-package-map.yaml +++ b/scripts/distro-package-map.yaml @@ -11,6 +11,10 @@ system_packages: fedora: ["python3-gobject", "gtk3", "gobject-introspection-devel"] arch: ["python-gobject", "gtk3", "gobject-introspection", "python-cairo"] # Tumbleweed often uses versioned Python package names such as python313-gobject. + # NOTE: "python3XY" is a placeholder convention. The XY suffix is resolved at + # install time by install.sh via suse_python_package_prefix() and + # suse_python_package_candidates(), which try the active Python minor version + # first (e.g. python313-gobject) and fall back to the unversioned name. opensuse: ["python3XY-gobject", "python3XY-gobject-cairo", "gtk3", "gobject-introspection-devel"] gentoo: ["dev-python/pygobject:3", "x11-libs/gtk+:3"] alpine: ["py3-gobject3", "py3-cairo", "gtk+3.0"] @@ -49,6 +53,7 @@ system_packages: fedora: ["python3-devel", "python3-virtualenv"] arch: ["python"] # Arch includes venv by default # Tumbleweed package names follow the active Python minor version, e.g. python313-devel. + # NOTE: "python3XY" is a placeholder — see gtk3.opensuse comment above for details. opensuse: ["python3XY-devel", "python3XY-virtualenv", "python3XY-venv", "python3XY-pip"] gentoo: ["dev-lang/python:3.9"] alpine: ["py3-virtualenv"]