[Pkg-tcltk-devel] Debian tcl/tk policy: where to put shared libs?

Sven Hoexter sven at timegate.de
Mon May 12 07:16:05 UTC 2008


On Sun, May 11, 2008 at 03:34:40PM -0500, Steve M. Robbins wrote:

Hi,
ok maybe I burn my fingers now but let's see if I can give some advice.


> ITK generates about 9 shared libs and 4 .tcl files, including a
> pkgIndex.tcl.  I'm only building for the default version of tcl right
> now, so I created a package tcl8.4-insighttoolkit3 and installed the
> tcl files into /usr/share/tcltk/tcl8.4/insighttoolkit3.  Does that
> sound right?

shared libs sounds very much like arch dependend files so this one should
move to /usr/lib instead. The question is if those shared libs are version
dependend or not. E.g. the TclCurl binding is build with tcl 8.4 but you
can use it with 8.5 aswell without any problems. If it works with 8.5 aswell
you can install it into /usr/lib/tcltk/insightblahwhatever.


I choose to install those files via make install in the default location
and move them afterwards because I feel it's more obvious for someone else
looking at the package to see them moved in debian/rules instead of makefile
changes you need to apply over and over again and change over time. It's
a matter of taste which way you prefer.

Simple example for TclCurl from the install target in debian/rules:
[..]
$(MAKE) install DESTDIR=$(CURDIR)/debian/tclcurl
mkdir $(CURDIR)/debian/tclcurl/usr/lib/tcltk
mv $(CURDIR)/debian/tclcurl/usr/lib/TclCurl* \
$(CURDIR)/debian/tclcurl/usr/lib/tcltk
[..]


 
> Now: where do the shared libs go?  If this is covered in the policy, I
> have missed it.  I decided to put them into /usr/lib.

It's a bit of indirect info given in the auto_load path section.


> The pkgIndex.tcl file contains the following

Hm I've no real idea about propper pkgIndex hacking. Maybe someone else can
comment on it.


Sven
-- 
If God passed a mic to me to speak
I'd say stay in bed, world
Sleep in peace
   [The Cardigans - 03:45: No sleep]



More information about the Pkg-tcltk-devel mailing list