[devel] R-base upgrade (was: cpio...)

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Янв 30 22:15:29 MSK 2007


On Tue, Jan 30, 2007 at 10:00:03PM +0300, Dmitry V. Levin wrote:
> > > То есть это некая типовая ситуация: переместил каталог, поставил симлинк
> > > для совместимости.  Обновление нормально работать не будет.  Как быть в
> > > такой ситуации?
> > 
> > Новый прикол.
> 
> Не надо превращать каталог с файлами в симлинк на каталог с файлами.
> Если очень хочется это сделать, то необходимо обеспечить отсутствие этой
> ссылки до тех пор пока не будет удалена старая сборка пакета.
> Иначе при обновлении пропадут файлы, которые присутствуют в обеих сборках.

Кажется я начинаю понимать, в чем здесь может быть дело.
То есть в соответствии с со стадиями обновления, описанными здесь:
/usr/share/doc/rpm-4.0.4/manual/triggers
дело обстоит так:
1) rpm сначала распаковывает все новые файлы;
2) чрезе некоторое время после этого rpm удаляет все старые файлы.

Если рассмотреть это на уровне системных вызовов, то происходит вот что:
1)
	mkdir /etc/R
	unlink /etc/R/ldpaths		-- like install(1)
	open /etc/R/ldpaths O_WRONLY
	...
	symlink ../../etc/R /usr/lib/R/etc
2)
	unlink /usr/lib/R/etc/ldpaths

Вся трудность в последнем unlink'е.  Симлинк уже стоит и
/usr/lib/R/etc/ldpaths фактически разрешается в /etc/R/ldpahts.
Следовательно, будет удален новый файл /etc/R/ldpahts.

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


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