tcltk-defaults-8.6.0+6ubuntu3/0000775000000000000000000000000012263533567013046 5ustar tcltk-defaults-8.6.0+6ubuntu3/debian/0000775000000000000000000000000012306127360014254 5ustar tcltk-defaults-8.6.0+6ubuntu3/debian/tk-dev.dirs0000664000000000000000000000005412220625340016324 0ustar /usr/include /usr/lib /usr/share/doc/tk-dev tcltk-defaults-8.6.0+6ubuntu3/debian/tcl-dev.install0000664000000000000000000000003612220625340017175 0ustar debian/tcltk-depends /usr/bin tcltk-defaults-8.6.0+6ubuntu3/debian/tcl.links.in0000664000000000000000000000015012170160641016477 0ustar /usr/bin/tclsh@VER@ /usr/bin/tclsh /usr/share/man/man1/tclsh@VER@.1.gz /usr/share/man/man1/tclsh.1.gz tcltk-defaults-8.6.0+6ubuntu3/debian/tk.links.in0000664000000000000000000000014412170160641016336 0ustar /usr/bin/wish@VER@ /usr/bin/wish /usr/share/man/man1/wish@VER@.1.gz /usr/share/man/man1/wish.1.gz tcltk-defaults-8.6.0+6ubuntu3/debian/tcl-dev.manpages0000664000000000000000000000002712220625340017322 0ustar debian/tcltk-depends.1 tcltk-defaults-8.6.0+6ubuntu3/debian/tcl.preinst0000664000000000000000000000051712263264532016454 0ustar #!/bin/sh set -e case "$1" in install|upgrade) # Currently the alternatives mechanism is not used if dpkg --compare-versions "$2" lt-nl "8.6.0+2"; then update-alternatives --remove-all tclsh || true fi ;; abort-upgrade) ;; *) echo "preinst called with unknown argument \`$1'" >&2 exit 1 ;; esac #DEBHELPER# tcltk-defaults-8.6.0+6ubuntu3/debian/tcltk-depends.10000664000000000000000000000121012220625340017065 0ustar .TH tcltk-depends 1 "2013-09-25" "0.3" "Tcl/Tk packages for Debian GNU/Linux" .SH "NAME" tcltk\-depends \- calculates Tcl/Tk dependencies .SH "SYNOPSIS" \&\fBtcltk-depends\fR [\fIdebhelper\ options\fR] .SH "DESCRIPTION" tcltk-depends is a debhelper-like program which is responsible for generating the ${tcl:Depends}, ${tk:Depends}, ${tclsh:Depends} and ${wish:Depends} substitution variables and adding them to substvars files. .PP If you use this program, your package must build-depend on tcl-dev or tk-dev. .SH "SEE ALSO" \&\fIdebhelper\fR\|(7) .PP This program is not a part of debhelper. .SH "AUTHOR" Sergei Golovan tcltk-defaults-8.6.0+6ubuntu3/debian/copyright0000664000000000000000000000641310706612400016207 0ustar This package is a supplementary package for Debian Tcl/Tk distribution. It was created by Sergei Golovan and Francesco Paolo Lovergine . The package is distributed under the same license as Tcl/Tk itself. The package contains Debian Tcl/Tk policy manual which is distributed under the terms of GNU GPL. Copyright: This software is copyrighted by the Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, and other parties. The following terms apply to all files associated with the software unless explicitly disclaimed in individual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply. IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the terms specified in this license. Copyright notice for Tcl/Tk policy: Copyright (c) 2007 Software in the Public Interest This manual is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. A copy of the GNU General Public License is available as /usr/share/common-licenses/GPL in the Debian GNU/Linux distribution or on the World Wide Web at http://www.gnu.org/copyleft/gpl.html tcltk-defaults-8.6.0+6ubuntu3/debian/tcl-dev.links.in0000664000000000000000000000124212220625340017254 0ustar /usr/include/tcl@VER@ /usr/include/tcl /usr/lib/@DEB_HOST_MULTIARCH@/libtcl@VER@.a /usr/lib/@DEB_HOST_MULTIARCH@/libtcl.a /usr/lib/@DEB_HOST_MULTIARCH@/libtcl@VER@.so /usr/lib/@DEB_HOST_MULTIARCH@/libtcl.so /usr/lib/@DEB_HOST_MULTIARCH@/libtclstub@VER@.a /usr/lib/@DEB_HOST_MULTIARCH@/libtclstub.a /usr/lib/@DEB_HOST_MULTIARCH@/tcl@VER@/tclConfig.sh /usr/lib/@DEB_HOST_MULTIARCH@/tclConfig.sh /usr/lib/@DEB_HOST_MULTIARCH@/tcl@VER@/tclooConfig.sh /usr/lib/@DEB_HOST_MULTIARCH@/tclooConfig.sh /usr/lib/tcl@VER@/tclConfig.sh /usr/lib/tclConfig.sh /usr/lib/tcl@VER@/tclooConfig.sh /usr/lib/tclooConfig.sh /usr/share/aclocal/tcl@VER@.m4 /usr/share/aclocal/tcl.m4 tcltk-defaults-8.6.0+6ubuntu3/debian/control.in0000664000000000000000000000702012305172261016262 0ustar Source: tcltk-defaults Section: interpreters Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian Tcl/Tk Packagers Uploaders: Francesco Paolo Lovergine , Sergei Golovan Build-Depends: debhelper (>= 9.0.0), dpkg-dev (>= 1.16.1~) Build-Depends-Indep: subversion, debiandoc-sgml, texlive-fonts-recommended | tetex-extra, texlive-latex-extra | tetex-extra, texlive-latex-recommended | tetex-extra Standards-Version: 3.9.4 Package: tcl Section: interpreters Priority: optional Architecture: any Depends: tcl@VER@ (>= @TCLVER@), ${misc:Depends} Breaks: tcl8.3 (<< 8.3.5-15), tcl8.4 (<< 8.4.20-2), tcl8.5 (<< 8.5.14-3), tcl8.6 (<< 8.6.0-2) Provides: tclsh Multi-Arch: foreign Description: Tool Command Language (default version) - shell Tcl is a powerful, easy to use, embeddable, cross-platform interpreted scripting language. . This package is a dependency package, which depends on Debian's default Tcl version (currently @VER@). Package: tcl-dev Section: libdevel Priority: optional Architecture: any Depends: tcl@VER@-dev (>= @TCLVER@), tcl, ${misc:Depends} Suggests: tcl-doc Conflicts: tk-tile Replaces: tk-tile, tcl-lib (<< 8.6.0+6ubuntu1) Multi-Arch: same Description: Tool Command Language (default version) - development files Tcl is a powerful, easy-to-use, embeddable, cross-platform interpreted scripting language. . This package is a dependency package, which depends on Debian's default Tcl version (currently @VER@). Package: tcl-doc Section: doc Priority: optional Architecture: all Depends: ${misc:Depends} Recommends: tcl@VER@-doc (>= @TCLVER@) Suggests: tcl Description: Tool Command Language (default version) - manual pages Tcl is a powerful, easy-to-use, embeddable, cross-platform interpreted scripting language. This package contains the man pages for Tcl commands. . This package is a dependency package, which depends on Debian's default Tcl version (currently @VER@). Package: tk Section: interpreters Priority: optional Architecture: any Depends: tk@VER@ (>= @TKVER@), tcl, ${misc:Depends} Breaks: tk8.3 (<< 8.3.5-16), tk8.4 (<< 8.4.20-2), tk8.5 (<< 8.5.14-3), tk8.6 (<< 8.6.0-2) Provides: wish Multi-Arch: foreign Description: Toolkit for Tcl and X11 (default version) - windowing shell Tk is a cross-platform graphical toolkit which provides the Motif look-and-feel and is implemented using the Tcl scripting language. . This package is a dependency package, which depends on Debian's default Tk version (currently @VER@). Package: tk-dev Section: libdevel Priority: optional Architecture: any Depends: tk@VER@-dev (>= @TKVER@), tk, tcl-dev, ${misc:Depends} Suggests: tk-doc Multi-Arch: same Description: Toolkit for Tcl and X11 (default version) - development files Tk is a cross-platform graphical toolkit which provides the Motif look-and-feel and is implemented using the Tcl scripting language. . This package is a dependency package, which depends on Debian's default Tk version (currently @VER@). Package: tk-doc Section: doc Priority: optional Architecture: all Depends: tcl-doc (= ${binary:Version}), ${misc:Depends} Recommends: tk@VER@-doc (>= @TKVER@) Suggests: tk Description: Toolkit for Tcl and X11 (default version) - manual pages Tk is a cross-platform graphical toolkit which provides the Motif look-and-feel and is implemented using the Tcl scripting language. . This package is a dependency package, which depends on Debian's default Tk version (currently @VER@). tcltk-defaults-8.6.0+6ubuntu3/debian/tk.dirs0000664000000000000000000000011410750154573015560 0ustar /usr/bin /usr/share/doc/tk /usr/share/lintian/overrides /usr/share/man/man1 tcltk-defaults-8.6.0+6ubuntu3/debian/source/0000775000000000000000000000000012220625403015550 5ustar tcltk-defaults-8.6.0+6ubuntu3/debian/source/format0000664000000000000000000000001512170160641016761 0ustar 3.0 (native) tcltk-defaults-8.6.0+6ubuntu3/debian/README.Debian0000664000000000000000000000141212170160641016311 0ustar tcltk-defaults for Debian ------------------------- This is the Tcl/Tk defaults package for Debian distribution. It defines default versions of Debian Tcl and Tk packages and provides Debian Tcl/Tk policy documents in various formats. To do that it installs a series of depending packages and sets suitable symlinks. Currently installing this set of packages is the only way to obtain /usr/bin/tclsh and /usr/bin/wish Tcl/Tk interpreters. Otherwise you'll get only versioned ones (e.g. /usr/bin/tclsh8.6 and /usr/bin/wish8.6). Current version of Tcl/Tk policy is included into tcl-doc binary package and can be found in /usr/share/doc/tcl-doc directory. Wed, 10 Jul 2013 13:13:14 +0400 Francesco Paolo Lovergine Sergei Golovan tcltk-defaults-8.6.0+6ubuntu3/debian/changelog0000664000000000000000000001550012306127360016127 0ustar tcltk-defaults (8.6.0+6ubuntu3) trusty; urgency=medium * Add conflicts on tcl-lib and tcl8.5-lib to facilitate apt choosing the correct upgrade path (LP: #1280782) -- Brian Murray Thu, 06 Mar 2014 09:22:31 -0800 tcltk-defaults (8.6.0+6ubuntu2) trusty; urgency=medium * Add conflicts on tk-lib and tk8.5-lib to facilitate apt choosing the correct upgrade path (LP: #1280782) -- Brian Murray Mon, 03 Mar 2014 13:29:52 -0800 tcltk-defaults (8.6.0+6ubuntu1) trusty; urgency=medium * Fix update from earlier tcl-lib versions providing the .so symlink. -- Matthias Klose Thu, 09 Jan 2014 11:30:14 +0100 tcltk-defaults (8.6.0+6) experimental; urgency=low * Removed lbtcl-dev and libtk-dev packages after a discussion on debian-devel mailing list. -- Sergei Golovan Wed, 25 Sep 2013 22:17:11 +0400 tcltk-defaults (8.6.0+5) experimental; urgency=low * Fixed building architecture dependent packages only. -- Sergei Golovan Sat, 24 Aug 2013 22:10:44 +0400 tcltk-defaults (8.6.0+4) experimental; urgency=low * Added conflicts and replaces headers for libtcl-dev and libtk-dev (with tcl-dev and tk-dev respectively) to make the packages upgradable from versions in stable (closes: #720464). -- Sergei Golovan Sat, 24 Aug 2013 10:13:38 +0400 tcltk-defaults (8.6.0+3) experimental; urgency=low * Restored tcl-dev and tk-dev dummy packages for better backward compatibility. * Relaxed interdependencies between binary packages (removed unnecessary version restrictions). -- Sergei Golovan Mon, 19 Aug 2013 22:12:11 +0400 tcltk-defaults (8.6.0+2) experimental; urgency=low * Converted to 3.0 (native) source package format. * Changed version scheme from 8.6.0-2 to 8.6.0+2 because the former violates Debian policy (section 5.6.12). * Removed lintian overrides. * Don't use the alternatives mechanism for selecting the default Tcl/Tk version. Use plain symlinks instead. This includes removing all tclsh and wish alternatives in the preinst scripts (closes: #628179). * Renamed tcl-dev and tk-dev packages to libtcl-dev and libtk-dev (providing the former as virtual packages for backward compatibility). * Updated conflicts with tcl/tk 8.3, 8.4, 8.5 and 8.6 packages to the latest versions which stil use alternatives. * Provide tclsh and wish virtual packages (by tcl and tk respectively) for backward compatibility with the older Tcl/Tk policy recommendations. * Rewritten debian/rules to make it work more like a Makefile than like a series of shell scripts. * Bumped standards version to 3.9.4. * Increased debhelper compatibility version to 9. * Added multi-arch support. * Bumped compatible Tcl/Tk version to 8.6.0-2. * Removed tcl from the tk dependencies because the tclsh is not necessary for a windowed applications or shell to run. * Added conflicts and replaces tk-tile headers to the tcl-dev package, acknowledging NMU. -- Sergei Golovan Fri, 02 Aug 2013 08:25:12 +0400 tcltk-defaults (8.6.0-1) experimental; urgency=low * Changed the default Tcl/Tk version to 8.6 for experimental. * Bumped standards version to 3.9.2. No changes. -- Sergei Golovan Sun, 04 Sep 2011 12:34:38 +0400 tcltk-defaults (8.6.0-0ubuntu1) trusty; urgency=medium * Bump version to 8.6. -- Matthias Klose Thu, 02 Jan 2014 07:23:15 +0100 tcltk-defaults (8.5.0-2ubuntu7) trusty; urgency=medium * tk-lib: depend on libtk8.5 instead of tk8.5-dev. -- Matthias Klose Wed, 01 Jan 2014 23:44:21 +0100 tcltk-defaults (8.5.0-2ubuntu6) trusty; urgency=medium * tcl-lib: depend on libtcl8.5 instead of tcl8.5-dev. -- Matthias Klose Wed, 01 Jan 2014 21:56:04 +0100 tcltk-defaults (8.5.0-2ubuntu5) raring; urgency=low * Make tcl-dev and tk-dev depend on dpkg-dev for dpkg-architecture. -- Colin Watson Mon, 22 Apr 2013 13:48:56 +0100 tcltk-defaults (8.5.0-2ubuntu4) raring; urgency=low * Provide compat tclConfig.sh and tkConfig.sh scripts in the usual locations, thus fixing multiple ftbfs. -- Dmitrijs Ledkovs Tue, 02 Apr 2013 10:39:13 +0100 tcltk-defaults (8.5.0-2ubuntu3) raring; urgency=low * Drop redundant tcl-dev -> tcl-lib dependency; the dependency on tcl here is enough. * Convert tk* to multiarch (LP: #1122120). -- Colin Watson Tue, 19 Mar 2013 12:33:12 +0000 tcltk-defaults (8.5.0-2ubuntu2) raring; urgency=low * Fix-up tcl-lib dependencies * Resurrect correct debian/control.in -- Dmitrijs Ledkovs Tue, 12 Mar 2013 16:06:40 +0000 tcltk-defaults (8.5.0-2ubuntu1) raring; urgency=low * Add mutli-arch fields. (LP: #1122120) -- Dmitrijs Ledkovs Tue, 12 Mar 2013 11:51:41 +0000 tcltk-defaults (8.5.0-2) unstable; urgency=low * Upload of 8.5 to unstable (closes: #515984). * Changed symlink targets for /usr/lib/tclConfig.sh and /usr/lib/tkConfig.sh to /usr/lib/tcl8.5/tclConfig.sh and /usr/lib/tk8.5/tkConfig.sh because the latter files are architecture dependent. * Added ${misc:Depends} to the binary packages dependency lists because the package is built using debhelper. * Bumped standards version to 3.9.1. No changes. -- Sergei Golovan Sun, 06 Feb 2011 17:03:41 +0300 tcltk-defaults (8.5.0-1) experimental; urgency=low [ Sergei Golovan ] * Changed the default Tcl/Tk version to 8.5. This means depending on tcl8.5 and tk8.5 packages (closes: #515984, #516178). * Removed useless call to dh_desktop in debian/rules. * Made tcltk-depends adding substvars only if they are present in debian/control file to suppress dh_gencontrol warnings about unused substitution variables. * Added note about ${tclsh:Depends} and ${wish:Depends} to tcltk-depends manpage. [ Francesco Paolo Lovergine ] * Bumped standards version to 3.8.4. No changes. -- Francesco Paolo Lovergine Wed, 17 Mar 2010 11:21:32 +0100 tcltk-defaults (8.4.16-2) unstable; urgency=low * Fixed clean rule in debian/rules. * Removed empty directory /usr/share/aclocal from tk-dev package. * Bumped standards version to 3.7.3. * Overridden lintian warnings about conflicts of tcl and tk with multiple versions of Tcl and Tk packages since these conflicts just show which versions became Tcl/Tk policy compliant. -- Sergei Golovan Wed, 30 Jan 2008 22:41:17 +0300 tcltk-defaults (8.4.16-1) unstable; urgency=low * Initial release of the default Tcl/Tk packages. Corresponds to tcl8.4 8.4.16-2 and tk8.4 8.4.16-2 (and newer). -- Sergei Golovan Fri, 19 Oct 2007 20:57:49 +0400 tcltk-defaults-8.6.0+6ubuntu3/debian/tcl-doc.docs0000664000000000000000000000010612170160641016446 0ustar tcltk-policy.html/tcltk-policy.html tcltk-policy.txt tcltk-policy.pdf tcltk-defaults-8.6.0+6ubuntu3/debian/tk-doc.links.in0000664000000000000000000000005510705671710017110 0ustar /usr/share/doc/tcl-doc /usr/share/doc/tk-doc tcltk-defaults-8.6.0+6ubuntu3/debian/tcltk-depends.in0000664000000000000000000001426711322316537017362 0ustar #!/usr/bin/tclsh if {[info commands lassign] == ""} { # lassign -- # Assigns list contents to given variables. This command # exists in Tcl 8.5, so the definition is conditional. # # Arguments: # list A list of assigning values. # args Variables to assign. # # Results: # The rest of a list. # # Side effects: # The given variables are assigned. proc lassign {list args} { foreach name $args { upvar $name var set var [lindex $list 0] set list [lrange $list 1 end] } return $list } } # delsubstvar -- # Removes substitution variable from a substvar file for a given # package in ./debian/ directory. # # Arguments: # package Name of a package (file $package.substvars is used). # substvar Name of a substitution variable to delete. # # Results: # An empty string. # # Side effects: # File debian/$package.substvars is overwritten. The specified variable # is deleted. proc delsubstvar {package substvar} { set substvarfile [file join debian $package.substvars] if {[file exists $substvarfile]} { set fd [open $substvarfile] set lines [split [string trim [read $fd]] "\n"] close $fd set fd [open $substvarfile w] foreach line $lines { if {[string first $substvar= $line] != 0} { puts $fd $line } } close $fd } return } # addsubstvar -- # Adds a dependency to a substitution variable in a substvar file # for a given package in ./debian/ directory. # # Arguments: # package Name of a package (file $package.substvars is used). # substvar Name of a substitution variable to add/change. # deppackage An added substitution dependency string. # # Results: # An empty string. # # Side effects: # File debian/$package.substvars is overwritten. The specified depandency # string is added to the variable. proc addsubstvar {package substvar deppackage} { set substvarfile [file join debian $package.substvars] if {[file exists $substvarfile]} { set fd [open $substvarfile] set lines [split [string trim [read $fd]] "\n"] close $fd set fd [open $substvarfile w] set found 0 foreach line $lines { if {[string first $substvar= $line] != 0} { puts $fd $line } else { set items [split [string range $line [string length $substvar=] end] ","] set items1 {} foreach i $items { lappend items1 [string trim $i] } lappend items1 $deppackage puts $fd $substvar=[join $items1 ", "] set found 1 } } if {!$found} { puts $fd $substvar=$deppackage } close $fd } else { set fd [open $substvarfile w] puts $fd $substvar=$deppackage close $fd } return } # getpackages -- # Parses debhelper command line options and debian/control file and # returns packages to act on. # # Arguments: # arglist Dephelper options (only -a, -i, -p, -N options are # recognised). # # Results: # Package names to work on or error message and exit if debian/control # is unreadable or unknown option is specified. # # Side effects: # None. proc getpackages {arglist} { if {[catch {open [file join debian control]} fd]} { puts [format "cannot read debian/control: %s" $fd] exit 1 } else { set arches all set excluded {} set explicit {} while {[llength $arglist] > 0} { set arglist [lassign $arglist opt] switch -glob -- $opt { -a - --arch { # Only the last -a or -i options takes effect set arches arch } -i - --indep { # Only the last -a or -i options takes effect set arches indep } -s - --same-arch { puts "options -s and --same-arch aren't supported yet" exit 1 } -p* { lappend explicit [string range $opt 2 end] } --package=* { lappend explicit [string range $opt 10 end] } -N* { lappend excluded [string range $opt 2 end] } --no-package=* { lappend excluded [string range $opt 13 end] } default { puts [format "unknown option %s" $opt] exit 1 } } } set data [read $fd] regsub -all {\n( |\t)} $data {\1} data ; # Join up all continuatioin lines set lines [split $data "\n"] lappend lines "" ; # If debian/config doesn't have a trailing LF close $fd set packages {} set allpackages {} set package "" set arch "" set vars {} foreach line $lines { switch -glob -- $line { "Package: *" { set package [string trim [string range $line 9 end]] } "Architecture: *" { set arch [string trim [string range $line 14 end]] } "Pre-Depends: *" - "Depends: *" - "Recommends: *" - "Suggests: *" - "Enhances: *" - "Breaks: *" - "Conflicts: *" - "Provides: *" - "Replaces: *" { set vars [concat $vars [regexp -all -inline {\$\{\S*\}} $line]] } "" { if {$package == ""} { # Two LF in a row or the end of a source package } elseif {[lsearch -exact $excluded $package] >= 0} { # The package is excluded by -Npackage } elseif {[lsearch -exact $explicit $package] >= 0} { # The package is explicitly required lappend packages $package $vars } elseif {$arches == "arch" && $arch != "all"} { # Arch dependent packages are requested lappend packages $package $vars } elseif {$arches == "indep" && $arch == "all"} { # Arch independent packages are requested lappend packages $package $vars } elseif {$arches == "all"} { lappend allpackages $package $vars } set package "" set arch "" set vars {} } } } if {$arches == "all" && [llength $packages] == 0} { # There aren't explicitly requested packages set packages $allpackages } return $packages } } set version "@COMPATVER@" if {$version == ""} { set dep "" } else { set dep " (>= $version)" } foreach {package vars} [getpackages $argv] { delsubstvar $package "tcl:Depends" if {[lsearch -exact $vars "\${tcl:Depends}"] >= 0} { addsubstvar $package "tcl:Depends" "tcl$dep" } delsubstvar $package "tclsh:Depends" if {[lsearch -exact $vars "\${tclsh:Depends}"] >= 0} { addsubstvar $package "tclsh:Depends" "tcl$dep | tclsh" } delsubstvar $package "tk:Depends" if {[lsearch -exact $vars "\${tk:Depends}"] >= 0} { addsubstvar $package "tk:Depends" "tk$dep" } delsubstvar $package "wish:Depends" if {[lsearch -exact $vars "\${wish:Depends}"] >= 0} { addsubstvar $package "wish:Depends" "tk$dep | wish" } } tcltk-defaults-8.6.0+6ubuntu3/debian/tcl-dev.dirs0000664000000000000000000000011112220625340016462 0ustar /usr/bin /usr/include /usr/lib /usr/share/aclocal /usr/share/doc/tcl-dev tcltk-defaults-8.6.0+6ubuntu3/debian/tcl-doc.dirs0000664000000000000000000000002710705645063016471 0ustar /usr/share/doc/tcl-doc tcltk-defaults-8.6.0+6ubuntu3/debian/compat0000664000000000000000000000000212170160641015450 0ustar 9 tcltk-defaults-8.6.0+6ubuntu3/debian/tk-dev.links.in0000664000000000000000000000067312220625340017117 0ustar /usr/include/tcl@VER@ /usr/include/tk /usr/lib/@DEB_HOST_MULTIARCH@/libtk@VER@.a /usr/lib/@DEB_HOST_MULTIARCH@/libtk.a /usr/lib/@DEB_HOST_MULTIARCH@/libtk@VER@.so /usr/lib/@DEB_HOST_MULTIARCH@/libtk.so /usr/lib/@DEB_HOST_MULTIARCH@/libtkstub@VER@.a /usr/lib/@DEB_HOST_MULTIARCH@/libtkstub.a /usr/lib/@DEB_HOST_MULTIARCH@/tk@VER@/tkConfig.sh /usr/lib/@DEB_HOST_MULTIARCH@/tkConfig.sh /usr/lib/tk@VER@/tkConfig.sh /usr/lib/tkConfig.sh tcltk-defaults-8.6.0+6ubuntu3/debian/tcl.dirs0000664000000000000000000000011510750154573015725 0ustar /usr/bin /usr/share/doc/tcl /usr/share/lintian/overrides /usr/share/man/man1 tcltk-defaults-8.6.0+6ubuntu3/debian/control0000664000000000000000000000706112306127115015661 0ustar Source: tcltk-defaults Section: interpreters Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian Tcl/Tk Packagers Uploaders: Francesco Paolo Lovergine , Sergei Golovan Build-Depends: debhelper (>= 9.0.0), dpkg-dev (>= 1.16.1~) Build-Depends-Indep: subversion, debiandoc-sgml, texlive-fonts-recommended | tetex-extra, texlive-latex-extra | tetex-extra, texlive-latex-recommended | tetex-extra Standards-Version: 3.9.4 Package: tcl Section: interpreters Priority: optional Architecture: any Depends: tcl8.6 (>= 8.6.0-2), ${misc:Depends} Breaks: tcl8.3 (<< 8.3.5-15), tcl8.4 (<< 8.4.20-2), tcl8.5 (<< 8.5.14-3), tcl8.6 (<< 8.6.0-2) Conflicts: tcl-lib, tcl8.5-lib Provides: tclsh Multi-Arch: foreign Description: Tool Command Language (default version) - shell Tcl is a powerful, easy to use, embeddable, cross-platform interpreted scripting language. . This package is a dependency package, which depends on Debian's default Tcl version (currently 8.6). Package: tcl-dev Section: libdevel Priority: optional Architecture: any Depends: tcl8.6-dev (>= 8.6.0-2), tcl, ${misc:Depends} Suggests: tcl-doc Conflicts: tk-tile Replaces: tk-tile, tcl-lib (<< 8.6.0+6ubuntu1) Multi-Arch: same Description: Tool Command Language (default version) - development files Tcl is a powerful, easy-to-use, embeddable, cross-platform interpreted scripting language. . This package is a dependency package, which depends on Debian's default Tcl version (currently 8.6). Package: tcl-doc Section: doc Priority: optional Architecture: all Depends: ${misc:Depends} Recommends: tcl8.6-doc (>= 8.6.0-2) Suggests: tcl Description: Tool Command Language (default version) - manual pages Tcl is a powerful, easy-to-use, embeddable, cross-platform interpreted scripting language. This package contains the man pages for Tcl commands. . This package is a dependency package, which depends on Debian's default Tcl version (currently 8.6). Package: tk Section: interpreters Priority: optional Architecture: any Depends: tk8.6 (>= 8.6.0-2), tcl, ${misc:Depends} Breaks: tk8.3 (<< 8.3.5-16), tk8.4 (<< 8.4.20-2), tk8.5 (<< 8.5.14-3), tk8.6 (<< 8.6.0-2) Conflicts: tk-lib, tk8.5-lib Provides: wish Multi-Arch: foreign Description: Toolkit for Tcl and X11 (default version) - windowing shell Tk is a cross-platform graphical toolkit which provides the Motif look-and-feel and is implemented using the Tcl scripting language. . This package is a dependency package, which depends on Debian's default Tk version (currently 8.6). Package: tk-dev Section: libdevel Priority: optional Architecture: any Depends: tk8.6-dev (>= 8.6.0-2), tk, tcl-dev, ${misc:Depends} Suggests: tk-doc Multi-Arch: same Description: Toolkit for Tcl and X11 (default version) - development files Tk is a cross-platform graphical toolkit which provides the Motif look-and-feel and is implemented using the Tcl scripting language. . This package is a dependency package, which depends on Debian's default Tk version (currently 8.6). Package: tk-doc Section: doc Priority: optional Architecture: all Depends: tcl-doc (= ${binary:Version}), ${misc:Depends} Recommends: tk8.6-doc (>= 8.6.0-2) Suggests: tk Description: Toolkit for Tcl and X11 (default version) - manual pages Tk is a cross-platform graphical toolkit which provides the Motif look-and-feel and is implemented using the Tcl scripting language. . This package is a dependency package, which depends on Debian's default Tk version (currently 8.6). tcltk-defaults-8.6.0+6ubuntu3/debian/rules0000775000000000000000000000373212220625340015335 0ustar #!/usr/bin/make -f # Sample debian/rules that uses debhelper. # GNU copyright 1997 by Joey Hess. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 VER := 8.6 TCLVER := 8.6.0-2 TKVER := 8.6.0-2 COMPATVER := 8.6.0-2 include /usr/share/dpkg/architecture.mk DOCS = tcltk-policy.html/tcltk-policy.html tcltk-policy.txt tcltk-policy.pdf BINS = debian/tcltk-depends debian/tcl.links debian/tcl-dev.links \ debian/tk.links debian/tk-dev.links debian/tk-doc.links # # A new policy should be get manually and only after agreement # POLICY = 0.2.0 get-policy: svn export svn://svn.debian.org/svn/pkg-tcltk/policy/tags/$(POLICY)/tcltk-policy.sgml build-policy: $(DOCS) tcltk-policy.html/tcltk-policy.html: tcltk-policy.sgml LANG=C debiandoc2html -1 -x -t tcltk-policy tcltk-policy.sgml tcltk-policy.txt: tcltk-policy.sgml LANG=C debiandoc2text tcltk-policy.sgml tcltk-policy.pdf: tcltk-policy.sgml LANG=C debiandoc2pdf tcltk-policy.sgml define dosubst sed -e "s/@VER@/$(VER)/g" \ -e "s/@TCLVER@/$(TCLVER)/g" \ -e "s/@TKVER@/$(TKVER)/g" \ -e "s/@COMPATVER@/$(COMPATVER)/g" \ -e "s/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g" \ <$< >$@ endef debian/tcltk-depends: debian/tcltk-depends.in debian/rules $(dosubst) debian/%.links: debian/%.links.in debian/rules $(dosubst) debian/control: debian/control.in debian/rules $(dosubst) %: dh $@ override_dh_clean: debian/control dh_testdir dh_testroot rm -f $(BINS) rm -f $(DOCS) rm -rf tcltk-policy.html rm -f tcltk-policy.tpt dh_clean override_dh_auto_build-arch: $(BINS) debian/control override_dh_auto_build-indep: $(DOCS) override_dh_installdocs: dh_installdocs -A debian/README.Debian -Ntk-doc override_dh_installchangelogs: dh_installchangelogs -Ntk-doc override_dh_compress: dh_compress -X.pdf .PHONY: get-policy build-policy override_dh_clean override_dh_auto_build-arch \ override_dh_auto_build-indep override_dh_installdocs \ override_dh_installchangelogs override_dh_compress tcltk-defaults-8.6.0+6ubuntu3/debian/tk.preinst0000664000000000000000000000051612263264544016312 0ustar #!/bin/sh set -e case "$1" in install|upgrade) # Currently the alternatives mechanism is not used if dpkg --compare-versions "$2" lt-nl "8.6.0+2"; then update-alternatives --remove-all wish || true fi ;; abort-upgrade) ;; *) echo "preinst called with unknown argument \`$1'" >&2 exit 1 ;; esac #DEBHELPER# tcltk-defaults-8.6.0+6ubuntu3/tcltk-policy.sgml0000664000000000000000000005002710706626161016345 0ustar X.Y"> tclsh"> wish"> tcl"> tcl-dev"> tcl-doc"> tcl&XY;"> tcl&XY;-dev"> tcl&XY;-doc"> tk"> tk-dev"> tk-doc"> tk&XY;"> tk&XY;-dev"> tk&XY;-doc"> ]> Debian Tcl/Tk Policy Francesco Paolo Lovergine frankie@debian.org Sergei Golovan sgolovan@debian.org version 0.2.0 This document describes the packaging of Tcl/Tk within the Debian distribution and the policy requirements for Tcl/Tk extensions and packages. This policy has been defined during Lenny release cycle, so pre-Lenny releases can violate this policy in one or more aspects. Backporters are warned. Copyright © 2007 Software in the Public Interest

