ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Andrey Savchenko <bircoph@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] rpm: symlink to dir
Date: Mon, 28 Dec 2020 16:00:10 +0300
Message-ID: <20201228160010.5483af3c6e0c63e504c1d66b@altlinux.org> (raw)
In-Reply-To: <e3316da8-82ae-5433-83e3-d18015862c15@altlinux.org>

[-- Attachment #1: Type: text/plain, Size: 5196 bytes --]

On Mon, 28 Dec 2020 14:18:01 +0300 Denis Medvedev wrote:
> 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 ? Будет ли такой 
> каталог считаться за программой?

Зависит от реализации. Можно как раз использовать для описанной
выше ситуации, когда нужен абсолютно пустой каталог.

Если честно, я не совсем понимаю, зачем вообще нужен %gost. Я знаю,
что он делает — позволяет закрепить несуществующий в пакете файл за
пакетом — но мне представляется, что это ошибочная концепция и её
использование говорит об ошибке в пакетировании пакета.

Best regards,
Andrew Savchenko

[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2020-12-28 13:00 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-18 13:05 Alexey Shabalin
2020-03-18 15:08 ` Dmitry V. Levin
2020-03-18 16:46   ` Alexey Shabalin
2020-03-18 16:51     ` Denis Medvedev
2020-03-18 17:01       ` Vladimir D. Seleznev
2020-03-18 17:21         ` Ivan Zakharyaschev
2020-03-18 17:43           ` Vladimir D. Seleznev
2020-03-18 18:37           ` Alexey V. Vissarionov
2020-03-18 17:28         ` Alexey Shabalin
2020-03-19  4:08           ` Anton Farygin
2020-03-18 17:19       ` Ivan Zakharyaschev
2020-03-18 17:36         ` Dmitry V. Levin
2020-03-18 18:32       ` Alexey V. Vissarionov
2020-03-18 18:35         ` Denis Medvedev
2020-03-19  8:54         ` Anton V. Boyarshinov
2020-03-19  9:09           ` Alexey V. Vissarionov
2020-03-19  9:14             ` Anton V. Boyarshinov
2020-03-19  9:13         ` Sergey Afonin
2020-03-18 19:53 ` Andrey Savchenko
2020-03-18 22:03   ` Alexey Shabalin
2020-03-19  7:33 ` Ivan A. Melnikov
2020-03-19  7:52   ` Anton Farygin
2020-12-27 14:57 ` Alexey Shabalin
2020-12-27 15:48   ` Alexey V. Vissarionov
2020-12-27 22:51     ` Leonid Krivoshein
2020-12-27 23:08       ` Andrey Savchenko
2020-12-27 23:17         ` Mikhail Novosyolov
2020-12-27 23:20           ` Dmitry V. Levin
2020-12-28  9:41           ` Andrey Savchenko
2020-12-28 13:00               ` Andrey Savchenko [this message]
2020-12-28 20:10                 ` Alexey V. Vissarionov
2020-12-28 20:16                   ` Andrey Savchenko
2020-12-28 20:46                     ` Alexey V. Vissarionov
2020-12-29  6:31                       ` Andrey Savchenko
2020-12-29 10:05                         ` Sergey V Turchin
2020-12-29 12:21                         ` Vladimir D. Seleznev
2020-12-29 10:10                 ` Sergey V Turchin
2020-12-27 23:21         ` Dmitry V. Levin
2020-12-28  6:11           ` Anton Farygin
2020-12-28  9:04             ` Dmitry V. Levin
2020-12-28  9:09               ` Anton Farygin
2020-12-28  9:17                 ` Dmitry V. Levin
2020-12-28  9:39           ` Andrey Savchenko
2020-12-28  6:38       ` Alexey V. Vissarionov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201228160010.5483af3c6e0c63e504c1d66b@altlinux.org \
    --to=bircoph@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git