Bug 2337712 - Please update the package for the 'Tcl/Tk 9.0' Fedora change
Summary: Please update the package for the 'Tcl/Tk 9.0' Fedora change
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gtkwave
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Paul Howarth
QA Contact: Fedora Extras Quality Assurance
URL: https://fedoraproject.org/wiki/Change...
Whiteboard:
Depends On:
Blocks: 2337584
TreeView+ depends on / blocked
 
Reported: 2025-01-14 18:34 UTC by Jaroslav Škarvada
Modified: 2025-01-16 07:06 UTC (History)
1 user (show)

Fixed In Version: gtkwave-3.3.121-3.fc42
Clone Of:
Environment:
Last Closed: 2025-01-16 07:06:36 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github gtkwave gtkwave pull 407 0 None open Fixes for tcl9 compatibility 2025-01-15 20:20:32 UTC

Description Jaroslav Škarvada 2025-01-14 18:34:10 UTC
Fedora 42 will update Tcl/Tk to version 9.0. It seems your package uses Tcl or Tk as a dependency.
Please check that your package builds and works correctly with Tcl/Tk 9.0.
The effort is tracked in the bug 2337584, there is system wide change proposal [1]. I also tried to
rebuild the direct dependencies in Copr [2].

TL/DR:
- there is side tag "f42-build-side-103615"
- Tcl/Tk was bumped to version 9.0 in the side tag
- there are compat packages tcl8/tk8 in the side tag for backward compatibility
- if your package needs fixing, please fix it to build with the Tcl/Tk 9.0 or switch it to the compat tcl8/tk8
- build your package into the side tag "f42-build-side-103615" (if rebuild is not needed, e.g. the package
  just calls the Tcl shell and works with any Tcl version, ignore this step)
- close this bug

Full version:
If your package works correctly and doesn't require rebuild, please close this bug as rawhide.

If your package needs rebuild and correctly builds with the Tcl/Tk 9.0, please rebuild it with the
side-tag "f42-build-side-103615":
  $ fedpkg build --target=f42-build-side-103615
Optionally, you can regenerate the repo for others to be able to build with your package in the side-tag
(example YOUR_PKG_NVR="brltty-6.7-3"):
  $ koji wait-repo --build=$YOUR_PKG_NVR.fc42 f42-build-side-103615 --request
Close this bug as rawhide.

If your package doesn't build with the Tcl/Tk 9.0, please fix/port it. There is a Tcl/Tk 9.0 porting
guide [3]. Then build it with the side-tag "f42-build-side-103615":
  $ fedpkg build --target=f42-build-side-103615
Optionally, you can regenerate the repo for others to be able to build with your package in the side-tag,
(example YOUR_PKG_NVR="brltty-6.7-3"):
  $ koji wait-repo --build=$YOUR_PKG_NVR.fc42 f42-build-side-103615 --request
Close this bug as rawhide.

If your package cannot be ported or it's unrealistic to do it in the short time, please switch to the
compat Tcl/Tk 8 packages. In the spec file change the BuildRequires from the "tcl-devel"/"tk-devel" to
"tcl8-devel"/"tk8-devel". If your package needs explicit "Requires: tcl", you can use "Requires: tcl8".
Then build your package with the side-tag "f42-build-side-103615":
  $ fedpkg build --target=f42-build-side-103615
Optionally, you can regenerate the repo for others to be able to build with your package in the side-tag,
(example YOUR_PKG_NVR="brltty-6.7-3"):
  $ koji wait-repo --build=$YOUR_PKG_NVR.fc42 f42-build-side-103615 --request
Close this bug as rawhide.

If you update your package after resolving this bug (and before 2025-02-04), please build to the side-tag.

Components which bugzillas won't be resolved till 2025-01-31 will be switched to the compat tcl8/tk8
packages by proven packager and rebuilt into the side-tag.

Then at the turning point (2025-02-03) the side-tag will be pushed by me as an Bodhi update.

Thanks for your cooperation.

[1] https://fedoraproject.org/wiki/Changes/TclTk9.0
[2] https://copr.fedorainfracloud.org/coprs/jskarvad/TclTK9.0.0/
[3] https://www.tcl-lang.org/software/tcltk/9.0.html

Comment 1 Jaroslav Škarvada 2025-01-15 10:42:32 UTC
Update:

There is a better way how to handle switch to compat packages, instead of build requiring tcl8-devel/tk8-devel, the following is better and backward compatible approach:
  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.

For updates please check the tracking bug 2337584.

Comment 2 Jaroslav Škarvada 2025-01-15 11:07:17 UTC
Update (auto comment):

>  BuildRequires: tcl-devel < 9
>  BuildRequires: tk-devel < 9

There is epoch, so the correct variant is:
  BuildRequires: tcl-devel < 1:9
  BuildRequires: tk-devel < 1:9

Sorry for confusion.

Comment 3 Paul Howarth 2025-01-15 20:20:33 UTC
Will the side tag rebuilds need to be done again after the mass rebuild?

Comment 4 Jaroslav Škarvada 2025-01-15 20:51:37 UTC
(In reply to Paul Howarth from comment #3)
> Will the side tag rebuilds need to be done again after the mass rebuild?

Packages using compat tcl8/tk8 doesn't require side-tag rebuild, the ABI shouldn't break. Packages using tcl/tk 9 needs to be build into side-tag. I am going to bump & rebuild everything in the side-tag before I will push the bodhi update (I initially didn't count with the mass rebuild and gcc-15 stuff).

Comment 5 Paul Howarth 2025-01-16 07:06:36 UTC
Built in side tag.


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