This manual is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

A copy of the GNU General Public License is available as /usr/share/common-licenses/GPL in the Debian GNU/Linux distribution or on the World Wide Web at .

You can also obtain it by writing to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Tcl/Tk Packaging Versions

At any given time, the virtual packages &tclsh; and &wish; are provided by all source package versions of Tcl and Tk. So pseudo-default Tcl and Tk exist, but they are generally a choice of the administrator by means of update-alternatives use. Starting from Lenny release, proper default packages are also provided by the Debian tcltk-defaults source package, in order to manage modules and extensions packaging and upgrading better. Modules should preferably use those packages when appropriate (i.e. they are either version independent or properly versioned to inhibit the use of a non compatible versions, see ), but it is not mandatory. This is consistent with the use of alternatives. The default packages are tcl tk tcl-dev tk-dev tcl-doc tk-doc

The default Debian Tcl/Tk version should always be the latest stable upstream release that can be integrated in the distribution. Starting from 8.0, Tcl and Tk share the same version numbering. The default packages depend on the appropriate versioned packages and provide useful additional symlinks and alternatives. Default packages versions follow upstream versions, so that packages can use appropriate versioning constraints on them when it is needed.

Apart from the default version, legacy versions of Tcl/Tk may be included as well in the distribution, as long as they are needed by other packages, or as long as it seems reasonable to provide them. (Note: For the scope of this document, Tcl/Tk versions mean the result of 'info tclversion' command, i.e. Tcl/Tk 8.4 and 8.4.16 are subminor versions of the same Tcl/Tk version 8.4, but Tcl 8.5 and 8.3 are indeed different versions. The patchlevel intends the result of the 'info patchlevel' command, i.e. Tcl/Tk 8.4.16 and 8.4.15 have the same version but different patchlevels).

