[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