Bug 25096 - rpm cannot change directory to symlink
Summary: rpm cannot change directory to symlink
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: rpm (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-16 17:46 MSK by Mikhail Efremov
Modified: 2024-04-03 13:09 MSK (History)
10 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mikhail Efremov 2011-02-16 17:46:15 MSK
Если при обновлении пакета каталог изменяется на symlink, то rpm не умеет обработать эту ситуацию:
Terminal  error: unpacking of archive failed on
file /usr/share/doc/Terminal/da/images: cpio: rename failed - Это
каталог
Terminal error: unpacking of archive failed on
file /usr/share/doc/Terminal/fr/images: cpio: rename failed - Это
каталог

Это не только в нашем rpm, см.
https://bugzilla.redhat.com/show_bug.cgi?id=447156.
Там пишут что существует и обратная проблема:
https://bugzilla.redhat.com/show_bug.cgi?id=646523.
Comment 1 Ivan A. Melnikov 2011-02-17 08:22:33 MSK
У меня в своё время, что хуже наверное, в случае обратной проблемы всё проходило тихо: каталог не заменял симлинк, а его содержимое распаковвывалось туда, куда указывает симлинк.

Вообще, симлинки vs каталоги -- известные и переодически всплывающие грабли. Вот, например, для полноты картины, ещё интересный случай:

http://lists.altlinux.org/pipermail/devel/2008-December/164768.html
Comment 2 Dmitry V. Levin 2011-02-18 03:16:50 MSK
Этот баг в rpm был всегда, известен очень давно и его никто не собирается исправлять.

Пример объезда 9-летней давности:
$ rpmquery --scripts --triggers glibc-locales
Comment 3 Jeff Johnson 2012-01-03 02:49:39 MSK
tracked at https://bugs.launchpad.net/rpm/+bug/651390
Comment 4 Alexey Shabalin 2017-01-16 21:08:55 MSK
а как в новом rpm с этим бороться? если хочется заменить директорию на симлинк?
Comment 5 Gleb F-Malinovskiy 2017-01-17 15:40:41 MSK
(В ответ на комментарий №4)
> а как в новом rpm с этим бороться? если хочется заменить директорию на симлинк?

Ничего не изменилось, проблема как была неразрешимая, так и осталась.
Решать так же, как и раньше.
Comment 6 Alexey Shabalin 2017-01-17 15:52:59 MSK
(В ответ на комментарий №5)
> (В ответ на комментарий №4)
> > а как в новом rpm с этим бороться? если хочется заменить директорию на симлинк?
> 
> Ничего не изменилось, проблема как была неразрешимая, так и осталась.
> Решать так же, как и раньше.

Сейчас сразу ругается, не доходя до выполнения %pre.
Comment 7 Gleb F-Malinovskiy 2017-01-17 15:59:55 MSK
(В ответ на комментарий №6)
> Сейчас сразу ругается, не доходя до выполнения %pre.

Ох, да.
Comment 8 Alexey Shabalin 2017-02-27 13:53:35 MSK
будьте добры, дайте рекомендации, как сейчас обходить такую ситуацию.
Comment 9 Vitaly Lipatov 2024-04-03 13:09:48 MSK
> file /usr/share/doc/Terminal/da/images: cpio: rename failed - Это
каталог

А я правильно понимаю, что это баг не rpm, а cpio, который собственно занимается распаковкой файлов?