[devel] rpm: symlink to dir

Denis Medvedev nbr на altlinux.org
Пн Дек 28 14:18:01 MSK 2020


On 12/28/20 12:41 PM, Andrey Savchenko wrote:
> On Mon, 28 Dec 2020 02:17:23 +0300 Mikhail Novosyolov wrote:
>> 28.12.2020 02:08, Andrey Savchenko пишет:
>>> On Mon, 28 Dec 2020 01:51:24 +0300 Leonid Krivoshein wrote:
>>>> 27.12.2020 18:48, Alexey V. Vissarionov пишет:
>>>>> On 2020-12-27 17:57:05 +0300, Alexey Shabalin wrote:
>>>>>
>>>>>    >> Есть ли текущая актуальная инструкция как при нашем новом
>>>>>    >> rpm перейти в пакете с симлинка на директорию?
>>>>>    > День добрый. Возник еще один пакет, где хотелось бы перейти с
>>>>>    > симлинка на каталог на реальный каталог. Появилась инструкция
>>>>>    > как это сделать?
>>>>>
>>>>> Насколько я понимаю, инструкции не было (я бы ее вряд ли пропустил).
>>>>> Безболезненный переход, по-моему, в принципе невозможен, а снизить
>>>>> ущерб мне удавалось только совсем очевидным (и столь же колхозным)
>>>>> способом с временным пакетом и переносом файлов в два этапа (у меня
>>>>> это были конфиги, так что размер не напрягал), но после этого в ОС
>>>>> оставался мусор в виде файлов, не охваченных пакетной системой.
>>>>>
>>>>> Использовать этот способ для дистрибутива, наверное, лучше не надо.
>>>> Предложил бы для всех подобных симлинков (каталогов):
>>>>
>>>> - использовать специальный файл в корне со списком путей, подлежащих
>>>> замене типа (например, /.rpmlinks);
>>>> - замена должна производиться в initrd (stage1) при первой же
>>>> перезагрузке, пока никто там ничего не использует;
>>>> - от rpm требуется обработка такой ситуации и "понимание" временно
>>>> непригодного состояния (до перезагрузки).
>>>>
>>>> Т.е., мне кажется, если реализовать поддержку одновременно и в rpm, и в
>>>> make-initrd, должно получиться относительно безболезненно.
>>> Проблема решается кардинально просто, но на уровне rpm: следует
>>> отказаться от концепции владельца директории и сохранять только
>>> владельцев файлов. Тогда что симлинк, что директория — разницы для
>>> PM никакой не будет. А удаляться они будут только если пустые. Ну
>>> если очень нужно пустую директорию установить, то можно в неё
>>> положить файлик '.keepdir'.
>> На уровне rpm давно придуман %pretrans на lua.
>>
>> Отказаться от концепции владельца директории странная идея, существуют же заведомо пустые директории, кому они будут принадлежать?
> Тому, кому принадлежит скрытый файл .keepdir внутри таких
> директорий.

В таком случае такой каталог будет уже не пуст, некоторым программам 
будут нужны совершенно пустые каталоги

А что будет, если туда положить %ghost файл .keepdir ? Будет ли такой 
каталог считаться за программой?

>
> Best regards,
> Andrew Savchenko
>
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel


----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20201228/65a63817/attachment.html>


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