[devel] файловые зависимости на раскрытые альтернативы

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Авг 19 17:54:57 MSD 2008


On Tue, Aug 19, 2008 at 08:13:01PM +0700, Mikhail Gusarov wrote:
> Twas brillig at 17:06:49 19.08.2008 UTC+04 when at на altlinux.ru did gyre and gimble:
> 
>  AT> Происходит вот что:
> 
>  AT> + '[' -L /usr/share/apps/kdewizard/pics/../../../design-current/kde/ktip-wizard_small.png ']'
>  AT> + p=/usr/share/apps/kdewizard/pics/../../../design-current/kde
> 
> А если перед началом этой операции схлопнуть каждый .. с предыдущим
> компонентом пути?
> Сломает ли это какую-нибудь другую ситуацию?

Хе-хе.
Тут есть над чем голову ломать.

Допустим у нас есть путь
/usr/share/design-current/../automake

Хочется преобразовать его в
/usr/share/automake

Но на самом деле он никуда не преобразуется
$ realpath /usr/share/design-current/../automake
realpath: /usr/share/design-current/../automake: No such file or  directory
$

Потому что симлинк /usr/share/design-current меняет уровень вложенности

$ realpath /usr/share/design-current 
/usr/share/design/Sisyphus
$

Так что на самом деле из каталога придётся выбираться
два раза:

$ realpath /usr/share/design-current/../../automake
/usr/share/automake-1.10
$

Войдя в "симлиночный" каталог, мы можем оказаться где угодно,
и наивное схлопывание ".." с предыдущим компонентом пути, вообще говоря,
не работает.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080819/1a582fc7/attachment-0002.bin>


Подробная информация о списке рассылки Devel