This is a tracking bug for Change: Tcl/Tk 9.0 For more details, see: https://fedoraproject.org/wiki/Changes/TclTk9.0 Tcl/Tk rebase to version 9. There are some major incompatibilities and it's unrealistic to port all depending packages, thus the compat Tcl/Tk 8 packages will be provided. If you encounter a bug related to this Change, please do not comment here. Instead create a new bug and set it to block this bug.
*** Bug 2315280 has been marked as a duplicate of this bug. ***
Side tag used: f42-build-side-103615 Progress: - tcl/tk 9 packages built into side tag - compat tcl/tk 8 packages built into the side tag The plan: - open bugzillas for dependant components and add them as blockers of this tracker bug - manually go through bugzillas that wouldn't be resolved until 2025/01/31 and switch the remaining packages to the tcl/tk 8 compat - build the remaining packages into the side tag - push the side tag as a bodhi update
Bugs filled.
Update: - due to the ongoing mass rebuild I will probably have to rebuild all builds in the side tag before pushing the bodhi update - packages calling directly tclsh or wish and if they are switched to the compat packages tcl8/tk8, will have to be patched to call tclsh8 and wish8 - bugs open after the 2025-01-31 for components that builds OK will be simply closed by me - if possible, I will probably try to push the bodhi update sooner than the announced 2025-02-03, because I expect problems with the CI
mhroncok proposed a better way how to handle switch to compat packages, instead of build requiring tcl8-devel/tk8-devel, the following code is better and backward compatible: BuildRequires: tcl-devel < 9 BuildRequires: tk-devel < 9 The correct provides are already included in the tcl8/tk8 packages. And in a such way the package needn't be built into the side tag.
(In reply to Jaroslav Škarvada from comment #5) > mhroncok proposed a better way how to handle switch to compat packages, > instead of build requiring tcl8-devel/tk8-devel, the following code is > better and backward compatible: > BuildRequires: tcl-devel < 9 > BuildRequires: tk-devel < 9 > The correct provides are already included in the tcl8/tk8 packages. And in a > such way the package needn't be built into the side tag. There is a epoch, so probably: BuildRequires: tcl-devel < 1:9 BuildRequires: tk-devel < 1:9
I pushed a commit with "BuildRequires: tcl-devel < 1:9" 👍
(Ooops, sorry didn't mean to comment here, my mistake)
Hi Jaroslav, how goes this change for F42? The testable deadline is coming up in about two weeks, on Feb 4th, and changes need to be in good shape at this point https://docs.fedoraproject.org/en-US/program_management/changes_policy/#_change_process_milestones for Beta. Please let me know if you need to defer this to F43, otherwise if youre good to go for the change to be ready to meet the testable requirements, please update the status of the tracker bug to MODIFIED. Thanks! Aoife
FEDORA-2025-814b83576d (brltty-6.7-8.fc42, deal-3.1.12-2.fc42, and 30 more) has been submitted as an update to Fedora 42. https://bodhi.fedoraproject.org/updates/FEDORA-2025-814b83576d
(In reply to Aoife Moloney from comment #9) > Hi Jaroslav, how goes this change for F42? The testable deadline is coming > up in about two weeks, on Feb 4th, and changes need to be in good shape at > this point > https://docs.fedoraproject.org/en-US/program_management/changes_policy/ > #_change_process_milestones for Beta. > > Please let me know if you need to defer this to F43, otherwise if youre good > to go for the change to be ready to meet the testable requirements, please > update the status of the tracker bug to MODIFIED. > > > Thanks! > Aoife I think it's in a good shape. I pushed the bodhi update adding compat Tcl/Tk packages and Tcl/Tk 9.0, it also contains builds for packages ported to Tcl/Tk 9.0: https://bodhi.fedoraproject.org/updates/FEDORA-2025-814b83576d There are still some open bugs blocking this bug, but I think it can be resolved later. For the open bugs the dependencies should be satisfied by the compat Tcl/Tk 8 packages. The rebuild of those packages may fail until they are either ported to Tcl/Tk 9.0 or the explicit build requirement for the Tcl/Tk 8.6 compat devel packages are added. I will go through them one by one, but I think it isn't critical. The worst thing which could probably happen is that we will get FTBFS bugs for them later.
FEDORA-2025-814b83576d (brltty-6.7-8.fc42, deal-3.1.12-2.fc42, and 30 more) has been pushed to the Fedora 42 stable repository. If problem still persists, please make note of it in this bug report.
Apparently it is not in a good shape, see the new blocker.
Jaroslav, can you provide an update? Will this be ready for Beta (the contingency deadline)?
(In reply to Zbigniew Jędrzejewski-Szmek from comment #14) > Jaroslav, can you provide an update? Will this be ready for Beta (the > contingency deadline)? I think this is R-core bug. I don't think on Fedora you can have installed compat-devel a normal devel packages at the same time. How is this supposed to work?
Versioned files or directories? I don't know, but the change proposal claimed that compatibility packages were provided, so we all assumed they would be parallel-installable.
To be able to have simultaneously installable devel packages, we would have to divert from upstream, rename libraries and includes, patch & rebuild all dependencies. Moreover it would break ABI and all third packages outside of the Fedora. Not counting that anybody who would like to build with Tcl/Tk 8 would have to patch their source code Fedora specific way. This wasn't planned nor promised. Nevertheless, the blocker seems resolved, at least for now.
I will keep this tracker open. If there are no more install conflicts, the ABI and implicit deps should be OK, but FTBFS may occur in packages that didn't change their deps.
Hi Jaroslav, I changed our spec to have below: Requires:: tcl%{?_isa} < 1:9 BuildRequires: tcl-devel < 1:9 I have no problem to build and install the created rpm on F40 environment. On F43 environment, I was able to build, but it failed on F43 test with below error message (see https://artifacts.dev.testing-farm.io/583e2fe1-d250-4a38-95fb-8746f6a7317b/): Updating and loading repositories: Repo for 129820545 Brew build 100% | 2.7 MiB/s | 5.5 KiB | 00m00s Repositories loaded. Failed to resolve the transaction: Problem: conflicting requests - nothing provides tcl(x86-64) < 1:9 needed by eth-tools-basic-1:12.0.0.0-37.fc43.x86_64 from brew-129820545 You can try to add to command line: --skip-broken to skip uninstallable packages Installation of eth-tools-basic-1:12.0.0.0-37.fc43.x86_64 failed. See dnf5 command output above for more information. Any clue? The followed output shows tcl8 (1:8.6.15-10.fc42)is available, why I got "nothing provides tcl(x86-64) < 1:9"?
Hmm, we probably don't have the explicit provide with the %_isa. I think I could add it.
My issue was resolved. The root of cause is that compact TCL now provides tcl8 rather than tcl. So I need to use Requires: (tcl8 or tcl%{?_isa} < 1:9)
It seems we have only tcl(abi) = %{majorver}, not the tcl = %{majorver}, and not the tcl(%isa) = %{majorver}. Could you update your test to require tcl(abi) or implicit deps (i.e. "libtcl8.6.so()(64bit)") or tcl8%(?_isa)? I would add explicit deps only if necessary.
(In reply to Jijun Wang from comment #21) > My issue was resolved. The root of cause is that compact TCL now provides > tcl8 rather than tcl. So I need to use Requires: (tcl8 or tcl%{?_isa} < 1:9) OK, great, thanks for the info.
I'm changing the status to ON_QA. We new version is in the repos.