[Pkg-tcltk-devel] Bug#611650: tcl8.5-dev contains arch-dependent file in /usr/share/ (tcltk/tcl8.5/tclConfig.sh)

Wookey wookey at wookware.org
Mon Jan 31 17:08:14 UTC 2011


Subject: tcl8.5-dev contains arch-dependent file in /usr/share/ (tcltk/tcl8.5/tclConfig.sh)
Package: tcl8.5-dev
Version: 8.5.8-2
Severity: important

*** Please type your report below this line ***
tcl8.5-dev contains /usr/lib/tcl8.5/tclConfig.sh
which is a symlink pointing to /usr/share/tcltk/tcl8.5/tclConfig.sh

Line 22 of that file is TCL_CC='x86_64-linux-gnu-gcc' on the x86_64
version and TCL_CC='arm-linux-gnueabi-gcc' on the armel version.
Also the TCL_DEFS= varies with arch, e.g 64-bit arches have different
defines from 32-bit arches.
So in fact it's not an arch-independent file, and shouldn't be in
/usr/share.

It is used during cross-compilation by other packages which make tcl
extensions. However, dpkg-cross (which deals with getting files into
the right place fpor cross-building in pre-multiarch setups) will
correctly not copy across links which point to files outside
(/usr)/lib, because arch-independent files should not be being
looked-for in /lib. This means that the link is simply missing when
other packages (e.g sqlite) try to build against tcl8.5.

I notice that upstream tcl builds these files in /lib but then we move
them into /usr/share and then put a link back in the old place. Is
there a good reason for this, or should we just leave them in /lib in
the first place?

i.e replace the existing:
--------------
in debian/rules:
install-stamp: build-stamp
     mv debian/tmp/usr/lib/*.sh debian/tmp/usr/share/tcltk/tcl$(v)

then later:
binary-arch: build install
     mv debian/tcl$(v)/usr/share/tcltk/tcl$(v)/tclConfig.sh \
        debian/tcl$(v)-dev/usr/lib/tcl$(v)
--------------
with:
install-stamp: build-stamp
     mv debian/tmp/usr/lib/tclConfig.sh debian/tcl$(v)-dev/usr/lib/tcl$(v)
     cp unix/tcl.m4 debian/tcl$(v)-dev/usr/share/aclocal/tcl.m4
	
this avoids ending up with an empty  usr/share/tcltk dir

Are there actually more .sh files than tclConfig.sh? I don't see any.

Is there some reason why the file needs to be in
/usr/share/tcltk/tcl8.5/ too? If so then we need to work out how to
deal with this.

I have attached the latter patch.



-- System Information:
Debian Release: 6.0
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.37-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages tcl8.5-dev depends on:
ii  tcl8.5                        8.5.8-2    Tcl (the Tool Command Language) v8

tcl8.5-dev recommends no packages.

Versions of packages tcl8.5-dev suggests:
pn  tcl8.5-doc                    <none>     (no description available)

-- no debconf information
Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/





More information about the Pkg-tcltk-devel mailing list