<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:

  &gt;&gt; Есть ли текущая актуальная инструкция как при нашем новом
  &gt;&gt; rpm перейти в пакете с симлинка на директорию?
  &gt; День добрый. Возник еще один пакет, где хотелось бы перейти с
  &gt; симлинка на каталог на реальный каталог. Появилась инструкция
  &gt; как это сделать?

Насколько я понимаю, инструкции не было (я бы ее вряд ли пропустил).
Безболезненный переход, по-моему, в принципе невозможен, а снизить
ущерб мне удавалось только совсем очевидным (и столь же колхозным)
способом с временным пакетом и переносом файлов в два этапа (у меня
это были конфиги, так что размер не напрягал), но после этого в ОС
оставался мусор в виде файлов, не охваченных пакетной системой.

Использовать этот способ для дистрибутива, наверное, лучше не надо.
</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>