Bug#618490: tclconfig.sh needs to be available for cross-building
Package: dpkg-cross
Version: 2.5.8
Severity: normal
tcl uses a tcl script contianing a load of declarations to pass
build-time configuration information to packages with depend on it.
So tclconfig.sh needs to be present for cross-building against tcl to
work. Unfortunately this breaks dpkg-cross's assumptions about what
should/should not be copied over when a package is crossed.
The attached patch ensures that tclconfig.sh is copied over into
/usr/<triplet>/lib/tcl<ver>/tclconfig.sh
Then everything building against tcl builds just fine.
I acknowledge that this fix is not pretty and is a special case for
tcl, but the alternative is some kind of config file (a bit like
/etc/dpkg-cross/config.cache) which lists exception files to be copied
over.
That fix would be worth doing if dpkg-cross wasn't about to be
pretty-much superceded by multiarch over the release cycle, so I think
a bit of expediency with this sort of thing is OK. It works, and is
unintrusive (unlike the other alternative of copying over everything
in /usr/lib/<package>/lib (which brings a lot of
currently-happily-ignored packages into dpkg-cross's purview.
Wookey
--
Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/
diff -ur dpkg-cross-2.5.8/config/cross-config.cache dpkg-cross-2.5.8.tclfix/config/cross-config.cache
diff -ur dpkg-cross-2.5.8/dpkg-cross dpkg-cross-2.5.8.tclfix/dpkg-cross
--- dpkg-cross-2.5.8/dpkg-cross 2010-04-25 14:37:32.000000000 +0100
+++ dpkg-cross-2.5.8.tclfix/dpkg-cross 2011-03-15 15:52:11.541240002 +0000
@@ -895,6 +895,9 @@
} elsif (m:^/usr/(share/fonts/.*):) {
# any files under /usr/share/fonts/
link_file("$src$_", "$dst$crossdir/$1") or goto fail;
+ } elsif (m:^/usr/(lib/.*/tclConfig.sh):) {
+ # the tcl cross-configure script
+ link_file("$src$_", "$dst$crossdir/$1") or goto fail;
} else {
# everything else
next;
Reply to: