Bug 2337584 - Tcl/Tk 9.0
Summary: Tcl/Tk 9.0
Keywords:
Status: ON_QA
Alias: None
Product: Fedora
Classification: Fedora
Component: Changes Tracking
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jaroslav Škarvada
QA Contact:
URL:
Whiteboard:
: 2315280 (view as bug list)
Depends On: 2337693 2337694 2337696 2337698 2337703 2337710 2337714 2337715 2337718 2337720 2337721 2337722 2337723 2337724 2337730 2337731 2337732 2337736 2337743 2337747 2337748 2337749 2337750 2337751 2337752 2337756 2337766 2337768 2337770 2337771 2337772 2337773 2337774 2337776 2337779 2337780 2337783 2337784 2337787 2337788 2337789 2337791 2337792 2337794 2337795 2337798 2337800 2337801 2337802 2337803 2337804 2337807 2337808 2337809 2337810 2337811 2337814 2337818 2337691 2337695 2337697 2337699 2337700 2337701 2337702 2337704 2337705 2337706 2337707 2337708 2337709 2337711 2337712 2337713 2337716 2337717 2337719 2337725 2337726 2337727 2337728 2337729 2337733 2337734 2337735 2337737 2337738 2337739 2337740 2337741 2337742 2337744 2337745 2337746 2337753 2337754 2337755 2337757 2337758 2337759 2337760 2337761 2337762 2337763 2337764 2337765 2337767 2337769 2337775 2337777 2337778 2337781 2337782 2337785 2337786 2337790 2337793 2337796 2337797 2337799 2337805 2337806 2337812 2337813 2337815 2337816 2337817 2346758
Blocks: F42Changes
TreeView+ depends on / blocked
 
Reported: 2025-01-14 11:17 UTC by Aoife Moloney
Modified: 2025-04-27 20:23 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Aoife Moloney 2025-01-14 11:17:17 UTC
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.

Comment 1 Jaroslav Škarvada 2025-01-14 14:35:00 UTC
*** Bug 2315280 has been marked as a duplicate of this bug. ***

Comment 2 Jaroslav Škarvada 2025-01-14 16:58:07 UTC
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

Comment 3 Jaroslav Škarvada 2025-01-14 18:48:22 UTC
Bugs filled.

Comment 4 Jaroslav Škarvada 2025-01-15 09:43:45 UTC
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

Comment 5 Jaroslav Škarvada 2025-01-15 10:25:22 UTC
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.

Comment 6 Jaroslav Škarvada 2025-01-15 10:57:43 UTC
(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

Comment 7 Jens Petersen 2025-01-15 17:21:15 UTC
I pushed a commit with "BuildRequires: tcl-devel < 1:9" 👍

Comment 8 Jens Petersen 2025-01-15 17:22:18 UTC
(Ooops, sorry didn't mean to comment here, my mistake)

Comment 9 Aoife Moloney 2025-01-24 14:31:44 UTC
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

Comment 10 Fedora Update System 2025-02-03 18:03:26 UTC
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

Comment 11 Jaroslav Škarvada 2025-02-03 18:12:21 UTC
(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.

Comment 12 Fedora Update System 2025-02-03 20:25:56 UTC
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.

Comment 13 Iñaki Ucar 2025-02-20 07:50:15 UTC
Apparently it is not in a good shape, see the new blocker.

Comment 14 Zbigniew Jędrzejewski-Szmek 2025-02-25 17:55:47 UTC
Jaroslav, can you provide an update? Will this be ready for Beta (the contingency deadline)?

Comment 15 Jaroslav Škarvada 2025-02-27 17:41:55 UTC
(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?

Comment 16 Iñaki Ucar 2025-02-27 18:00:19 UTC
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.

Comment 17 Jaroslav Škarvada 2025-02-28 07:54:42 UTC
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.

Comment 18 Jaroslav Škarvada 2025-02-28 07:58:51 UTC
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.

Comment 19 Jijun Wang 2025-03-05 13:53:59 UTC
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"?

Comment 20 Jaroslav Škarvada 2025-03-10 17:57:12 UTC
Hmm, we probably don't have the explicit provide with the %_isa. I think I could add it.

Comment 21 Jijun Wang 2025-03-10 18:35:35 UTC
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)

Comment 22 Jaroslav Škarvada 2025-03-10 18:39:58 UTC
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.

Comment 23 Jaroslav Škarvada 2025-03-10 18:40:24 UTC
(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.

Comment 24 Zbigniew Jędrzejewski-Szmek 2025-03-11 18:03:45 UTC
I'm changing the status to ON_QA. We new version is in the repos.


Note You need to log in before you can comment on or make changes to this bug.