<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">On 12/28/20 12:41 PM, Andrey Savchenko
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:20201228124106.5bc6ec2037882730cbe60740@altlinux.org">
<pre class="moz-quote-pre" wrap="">On Mon, 28 Dec 2020 02:17:23 +0300 Mikhail Novosyolov wrote:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">
28.12.2020 02:08, Andrey Savchenko пишет:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">On Mon, 28 Dec 2020 01:51:24 +0300 Leonid Krivoshein wrote:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">27.12.2020 18:48, Alexey V. Vissarionov пишет:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">On 2020-12-27 17:57:05 +0300, Alexey Shabalin wrote:
>> Есть ли текущая актуальная инструкция как при нашем новом
>> rpm перейти в пакете с симлинка на директорию?
> День добрый. Возник еще один пакет, где хотелось бы перейти с
> симлинка на каталог на реальный каталог. Появилась инструкция
> как это сделать?
Насколько я понимаю, инструкции не было (я бы ее вряд ли пропустил).
Безболезненный переход, по-моему, в принципе невозможен, а снизить
ущерб мне удавалось только совсем очевидным (и столь же колхозным)
способом с временным пакетом и переносом файлов в два этапа (у меня
это были конфиги, так что размер не напрягал), но после этого в ОС
оставался мусор в виде файлов, не охваченных пакетной системой.
Использовать этот способ для дистрибутива, наверное, лучше не надо.
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">Предложил бы для всех подобных симлинков (каталогов):
- использовать специальный файл в корне со списком путей, подлежащих
замене типа (например, /.rpmlinks);
- замена должна производиться в initrd (stage1) при первой же
перезагрузке, пока никто там ничего не использует;
- от rpm требуется обработка такой ситуации и "понимание" временно
непригодного состояния (до перезагрузки).
Т.е., мне кажется, если реализовать поддержку одновременно и в rpm, и в
make-initrd, должно получиться относительно безболезненно.
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">Проблема решается кардинально просто, но на уровне rpm: следует
отказаться от концепции владельца директории и сохранять только
владельцев файлов. Тогда что симлинк, что директория — разницы для
PM никакой не будет. А удаляться они будут только если пустые. Ну
если очень нужно пустую директорию установить, то можно в неё
положить файлик '.keepdir'.
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
На уровне rpm давно придуман %pretrans на lua.
Отказаться от концепции владельца директории странная идея, существуют же заведомо пустые директории, кому они будут принадлежать?
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
Тому, кому принадлежит скрытый файл .keepdir внутри таких
директорий.</pre>
</blockquote>
<p>В таком случае такой каталог будет уже не пуст, некоторым
программам будут нужны совершенно пустые каталоги</p>
<p>А что будет, если туда положить %ghost файл .keepdir ? Будет ли
такой каталог считаться за программой?<br>
</p>
<blockquote type="cite"
cite="mid:20201228124106.5bc6ec2037882730cbe60740@altlinux.org">
<pre class="moz-quote-pre" wrap="">
Best regards,
Andrew Savchenko
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
Devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Devel@lists.altlinux.org">Devel@lists.altlinux.org</a>
<a class="moz-txt-link-freetext" href="https://lists.altlinux.org/mailman/listinfo/devel">https://lists.altlinux.org/mailman/listinfo/devel</a></pre>
</blockquote>
<p><br>
</p>
</body>
</html>