Dear package maintainer, this bugzilla is automated becasue the number of impacted packages it too high to go trough manually. It appears that your package uses the deprecated %py3_build and/or %py3_install macro. See https://fedoraproject.org/wiki/Changes/DeprecateSetuppyMacros for why the macros are deprecated. %py3_install expands to python setup.py install. This has been a deprecated command for 5 years and will likely stop working in Fedora 45. Please migrate to %pyproject_buildrequires + %pyproject_wheel + %pyproject_install macros instead. See https://fedoraproject.org/wiki/Changes/DeprecateSetuppyMacros#Migrating_to_%pyproject_macros for migration guide. See https://github.com/hroncok/pyprojectize/ for a tool that can help you automate the migration. Thank you. Let me know if you need help.
Hello Miro, I tried switching over to the new macros and I started having issues with files that are not found during the various install steps. Is this something that ideally should be handled upstream, or am I supposed to untangle the mess myself?
Show me what you have and the issues it has. Without that I cannot answer your questions.
Created attachment 2102691 [details] changed spec file This is the amended spec file.
Created attachment 2102692 [details] build log And this is the result. If I copy the "locale" folder in the buildroot, other missing files start causing the build to fail.
I guess the problem might be the same as https://github.com/zim-desktop-wiki/zim-desktop-wiki/issues/2858 When the data files are collected, they don't exist yet. A dirty solution that seems to work is: diff --git a/setup.py b/setup.py index 89f390d..7705e60 100644 --- a/setup.py +++ b/setup.py @@ -32,7 +32,6 @@ class BuildData(build_py): def run(self): os.makedirs(BUILD_BIN_DIR, exist_ok=True) # generate translations - gen_locales() build_py.run(self) build_avatar_provider() create_default_avatars() @@ -45,6 +44,7 @@ class BuildData(build_py): os.chmod(avatar_provider_bin, 0o755) def get_files(src_path, ext): + gen_locales() file_map = glob.glob(f'{src_path}/**/{PACKAGE_NAME}.{ext}', recursive=True) root = src_path.split('/')[0] path_map = map(lambda f:f.replace(root, 'share'), file_map)
Like when I did it before (albeit less elegantly), now the error is: RPM build errors: File not found: /builddir/build/BUILD/bubblemail-1.9-build/BUILDROOT/etc/xdg/autostart/bubblemaild.desktop File not found: /builddir/build/BUILD/bubblemail-1.9-build/BUILDROOT/usr/lib/python3.14/site-packages/bubblemail-1.9-py*.egg-info Finish: rpmbuild bubblemail-1.9-1.fc41.src.rpm If I understand the situation correctly, setup.py should go away entirely, am I mistaken?
> File not found: /builddir/build/BUILD/bubblemail-1.9-build/BUILDROOT/etc/xdg/autostart/bubblemaild.desktop This is a problem that needs to be solved in spec. Wheel-based installations cannot include files outside of the prefix (/usr). Likely, the file is located elsewhere (inside %{python3_sitelib}/%{name}) and needs to be moved in %install. > File not found: /builddir/build/BUILD/bubblemail-1.9-build/BUILDROOT/usr/lib/python3.14/site-packages/bubblemail-1.9-py*.egg-info Wheel-based installations have dist-info: -%{python3_sitelib}/%{name}-%{version}-py*.egg-info +%{python3_sitelib}/%{name}-%{version}.dist-info/ However, ideally use %pyproject_save_files -l %{name}: %install %pyproject_install %pyproject_save_files -l %{name} %find_lang %{name} cat %{name}.lang >> %{pyproject_files} (%check omitted here) %files -f %{pyproject_files} %doc AUTHORS CHANGELOG.md CONTRIBUTING.md README.md %{_mandir}/man1/%{name}.1* %{_mandir}/man1/%{name}d.1* %{_sysconfdir}/xdg/autostart/%{name}d.desktop %{_bindir}/%{name} %{_bindir}/%{name}-avatar-provider %{_bindir}/%{name}d %{_datadir}/applications/bubblemail.desktop %{_datadir}/%{name}/ %{_datadir}/icons/hicolor/*/apps/%{name}.svg %{_metainfodir}/%{name}.appdata.xml
FEDORA-2025-bc0c3cff02 (bubblemail-1.9-7.fc41) has been submitted as an update to Fedora 41. https://bodhi.fedoraproject.org/updates/FEDORA-2025-bc0c3cff02
FEDORA-2025-e958ce80b8 (bubblemail-1.9-7.fc42) has been submitted as an update to Fedora 42. https://bodhi.fedoraproject.org/updates/FEDORA-2025-e958ce80b8
Thank you very much Miro. I've updated the package and I've also told upstream to check out the setuptools changes.
FEDORA-2025-bc0c3cff02 has been pushed to the Fedora 41 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-bc0c3cff02` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-bc0c3cff02 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2025-e958ce80b8 has been pushed to the Fedora 42 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-e958ce80b8` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-e958ce80b8 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2025-e958ce80b8 (bubblemail-1.9-7.fc42) has been pushed to the Fedora 42 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2025-bc0c3cff02 (bubblemail-1.9-7.fc41) has been pushed to the Fedora 41 stable repository. If problem still persists, please make note of it in this bug report.