In addition, unstable/development version of Tcl/Tk may be included in the unstable/experimental distribution.

For any version, the main Tcl and Tk packages are called &tclXY; and &tkXY; respectively. They are always packaged as separate sources, as for upstream. Names of related packages or extensions must follow the same convention if the inclusion of multiple versions make sense or if they work only with specific versions of Tcl or Tk.

To avoid definition clashes with Debian terminology, we will call modules any Tcl/Tk packages which consist uniquely of Tcl/Tk sources, and extension any program which extends consistently Tcl/Tk using TEA and shared libraries. Note that this is not completely consistent with Tcl terminology, which started from version 8.5 also introduces .tm modules and traditionally deals with packages and script libraries.

Main packages

For every Tcl/Tk versions provided in the distribution, the packages &tclXY; and &tkXY; comprise a complete distribution for deployment of Tcl/Tk scripts and applications. The packages include the binaries /usr/bin/tclsh&XY;, /usr/bin/wish&XY; and core modules and extensions of the upstream Tcl/Tk distribution. Any Tcl package includes a Provides: item of the virtual package &tclsh; and any Tk package includes a Provides: item for the &wish; virtual package. They also provide alternatives for files /usr/bin/tclsh and /usr/bin/wish.

Tools and files for the development of Tcl/Tk packages are split off in two separate packages &tclXY-dev; and &tkXY-dev;. Documentation is provided separately in packages &tclXY-doc; and &tkXY-doc;.

