[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Upcoming changes in Tcl/Tk packaging



Hi Wookey,

On Wed, Sep 25, 2013 at 7:04 PM, Wookey <wookey@wookware.org> wrote:
> +++ Sergei Golovan [2013-09-25 12:25 +0400]:
>> Hi fellow developers,
>>
>> I would like to introduce a few significant changes into Debian Tcl/Tk
>> packages.
>
> Thank you for doing this work, and for this clear summary.
>
>> 1. Multiarchifying Tcl/Tk. This means splitting out the libtcl8.5
>> package with libraries moved to /usr/lib/<triplet> and with common Tcl
>> code in /usr/share/tcltk/tcl8.5.
>>
>
>> Any questions, comments. Anything I've missed?
>
> Yes, the other multiarch-related change needed in tcl is making
> tclConfig.sh and tkConfig.sh cross-friendly.
>
> This is not strictly tied to the above changes, but because
> tclConfig.sh is arch-specific, and revdeps are affected by the other
> changes it makes sense to fix this now whilst we are making a mess.
>
> The existing (ubuntu) patches add a compat script at
> /usr/lib/tcl8.6/tclConfig.sh which calls
> /usr/lib/${DEB_HOST_MULTIARCH}/tcl8.6/tclConfig.sh

Yes, I used changes from Ubuntu as a basis, so exactly this compat
script is included into (lib)tcl8.6-dev package.

>
> which enables backwards compatibility and will usually work, so long
> as whatever called it really did want the host-arch version. Fixing
> rdeps to actually call the arch wanted during the build is better
> because it will always work. Providing <triplet>-tclConfig.sh links
> would be consistent with the way this has been made config-system
> friendly and distro-agnostic in other packages.

What's <triplet>-tclConfig.sh links and how are they better then just
/usr/lib/<triplet>/tcl8.6/tclConfig.sh?

>
> Migrating tcl to use pkgconfig instead would remove the need for this
> to be arch-specific, which is an even better solution, but I don't
> know how enthused upstream is about doing that.

I'm not sure if it's an option. There're tons of existing extensions
which use tclConfig.sh, many of them are abandoned and will never
migrate to pkgconfig, but they are still useful.

>
> So have you included this change too? Doing so does not require
> revdeps changes so long as they only need the host arch version. We
> could force them to actually choose the one they want by not including
> the compatibility layer, but that seems like too big a hammer. There
> are 246 packages that build-dep on {tcl|tk}(8.[456])*-dev

I've included the compatibility script. You're right, requiring all
the packages to use /usr/lib/<triplet>/tcl8.6/tclConfig.sh is
impractical.

Cheers!
-- 
Sergei Golovan


Reply to: