Bug 2337708

Summary: Please update the package for the 'Tcl/Tk 9.0' Fedora change
Product: [Fedora] Fedora Reporter: Jaroslav Škarvada <jskarvad>
Component: gitAssignee: Ondřej Pohořelský <opohorel>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: besser82, johannes, jonathan, opohorel, pstodulk
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://fedoraproject.org/wiki/Changes/TclTk9.0
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-01-15 08:28:15 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2337584    

Description Jaroslav Škarvada 2025-01-14 18:33:53 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 Ondřej Pohořelský 2025-01-15 08:28:15 UTC
Scratch build of Git against the side-tag has succeeded. Closing as Rawhide

Comment 2 Jaroslav Škarvada 2025-01-15 10:47:40 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 3 Jaroslav Škarvada 2025-01-15 11:12:23 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.