Tcl and Tk Interpreters Interpreters Names

Tcl/Tk scripts depending on the default Tcl/Tk version (see ) or not depending on a specific Tcl/Tk version should use tclsh and/or wish(unversioned) as the interpreter name.

Tcl/Tk scripts that only work with a specific Tcl/Tk version must explicitely use the versioned interpreter name (tclsh&XY; and/or wish&XY;) and must depend on the specific Tcl/Tk versioned package.

Interpreters Locations

The path name for the Tcl interpreter is /usr/bin/tclsh or /usr/bin/tclsh&XY;.

The path name for the Tk interpreter is /usr/bin/wish or /usr/bin/wish&XY;.

If a maintainer would like to provide the user a possibility to override the Debian Tcl interpreter, he may want to use /usr/bin/env tclsh or /usr/bin/env tclsh&XY;. The same consideration applies for Tk and the wish interpreter. Administrators could also override default versions of the interpreters using update-alternatives, so maintainers must always consider that the default Tcl/Tk interpreters could be altered by administrators, so packages should always require a compatible version to avoid issues, when appropriate.

Tcl/Tk libraries

The Tcl and Tk libraries are provided by &tclXY; and &tkXY; respectively. These packages install /usr/lib/libtcl&XY;.so.Z (soname is libtcl&XY;.so.Z) and /usr/lib/libtk&XY;.so.Z (soname is libtk&XY;.so.Z).

