Hello, I would like to remove tk8.4 from my system, but the package tk depends on it, which in turn gitk depends on. Since gitk apparently als works with tk8.5, and the gitk start script is version-independent, the explicit dependency tk should be weakened. I suggest to either just depend on "wish", which is provided both by tk8.4 and tk8.5 or to at least allow dependencies to either tk|tk8.5. Many thanks Steffen
Hi, please see http://bugs.debian.org/503113 Regards, Gerrit.
Hi Gerrit, Gerrit Pape wrote: I should have reopened that bug probably. With tk8.4 remaining unremovable for gitk, and r-core-dev depending on tk8.5, and me wanting to use the newer version, I still suggest to somehow change the dependency. How about tk(>=8.4)|tk8.5 ? Best, Steffen.
Hmm, the report above suggest that you can remove tk8.4: Was that wrong advice? Thanks, Gerrit.
Gerrit Pape wrote: $ LANG=C sudo dpkg --purge tk8.4 tk dpkg: dependency problems prevent removal of tk: gitk depends on tk (>= 8.4). dpkg: error processing tk (--purge): dependency problems - not removing dpkg: dependency problems prevent removal of tk8.4: tk depends on tk8.4 (>= 8.4.16-2). dpkg: error processing tk8.4 (--purge): dependency problems - not removing Errors were encountered while processing: tk tk8.4 You may argue that the problem is with the tk package, which should also allow newer version of tk. For the moment it does not: $ apt-cache show tk | grep Depends Depends: tcl (= 8.4.16-2), tk8.4 (>= 8.4.16-2) This is probably intentional, since it grants a guarantee for the availability of a well-known version of tk. I personally find the explicit dependency on tcl wrong, though and would prefer for the tk package something like Depends: tk8.4 (>= 8.4.16-2) | tk8.5 (>= 8.5.7-1) I am CCing the tk maintainers mailing list, who have more of an oversight on the issue than me. Cheers, Steffen
This is intentional to ensure having _one_ reference version of tcl/tk. Packages should depend on that, if it is not strictly required a major version. Anyway, it is moving to 8.5 within the squeeze release cycle.
tags 550299 + wontfix thanks Hi Steffen, Steffen Moeller wrote: [...] Aggh, yes. I am not all a fan of how the tk packages are set up. Yep. I do not want to create more hacks, so I think this is in the hands of the tk maintainers now. See #570164 (gitk bug) and #516178 (tk bug). A dependency on wish would be satisfied by tk8.3, which I think makes it a nonstarter. Marking wontfix. Still, thanks for working towards a smaller disk footprint for Debian. I do hope this gets fixed. Jonathan
It is not clear to me what you are trying to obtain. You must have the default tcl/tk version installed (currently 8.4). Also you can have 8.5 installed, but you can remove it if you had not installed packages that depend on 8.5 strictly. It is exactly the same you get with gcc default and gcc-X.Y versions. So what? The only true problem is the historical presence of alternatives, which should be dropped. Default Tcl/Tk version is not something the admin should be able to set, because it is error prone. At the same time, IMHO depending on wish is an error. It is much better depending on default tk. Also that kind of dependencies should be dropped. Please cfr: http://pkg-tcltk.alioth.debian.org/tcltk-policy.html/ch-module_packages.html#s-dependencies
Hi Francesco, Francesco P. Lovergine wrote: I don’t think the analogy is perfect. Steffen reported that he uses gitk and would prefer to use it with tk8.5 (if I remember correctly). This makes sense to me, because in many ways, tk8.5 is simply better than tk8.4. With the current system, most packages that depend on tk use wish rather than using wish-default directly, meaning that if the admin has set wish to point elsewhere, the tk8.4 installation is wasted space. Now compare the gcc situation. IIUC the packaging strategy is to roughly mimic what upstream provides. That is, there is one current release, old releases kept for compatibility, and new releases provided for experimentation. gcc-4.5 and gcc-snapshot are likely to be broken occasionally, so it is foolish for packages to use them without a good reason. gcc-4.4 is what the rest of the world is already using, and it is easy for Debian to standardize on it for now. When we have various packages depending on different GCC versions, forcing the admin to have several installed, that is a symptom of a problem: for example, for copyright reasons it took a while to switch to GCC 4.4, and so impatient package maintainers with reason to upgrade switched individually. No argument here, provided the default version does not fall way out of date too often. Actually, I would encourage (for squeeze+1) just having one tcl and one tk source package (plus maybe a tcltk-snapshot package for testers). IMHO there are not enough packages using Tcl/Tk in crazy ways to make multiple co-installable versions worth the trouble. Then using alternatives is a bug. It is not at all analogous to letting the admin install a symlink in /usr/local/bin; providing alternatives is advertising that it will work. I suspect dropping alternatives support would leave some people unhappy because they are used to tk8.5 or 8.6 and don’t want to go back to 8.4. One bug masks the other. Because of Bug#544460, gitk probably needs to depend on tk (>= 8.5.7). Which is unsatisfiable. *sigh* Jonathan
This is a non problem because 8.5 should be the default for squeeze. As above.