[devel] gtk-update-icon-cache filetrigger (+ libtcl deficiency)
Sergey Bolshakov
=?iso-8859-1?q?sbolshakov_=CE=C1_altlinux=2Eru?=
Ср Сен 10 01:37:33 MSD 2008
>>>>> "Alexey" == Alexey Tourbin <at-u2l5PoMzF/Uox3rIn2DAYQ на public.gmane.org> writes:
[skipped]
> * * *
> Хотя принцип правильной группировки файлов не всегда можно толковать
> однозначно, на практике он имеет большое значение. Приведу пример
> пакета, в котором принцип правильной группировки файлов между пакетами
> явно нарушен -- это пакет libtcl. Tcl может использоваться как embedded
> language, т.е. приложения пишут обёртку для libtcl и дальше Tcl как язык
> может использоваться внутри приложения. Такие приложения получают
> зависимость на libtcl soname.
> Напишем простейшую программу, которая встраивает libtcl.
[skipped]
> Библиотека libtcl имеет "непрозрачную" зависимость на init.tcl, этот
> файл загружается при инициализации библиотеки. Без init.tcl приложения,
> слинованные c libtcl, обламываются; а файл init.tcl имеет смысл только
> в связи с наличием конкретной библиотеки libtcl. Это достаточное
> основание для того, чтобы применить принцип правильной группировки
> файлов между пакетами -- файлы libtcl*so* и init.tcl должны быть
> запакованы в один и тот же пакет. На практике возможны два решения:
> либо перенести init.tcl (и, возможно, ещё некоторые файлы) из пакета tcl
> в пакет libtcl, либо полностью внести libtcl в tcl (то есть исключить
> отдельный пакет с библиотекой, если библиотека "сама по себе"
> не работает).
библиотека "сама по себе" работает, если приложение, в которое
встроена libtcl, потрудится установить в своё окружение переменную
TCL_LIBRARY, указывающую на специфический init.tcl -- например.
Есть и другие способы, желающие да насладятся разбором исходников tcl,
в районе generic/tclInterp.c и unix/tclUnix.Init.c
Кроме того, я был бы признателен, если бы ты избирал для иллюстрации
своих, безусловно, интересных размышлений более подходящие примеры.
[rest skipped]
--
Подробная информация о списке рассылки Devel