Tools/files for Development of Tcl/Tk modules and extensions

Some tools and files for development of Tcl/Tk modules and extensions are packaged as &tclXY-dev; and &tkXY-dev;. These packages provide header files as well as static and stub libraries. Header files are installed in /usr/include/tcl&XY; directory (for both Tcl and Tk). Default packages tcl-dev and tk-dev provide symlinks to the right versioned header files directory /usr/include/tcl -> /usr/include/tcl&XY; /usr/include/tk -> /usr/include/tcl&XY; See net section and for more information about possible issues with extension building due to Debian customizations.

Auto_load Path

The package search path (auto_path) for both Tcl and Tk is a list searched in the following order: Site modules and extensions: /usr/local/lib/tcltk (architecture dependent files) /usr/local/share/tcltk (architecture independent files) Packaged modules and extensions: /usr/lib/tcltk (architecture dependent files) /usr/share/tcltk (architecture independent files) Version specific core modules and extensions: /usr/share/tcltk/tcl&XY; /usr/share/tcltk/tk&XY; (for Tk only)

Maintainers must ensure that modules and extensions are correctly installed in subdirs of the paths above consistently. See for more information about Tcl/Tk specific ways of dealing with modules and extensions loading. Developers must consider that these defaults impact TEA-based modules and use preferably system-wide tcl.m4 (it isn't TEA-compatible though) instead of private one (see ).

Documentation

Default packages &tcl-doc; and &tk-doc; which depend on default versioned &tclXY-doc; and &tkXY-doc; are provided. Since different &tclXY-doc; and &tkXY-doc; conflict in files and cannot be installed simultaneously, &tcl-doc; and &tk-doc; only recommend &tclXY-doc; and &tkXY-doc; to allow administrators to install any desirable package with Tcl/Tk manual pages. The package &tcl-doc; also includes a copy of the up-to-date version of this policy.

Packaged Modules Module Names

Packages should be named by the primary module provided. The naming convention for a module foo is tcl-foo or tk-foo when the module is version independent.

The naming convention for a module foo is tclX.Y-foo or tkX.Y-foo when the module is version dependent.

If the package already uses the name tclfoo or tkfoo, that is, naming without Tcl/Tk versioning even if version-dependent and/or without hyphen, may use the name for now. However, the package naming proposed above is recommended for consistency.

Dependencies

Packaged modules available for one particular version of Tcl/Tk must depend on the corresponding &tclXY; and/or &tkXY; package.

The recommended dependencies of version-independent packages are the following: If the package works in all available Tcl/Tk versions it should depend on &tcl; (>= &XY;) | &tclsh; or &tk; (>= &XY;) | &wish; (version in parentheses is optional). If the package works with current and future Tcl/Tk versions it should depend on the default packages &tcl; or &tk;. It is not recommended to use dependency on virtual packages &tclsh; and &wish; because it would make transition to a newer default Tcl/Tk version less convenient, and because they cannot be used to express any versioning constraints (strict or relaxed). In one cases they still could be useful: an administrator could be interested in not installing the default Tcl/Tk versions and use a local package or some older version instead. The administrator can do that at his/her own risk, due to the missing version control, and in the hypothesis that modules and extensions are able to manage nicely unexpected versions.

Tcl/Tk Programs Version Independent Programs

Programs that can run with any version of Tcl/Tk should be started with #!/usr/bin/tclsh or #!/usr/bin/wish. They must also specify a dependency on default packages &tcl; and/or &tk; with possible alternatives &tclsh; and/or &wish; virtual packages. You're free to use #!/usr/bin/env tclsh and #!/usr/bin/env wish, if you'd like to give the user a chance to override the Debian Tcl/Tk package with a local version.

Version Dependent Programs

Programs which require a specific version of Tcl must start with #!/usr/bin/tclsh&XY;. They must also specify a strict dependency on &tclXY;. Programs which require a specific version of Tk must start with #!/usr/bin/wish&XY;. They must also specify a strict dependency on &tkXY;. Again, if you're using #!/usr/bin/env tclsh&XY;, or #!/usr/bin/env wish&XY; please be aware that a user might override the Debian Tcl/Tk packages with a local version and that release default packages can change also.

Build Dependencies

Build dependencies for Tcl/Tk dependent packages must be declared for every Tcl/Tk version, that the package is built for. In order to build for a specific version, add the versioned Tcl/Tk packages dependencies; it is generally better and recommended depending on the appropriate default packages with an eventual strict or relaxed versioning.

Extension packages and applications which link to Tcl/Tk libraries should depend appropriately on one or more of the following packages (with or without additional package version relationships): tcl-dev tk-dev tcl&XY;-dev tk&XY;-dev

For example, tclreadline build dependencies are the following: Build-Depends: debhelper (>= 5.0.0), tcl-dev, libreadline5-dev, autotools-dev, quilt

Module packages, script libraries and Tcl-only applications should depend on the tcl tk tcl&XY; tk&XY;

For example, tcllib build dependencies are the following: Build-Depends: debhelper (>= 5.0.0), quilt Build-Depends-Indep: tcl

Due to limitations of current autobuild daemon it is forbidden to use build dependencies on the virtual packages &tclsh; or &wish; only. These dependencies cannot guarantee consistent build environment, so it is mandatory to prepend a preferred Tcl/Tk version before each of the virtual packages.

Tcl/Tk modules loading

Tcl/Tk supports a few alternative ways for modules loading. Modules can be implemented as shared libraries, Tcl/Tk scripts or a combination of them. Generally, specific index scripts are used for that and they need to be placed in a directory included in the auto_path list along with scripts and libraries. Old non-package script libraries require a tclIndex generated with the auto_mkindex Tcl instruction. Packages require a pkgIndex.tcl file generated with the pkg_mkIndex Tcl instruction. Tcl 8.5 introduced Tcl Modules scripts (.tm) which do not require an index script for single file implementations. Another peculiar way of modules providing is based on Starkit and the use of the Tcl Virtual File System (TclVFS). In each of those cases, the maintainer must ensure that the all required files are included and installed in the right place to allow using of the module.

Possible issues building Tcl/Tk extensions

In order to support this policy, a number of changes have been applied in upstream init.tcl, tclConfig.sh, tkConfig.sh and tcl.m4 files. Extensions using TEA with local copies of tcl.m4, or which use custom guesses about Tcl/Tk configuration could require explicit use of --with-tcl=/usr/share/tcltk/tcl&XY; --with-tk=/usr/share/tcltk/tk&XY; or other custom hacks.

Maintainer's Checklist

Tcl/Tk has in general a very backward compatible API both at C and commands set levels. When packaging a module or extension, verify if it requires a specific minimal version and if it includes run-time checks about that, possibly (which is always convenient). Scripts can include a package require ?-exact? Tcl X.Y or package require ?-exact? Tk X.Y, for instance. In those cases, use a versioned dependency on one of the default packages (&tcl;, &tk;, &tcl-dev; or &tk-dev;), e.g. &tcl; (>= &XY;). That is recommend instead of versioned packages dependencies, which are anyway supported for compatibility with past conventions. Note also that &tk; depends on &tcl; and &tk-dev; depends on &tcl-dev;. Always install your package stuff in a per-package sub-directory of /usr/share/tcltk (for scripted modules) and/or /usr/lib/tcltk (for shared library extensions) along with the needed index file (see ). This policy customizes auto_path differently with respect to generic upstream UNIX platforms, so that you should use preferably system provided tcl.m4. Occasionally that could either require custom hacks for non TEA-based building systems, or using --with-tcl or --with-tk argument for TEA scripts. Current policy still allows administrators to change default tclsh and wish interpreters to different versions. Your packaged modules and extensions should always be able to cope with that, and eventually to complain and terminate nicely.