ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Tourbin <at@altlinux.ru>
To: devel@lists.altlinux.org
Subject: [devel] virtual deps between subpackages (was: packages/rpm: tags/4.0.4-alt81)
Date: Tue, 27 Nov 2007 18:31:18 +0300
Message-ID: <20071127153118.GH361@solemn.turbinal> (raw)
In-Reply-To: <20071127125047.GA11953@basalt.office.altlinux.org>

[-- 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 --]

           reply	other threads:[~2007-11-27 15:31 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <20071127125047.GA11953@basalt.office.altlinux.org>]

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=20071127153118.GH361@solemn.turbinal \
    --to=at@altlinux.ru \
    --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