On Wed, Jan 23, 2008 at 08:18:40PM +0300, Alexey Tourbin wrote: > On Wed, Jan 23, 2008 at 03:34:11AM +0300, Dmitry V. Levin wrote: [...] > > Например, в скрипте используется утилита foo, которая неизвестно где в > > $PATH находится, и в сборочном чруте её нет. > > А вот когда пути неизвестно, тогда начинается гадание на > кофейной гуще. Прежде всего, мы хотим выяснить, есть ли вообще > где-то в репозитарии такая утилита. Если её нигде нет, то > правдоподобнее считать, что у нас левый скрипт. Это может быть > функция из файла в каком-то другом пакете или adjusted PATH или > что угодно. Приходится даже подавлять диганостику, потому что > слишком много высыпает: > > 378 # Not found. > 379 local maybe_function= > 380 case "$r" in > 381 *[!A-Za-z0-9_]*) ;; > 382 [!A-Za-z_]*) ;; > 383 *[A-Z_]*) maybe_function=1 ;; > 384 esac > 385 if [ -n "$maybe_function" ]; then > 386 $Verbose "$f: $r not found (skip, maybe function)" > 387 else > 388 Info "$f: $r not found (skip)" > 389 fi > > Кроме "прежде всего" выяснения, есть ли вообще такое дело, > нам нужно также соблюдать баланс между 1) возможностью перемещения > команды между каталогами PATH, из-за чего нежелательно ставить > файловую зависимость; 2) сохранить зависимость достаточно виртуальной, > чтобы облегчить переименование пакетов, из-за чего нежелательно ставить > зависимость на имя пакета. Понятно, что эти пункты противоречат друг > другу. Если бы можно было "отсрочить" сразу два этих пункта, тогда бы > мы могли получить бОльшую независимость от contents_index_*. > > Можно было бы отсрочить это введением дополнительного неймспеса > зависимостей executable(...) -- возможно, с поддержкой со стороны > rpm и apt. Вопрос в том, настолько ли часто executables перемещаются по $PATH или по пакетам, чтобы затеять менену contents_index на executable(...)? -- ldv