Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-rpm-macros for openSUSE:Factory checked in at 2025-10-21 11:14:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-rpm-macros (Old) and /work/SRC/openSUSE:Factory/.python-rpm-macros.new.18484 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-rpm-macros" Tue Oct 21 11:14:31 2025 rev:60 rq:1312385 version:20250923.c3cfac8 Changes: -------- --- /work/SRC/openSUSE:Factory/python-rpm-macros/python-rpm-macros.changes 2024-11-21 15:12:57.655320611 +0100 +++ /work/SRC/openSUSE:Factory/.python-rpm-macros.new.18484/python-rpm-macros.changes 2025-10-21 11:14:36.078206024 +0200 @@ -1,0 +2,10 @@ +Mon Oct 20 11:19:11 UTC 2025 - [email protected] + +- Update to version 20250923.c3cfac8: + * Remove py_setup_args macro completely. + * Move libalternative conf creation to FLAVOR_alternative_conf + * Update default-prjconf for primary python: python313 + * Drop python38, add python314 + * Make RPM macro expansions POSIX sh-compatible + +------------------------------------------------------------------- Old: ---- python-rpm-macros-20241120.6ae645f.tar.xz New: ---- python-rpm-macros-20250923.c3cfac8.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-rpm-macros.spec ++++++ --- /var/tmp/diff_new_pack.c6FTuq/_old 2025-10-21 11:14:37.218253936 +0200 +++ /var/tmp/diff_new_pack.c6FTuq/_new 2025-10-21 11:14:37.222254105 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-rpm-macros # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 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 @@ -17,7 +17,7 @@ Name: python-rpm-macros -Version: 20241120.6ae645f +Version: 20250923.c3cfac8 Release: 0 Summary: RPM macros for building of Python modules License: WTFPL ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.c6FTuq/_old 2025-10-21 11:14:37.278256458 +0200 +++ /var/tmp/diff_new_pack.c6FTuq/_new 2025-10-21 11:14:37.286256794 +0200 @@ -3,6 +3,6 @@ <param name="url">git://github.com/openSUSE/python-rpm-macros.git</param> <param name="changesrevision">80d37568d9732beb7fcc2cf27c5c08f9c01fade1</param></service><service name="tar_scm"> <param name="url">https://github.com/openSUSE/python-rpm-macros.git</param> - <param name="changesrevision">6ae645f7d1e17a9c25f0f167e0ffdfeeeb1c5c09</param></service></servicedata> + <param name="changesrevision">c3cfac80d6dd58d983cbd2eb087854aeca2908f2</param></service></servicedata> (No newline at EOF) ++++++ python-rpm-macros-20241120.6ae645f.tar.xz -> python-rpm-macros-20250923.c3cfac8.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rpm-macros-20241120.6ae645f/.gitignore new/python-rpm-macros-20250923.c3cfac8/.gitignore --- old/python-rpm-macros-20241120.6ae645f/.gitignore 2024-11-20 12:13:25.000000000 +0100 +++ new/python-rpm-macros-20250923.c3cfac8/.gitignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,9 +0,0 @@ -/macros.python_all -/macros/020-flavor-* -/macros/035-default-pythons -/macros/040-buildset -/macros/041-buildset -/macros/040-builset-start -/macros/042-builset-end -/macros/050-automagic -*.swp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rpm-macros-20241120.6ae645f/README.md new/python-rpm-macros-20250923.c3cfac8/README.md --- old/python-rpm-macros-20241120.6ae645f/README.md 2024-11-20 12:13:25.000000000 +0100 +++ new/python-rpm-macros-20250923.c3cfac8/README.md 2025-09-23 07:25:32.000000000 +0200 @@ -353,6 +353,17 @@ ``` The argument *\<name\>* is the same used for calling *%python_uninstall_alternative*. +* Man pages not related to a binary required an additional line in the + `%files` section to make sure to package all libalternative config + files: + ```spec + %python_alternative %{_mandir}/man5/bpython-config.5%{ext_man} + %python_alternative_conf %{_mandir}/man5/bpython-config + ``` + In this example, there's no `bpython-config` binary, so we need to + add the `%python_alternative_conf` line to make sure that + alternatives for `bpython-config.5` man are packaged correctly. + #### Building and testing with flavored alternatives * __`%python_flavored_alternatives`__: If a build tool or a test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rpm-macros-20241120.6ae645f/compile-macros.sh new/python-rpm-macros-20250923.c3cfac8/compile-macros.sh --- old/python-rpm-macros-20241120.6ae645f/compile-macros.sh 2024-11-20 12:13:25.000000000 +0100 +++ new/python-rpm-macros-20250923.c3cfac8/compile-macros.sh 2025-09-23 07:25:32.000000000 +0200 @@ -2,7 +2,7 @@ # The set of flavors for which we produce macros. Not identical to # the buildset predefined for specific distributions (see below) -FLAVORS="python2 python3 python38 python39 python310 python311 python312 python313 pypy3" +FLAVORS="python2 python3 python39 python310 python311 python312 python313 python314 pypy3" ### flavor-specific: generate from flavor.in for flavor in $FLAVORS; do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rpm-macros-20241120.6ae645f/default-prjconf new/python-rpm-macros-20250923.c3cfac8/default-prjconf --- old/python-rpm-macros-20241120.6ae645f/default-prjconf 2024-11-20 12:13:25.000000000 +0100 +++ new/python-rpm-macros-20250923.c3cfac8/default-prjconf 2025-09-23 07:25:32.000000000 +0200 @@ -7,7 +7,7 @@ ## PYTHON MACROS BEGIN # order of %pythons is important: The last flavor overrides any operation on conflicting files and definitions during expansions, # making it the "default" in many cases --> keep the primary python3 provider at the end. -%pythons %{?!skip_python3:%{?!skip_python310:python310} %{?!skip_python312:python312} %{?!skip_python311:python311}} +%pythons %{?!skip_python3:%{?!skip_python311:python311} %{?!skip_python312:python312} %{?!skip_python313:python313}} %add_python() %{expand:%%define pythons %1 %pythons} %_without_python2 1 @@ -20,6 +20,6 @@ %python_module_iter_STOP %global python %%%%python %python_module() %{?!python_module_lua:%{expand:%%define args %{**}} %{expand:%%{python_module_iter -a %{pythons} STOP}}}%{?python_module_lua:%python_module_lua %{**}} # gh#openSUSE/python-rpm-macros#127 ... define our current primary Python interpreter -%primary_python python311 +%primary_python python313 ## PYTHON MACROS END # :Macros diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rpm-macros-20241120.6ae645f/flavor.in new/python-rpm-macros-20250923.c3cfac8/flavor.in --- old/python-rpm-macros-20241120.6ae645f/flavor.in 2024-11-20 12:13:25.000000000 +0100 +++ new/python-rpm-macros-20250923.c3cfac8/flavor.in 2025-09-23 07:25:32.000000000 +0200 @@ -33,13 +33,13 @@ %#FLAVOR#_build \ %{_python_use_flavor #FLAVOR#} \ -%__#FLAVOR# %{py_setup} %{?py_setup_args} build \\\ +%__#FLAVOR# %{py_setup} build \\\ --executable="%__#FLAVOR# %#FLAVOR#_shbang_opts" %#FLAVOR#_install(+abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-=) \ %{_python_use_flavor #FLAVOR#} \ myargs="%{**}" \ -%__#FLAVOR# %{py_setup} %{?py_setup_args} install \\\ +%__#FLAVOR# %{py_setup} install \\\ -O1 --skip-build --force --root %{buildroot} --prefix %{_prefix} $myargs \ %#FLAVOR#_compile \ %#FLAVOR#_fix_shebang @@ -133,11 +133,11 @@ for f in ${myargs}; do \ if [ -f "$f" -a -x "$f" -a -w "$f" ] \ then \ - # in i586 sed fails when following symlinks to long paths, so \ + # in i586, sed fails when following symlinks to long paths, so \ # changing to the target directory avoid this problem \ - pushd $(dirname $f) \ - sed -i --follow-symlinks "1s@#\\!.*python\\S*@#\\!$(realpath %__#FLAVOR#)@" "$(basename $f)" \ - popd \ + cd "$(dirname "$f")" \ + sed -i --follow-symlinks "1s@#\\!.*python\\S*@#\\!$(realpath %__#FLAVOR#)@" "$(basename "$f")" \ + cd - \ fi \ done @@ -148,9 +148,7 @@ local libalternatives = rpm.expand("%{with libalternatives}") \ if libalternatives == "1" then \ if not link:startswith(rpm.expand("%{_mandir}")) then \ - local prio = alternative_prio("#FLAVOR#") \ - print(rpm.expand("%dir %{_datadir}/libalternatives/" .. name .. "\\\n")) \ - print(rpm.expand("%{_datadir}/libalternatives/" .. name .. "/" .. prio .. ".conf\\\n")) \ + print(rpm.expand("%#FLAVOR#_alternative_conf " .. name .. "\\\n")) print(link .. "\\\n") \ end \ print(path .. "\\\n") \ @@ -161,6 +159,16 @@ end \ } +%#FLAVOR#_alternative_conf() %{_python_macro_init} \ +%{lua:local link, name, path = python_alternative_names(rpm.expand("%1"), rpm.expand("%#FLAVOR#_bin_suffix")) \ +local libalternatives = rpm.expand("%{with libalternatives}") \ +if libalternatives == "1" then \ + local prio = alternative_prio("#FLAVOR#") \ + print(rpm.expand("%dir %{_datadir}/libalternatives/" .. name .. "\\\n")) \ + print(rpm.expand("%{_datadir}/libalternatives/" .. name .. "/" .. prio .. ".conf\\\n")) \ +end \ +} + # Commands for RPM scriptlets: These must not be empty even if there is no operation for # either update-alternatives or libalternatives. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rpm-macros-20241120.6ae645f/macros/010-common-defs new/python-rpm-macros-20250923.c3cfac8/macros/010-common-defs --- old/python-rpm-macros-20241120.6ae645f/macros/010-common-defs 2024-11-20 12:13:25.000000000 +0100 +++ new/python-rpm-macros-20250923.c3cfac8/macros/010-common-defs 2025-09-23 07:25:32.000000000 +0200 @@ -23,7 +23,6 @@ %pyproject_wheel_args \\\ --verbose --progress-bar off --disable-pip-version-check \\\ - %{?py_setup_args:--build-option %{py_setup_args}} \\\ --use-pep517 --no-build-isolation \\\ --no-deps \\\ --wheel-dir %{_pyproject_wheeldir} @@ -61,6 +60,7 @@ %python_alternative() %{_rec_macro_helper}%{lua:expand_macro("alternative", "%**")} +%python_alternative_conf() %{_rec_macro_helper}%{lua:expand_macro("alternative_conf", "%**")} %python_install_alternative() %{_rec_macro_helper}%{lua:expand_macro("install_alternative", "%**")} %python_uninstall_alternative() %{_rec_macro_helper}%{lua:expand_macro("uninstall_alternative", "%**")} %python_libalternatives_reset_alternative() %{_rec_macro_helper}%{lua:expand_macro("reset_alternative", "%**")} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rpm-macros-20241120.6ae645f/testfiles/python-bpython.spec new/python-rpm-macros-20250923.c3cfac8/testfiles/python-bpython.spec --- old/python-rpm-macros-20241120.6ae645f/testfiles/python-bpython.spec 1970-01-01 01:00:00.000000000 +0100 +++ new/python-rpm-macros-20250923.c3cfac8/testfiles/python-bpython.spec 2025-09-23 07:25:32.000000000 +0200 @@ -0,0 +1,167 @@ +# +# spec file for package python-bpython +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%bcond_without test +%bcond_without libalternatives +Name: python-bpython +Version: 0.25 +Release: 0 +Summary: Fancy Interface to the Python Interpreter +License: MIT +URL: https://www.bpython-interpreter.org/ +Source: https://files.pythonhosted.org/packages/source/b/bpython/bpython-%{version}.tar.gz +BuildRequires: %{python_module Babel} +BuildRequires: %{python_module Sphinx} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: alts +BuildRequires: fdupes +BuildRequires: hicolor-icon-theme +BuildRequires: python-rpm-macros +BuildRequires: update-desktop-files +Requires: %{name}-common = %{version} +Requires: alts +Requires: python-curtsies >= 0.4 +Requires: python-greenlet +Requires: python-pygments +Requires: python-pyxdg +Requires: python-requests +Recommends: python-cwcwidth +Recommends: python-jedi +Recommends: python-ndg-httpsclient +Recommends: python-pyOpenSSL +Recommends: python-pyasn1 +Recommends: python-urwid +Recommends: python-watchdog +BuildArch: noarch +%if %{with test} +BuildRequires: %{python_module curtsies >= 0.4} +BuildRequires: %{python_module greenlet} +BuildRequires: %{python_module pygments} +BuildRequires: %{python_module pyxdg} +BuildRequires: %{python_module requests} +BuildRequires: %{python_module wcwidth} +%endif +%ifpython2 +Provides: bpython = %{version} +Obsoletes: bpython <= %{version} +%endif +%python_subpackages + +%description +Bpython is an enhanced Python interactive interpreter that uses curses +and provides the following main features: in-line syntax highlighting; +readline-like autocompletion with suggestions displayed as you type; expected +argument specification for functions; a handy pastebin function to quickly +submit your code and return a URL. Its goal is to bring together a few handy +ideas to enhance the standard interpreter without getting carried away. + +%package -n %{name}-common +Summary: Fancy Interface to the Python Interpreter - common files +Provides: %{python_module bpython-common = %{version}} + +%description -n %{name}-common +This package contains files shared between the various versions of +Bpython. You don't need to install this directly, packages that +require it will pull it in automatically. + +%package -n %{name}-doc +Summary: Documentation for %{name} +Provides: %{python_module bpython-doc = %{version}} + +%description -n %{name}-doc +Documentation and help files for %{name}. + +%prep +%autosetup -p1 -n bpython-%{version} + +%build +%pyproject_wheel +# Build HTML documentation +sphinx-build doc/sphinx/source build/sphinx/html && rm -r build/sphinx/html/.{buildinfo,doctrees} +# .. and the manual pages +sphinx-build -b man doc/sphinx/source build/sphinx/man + +%install +%pyproject_install + +%python_clone -a %{buildroot}%{_bindir}/bpython +%python_clone -a %{buildroot}%{_bindir}/bpython-urwid +%python_clone -a %{buildroot}%{_bindir}/bpdb +%python_clone -a %{buildroot}%{_mandir}/man1/bpython.1 +%python_clone -a %{buildroot}%{_mandir}/man5/bpython-config.5 +%python_group_libalternatives %{buildroot}%{_mandir}/man5/bpython-config.5 + +%{python_expand %fdupes %{buildroot}%{$python_sitelib} + +cp %{buildroot}%{_datadir}/metainfo/org.bpython-interpreter.bpython.metainfo.xml %{buildroot}%{_datadir}/metainfo/org.bpython-interpreter.bpython-%{$python_bin_suffix}.metainfo.xml +cp %{buildroot}%{_datadir}/applications/org.bpython-interpreter.bpython.desktop %{buildroot}%{_datadir}/applications/org.bpython-interpreter.bpython-%{$python_bin_suffix}.desktop + +sed -i 's|bpython.desktop|bpython-%{$python_bin_suffix}.desktop|' %{buildroot}%{_datadir}/metainfo/org.bpython-interpreter.bpython-%{$python_bin_suffix}.metainfo.xml +sed -i 's|bpython interpreter|bpython %{$python_prefix} interpreter|' %{buildroot}%{_datadir}/metainfo/org.bpython-interpreter.bpython-%{$python_bin_suffix}.metainfo.xml +sed -i 's|Python interpreter|A %{$python_prefix} interpreter|' %{buildroot}%{_datadir}/metainfo/org.bpython-interpreter.bpython-%{$python_bin_suffix}.metainfo.xml +desktop-file-edit --set-name=bpython-%{$python_bin_suffix} \ + --copy-name-to-generic-name \ + --remove-key=Categories \ + --add-category=System --add-category=TerminalEmulator \ + --set-comment="A fancy interface to the %{$python_prefix} interpreter" \ + --set-key=Exec --set-value="%{_bindir}/bpython-%{$python_bin_suffix}" \ + %{buildroot}%{_datadir}/applications/org.bpython-interpreter.bpython-%{$python_bin_suffix}.desktop +} + +rm %{buildroot}%{_datadir}/metainfo/org.bpython-interpreter.bpython.metainfo.xml +rm %{buildroot}%{_datadir}/applications/org.bpython-interpreter.bpython.desktop + +%if %{with test} +%check +%pyunittest discover -v +%endif + +%pre +%python_libalternatives_reset_alternative bpython + +%files %{python_files} +%license LICENSE +%doc AUTHORS.rst CHANGELOG.rst README.rst +%dir %{python_sitelib}/bpython +%{python_sitelib}/bpython/* +%dir %{python_sitelib}/bpdb +%{python_sitelib}/bpdb/* +%dir %{python_sitelib}/bpython-%{version}*-info +%{python_sitelib}/bpython-%{version}*-info/* +%python_alternative %{_bindir}/bpython +%python_alternative %{_bindir}/bpython-urwid +%python_alternative %{_bindir}/bpdb +%python_alternative %{_mandir}/man1/bpython.1%{ext_man} +%python_alternative %{_mandir}/man5/bpython-config.5%{ext_man} +%python_alternative_conf %{_mandir}/man5/bpython-config + +%dir %{_datadir}/metainfo/ +%{_datadir}/metainfo/org.bpython-interpreter.bpython-%{python_bin_suffix}.metainfo.xml +%dir %{_datadir}/applications/ +%{_datadir}/applications/org.bpython-interpreter.bpython-%{python_bin_suffix}.desktop + +%files -n %{name}-common +%license LICENSE +%{_datadir}/pixmaps/bpython.png + +%files -n %{name}-doc +%doc build/sphinx/html + +%changelog
