ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] virtual deps between subpackages (was: packages/rpm: tags/4.0.4-alt81)
  @ 2007-11-27 15:31         ` Alexey Tourbin
  0 siblings, 0 replies; only message in thread
From: Alexey Tourbin @ 2007-11-27 15:31 UTC (permalink / raw)
  To: devel

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

On Tue, Nov 27, 2007 at 03:50:47PM +0300, Dmitry V. Levin wrote:
> > > > Прошу отправить на сборку.  Его желательно собрать два раза, второй раз
> > > > самим собой, чтобы у rpm-build появились зависимости на /usr/lib/rpm(...).
> > > 
> > > Зачем они нужны rpm-build'у, там же есть жёсткие межпакетные зависимости.
> > 
> > То есть в таком случае встаёт более общий вопрос: нужны ли
> > дополнительные виртуальные зависимости между подпакетами,
> > если эти подпакеты жестко связаны между собой?  Например,
> > нужны ли в rpm-build зависимости на librpm*-4.0.4.so?
> 
> Скорее всего нет, хотя есть ещё эти ()(64bit).

Отвечаю в devel@.

В общем, у меня сейчас есть идея включить поиск всех симлинков
на межпакетные зависимости.  Это защищает от неупаковки таргетов.
Т.е. проверка типа [ -e "$RPM_BUILD_ROOT$f" ] это такая лавочка,
что файл вроде бы должен "где-то" быть, но нет никакой гарантии,
что его потом вообще куда-нибудь запакуют.  Эту лавочку желательно
закрыть.  Будут появляться зависимости на файлы, и rpm сможет
оптимизировать/удалить эти зависимости в пределах одного подпакета
(речь идёт о подходе который реализован в 4.0.4-alt81-6-g6e73a89).
С другой стороны, это как минимум означает, что у каждого lib*-devel
пакета из-за симлнка /usr/lib/lib*.so -> /usr/lib/lib*.so.X.Y появится
"файловая" зависимость на /usr/lib/lib*.so.X.Y.

То есть, с одной стороны, дополнительные зависимости между
подпакетами защищают от ошибок упаковки.  С другой стороны, если всё
упаковано правильно, то дополнительные виртуальные зависимости
становятся излишними и их можно каким-то образом оптимизировать.
Сейчас есть возможность начать делать первую часть (ставить
дополнительные виртуальные зависимости), но пока нет хорошей идеи
как делать вторую часть (удалять совпадающие виртуальные зависимости
при жесткой связи между подпакетами).

С третьей стороны, полная оптимизация совпадающих зависимостей
при жесткой связи между подпакетами -- для меня это ломка стереотипов.
То есть если rpm перестанет явно зависеть от librpm-4.0.4.so (вследствие
жесткой зависимости на librpm = %version-%release) то мне придётся
к этому какое-то время привыкать.  То есть это очень сильная
оптимизация, которая сейчас может противоречить привычной интуиции.

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-11-27 15:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-11-27 15:31         ` [devel] virtual deps between subpackages (was: packages/rpm: tags/4.0.4-alt81) Alexey Tourbin

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