ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Dmitry V. Levin" <ldv@altlinux.org>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: Re: [devel] non-strict deps
Date: Sat, 26 Jan 2013 18:17:00 +0400
Message-ID: <20130126141700.GC3629@altlinux.org> (raw)
In-Reply-To: <20130126133040.GA6704@atlas.home>

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

On Sat, Jan 26, 2013 at 05:30:40PM +0400, Sergey Vlasov wrote:
> On Fri, Jan 25, 2013 at 04:32:49PM +0400, Dmitry V. Levin wrote:
> > On Fri, Jan 25, 2013 at 04:13:23PM +0400, Alexey Gladkov wrote:
> > > 25.01.2013 14:53, Dmitry V. Levin wrote:
> > > > Проанализировав множество нестрогих внутрипакетных зависимостей, которые
> > > > диагностирует rpm-build, я пришел к выводу, что среди них выделяется
> > > > только один класс зависимостей, которые нужно сохранить,
> > > > а все остальные следует сделать строгими.
> > > 
> > > Можно ли рассказать подробнее т.к. меня это касается?
> > 
> > Тестируется следующий алгоритм: подпакет A исходного пакета S
> > автоматически получает строгую зависимость на подпакет B исходного
> > пакета S, если у подпакета A есть такая зависимость X, что подпакет B
> > является единственным подпакетом исходного пакета S, удовлетворяющим
> > эту зависимость X.
> 
> Насколько я понимаю, описанный выше алгоритм преобразования
> зависимостей сработает в следующей ситуации:
> 
> %package -n A
> Requires: X
> 
> %package -n B
> Provides: X
> 
> (и нет других подпакетов с Provides: X)
> 
> В результате подпакет A вместо зависимости на виртуальный пакет X
> должен получить зависимость вида B = %EVR ?

Да.

> На мой взгляд, это неправильно - если в зависимости явно указано имя
> виртуального пакета, скорее всего, это сделано намеренно, и такую
> зависимость необходимо оставлять в том виде, как она есть.

А если неявно?  Если это find-requires нашел зависимость на soname,
ее ведь надо превращать в строгую зависимость на пакет.

Другими словами, предлагается модифицировать алгоритм, чтобы он работал
следующим образом: подпакет A исходного пакета S автоматически получает
строгую зависимость от подпакета B исходного пакета S, если выполнено любое
из следующих условий:
- у A есть зависимость от B;
- у A есть такая зависимость X с атрибутом RPMSENSE_FIND_REQUIRES, что B
  является единственным подпакетом S, удовлетворяющим эту зависимость X.

> А вот
> зависимость вида Requires: B, где B - имя реального подпакета,
> действительно стоит автоматически дополнять "= %EVR" (естественно,
> учитывая, что у подпакета может присутствовать собственный тег
> Version: или Release:).

Разумеется, в каждом случае используется EVR того подпакета,
на который выставляется строгая зависимость.

> Пример реально существующего в Сизифе пакета, который сломается при
> введении предлагаемого алгоритма - xboard, где в основном пакете
> указано Requires: xboard-theme, а также собирается единственный
> подпакет xboard-theme-default, имеющий Provides: xboard-theme, но при
> этом в репозитории присутствуют и несколько отдельных пакетов
> xboard-theme-*, также предоставляющих xboard-theme.

Принято.


-- 
ldv

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

  reply	other threads:[~2013-01-26 14:17 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-25  9:28 [devel] I: repocop NMU Igor Vlasenko
2013-01-25  9:56 ` Yuri N. Sedunov
2013-01-28 13:22           ` Igor Vlasenko
2013-01-25  9:57 ` Aleksey Avdeev
2013-01-25 10:10   ` Igor Vlasenko
2013-01-25 10:25     ` Aleksey Avdeev
2013-01-26 10:28       ` Aleksey Avdeev
2013-01-25  9:59 ` Alexey Gladkov
2013-01-25 10:11   ` Igor Vlasenko
2013-01-25 10:53 ` Dmitry V. Levin
2013-01-25 11:07   ` Aleksey Avdeev
2013-01-25 11:34     ` Dmitry V. Levin
2013-01-25 11:58       ` Aleksey Avdeev
2013-01-25 12:07         ` [devel] I: repocop NMU [JT] Sergei Epiphanov
2013-01-25 12:11         ` [devel] I: repocop NMU Aleksey Novodvorsky
2013-01-25 12:17           ` Dmitry V. Levin
2013-01-25 12:27           ` Sergey V Turchin
2013-01-25 12:35             ` Sergey V Turchin
2013-01-25 12:40               ` Dmitry V. Levin
2013-01-25 12:42                 ` Sergey V Turchin
2013-01-25 13:00                   ` Dmitry V. Levin
2013-01-25 13:01                     ` Sergey V Turchin
2013-01-25 12:39             ` Dmitry V. Levin
2013-01-25 12:44               ` Sergey V Turchin
2013-01-25 12:13         ` Dmitry V. Levin
2013-01-25 12:26           ` Aleksey Avdeev
2013-01-25 12:10       ` Viacheslav Dubrovskyi
2013-01-25 12:13   ` Alexey Gladkov
2013-01-25 12:32     ` [devel] non-strict deps Dmitry V. Levin
2013-01-25 12:39       ` Aleksey Avdeev
2013-01-25 12:51         ` Dmitry V. Levin
2013-01-25 12:55           ` Alexey Gladkov
2013-01-25 13:00             ` Alexey Gladkov
2013-01-25 13:03               ` Dmitry V. Levin
2013-01-25 13:15                 ` Alexey Gladkov
2013-01-25 14:48                   ` [devel] osec_rpm_reporter Dmitry V. Levin
2013-01-26 11:21                     ` Alexey Gladkov
2013-01-26 12:25                       ` Dmitry V. Levin
2013-01-26 12:46                         ` Alexey Gladkov
2013-01-26 13:05                           ` Dmitry V. Levin
2013-01-26 14:38                             ` Alexey Gladkov
2013-01-25 13:01           ` [devel] non-strict deps Aleksey Avdeev
2013-01-25 14:54             ` Led
2013-01-25 15:11               ` Dmitry V. Levin
2013-01-26 11:30                 ` [devel] non-strict deps Зачем? Alexey Gladkov
2013-01-26 12:08                   ` Dmitry V. Levin
2013-01-26 12:35                     ` Alexey Gladkov
2013-01-26 13:32                       ` Dmitry V. Levin
2013-01-26 18:55                         ` Aleksey Avdeev
2013-01-28 11:33                     ` Sergey V Turchin
2013-01-25 12:46       ` [devel] non-strict deps Alexey Gladkov
2013-01-25 12:50         ` Aleksey Avdeev
2013-01-25 12:58         ` Dmitry V. Levin
2013-01-25 13:00           ` Sergey V Turchin
2013-01-25 12:59       ` Sergei Epiphanov
2013-01-25 14:49       ` Led
2013-01-25 15:09         ` Dmitry V. Levin
2013-01-25 15:28           ` Aleksey Avdeev
2013-01-25 15:32           ` Sergey V Turchin
2013-01-25 15:38             ` Dmitry V. Levin
2013-01-25 15:40               ` Sergey V Turchin
2013-01-26 13:30       ` Sergey Vlasov
2013-01-26 14:17         ` Dmitry V. Levin [this message]
2013-01-26 16:19           ` Sergey Vlasov
2013-01-26 19:05             ` Aleksey Avdeev
2013-01-26 19:21               ` Dmitry V. Levin
2013-01-26 19:36               ` Sergey Vlasov
2013-01-26 19:14             ` Dmitry V. Levin
2013-01-26 20:44               ` Aleksey Avdeev
2013-01-27  7:07               ` Sergey Vlasov
2013-01-28 17:01             ` Dmitry V. Levin
2013-01-28 13:04   ` [devel] I: repocop NMU Igor Vlasenko
2013-01-28 13:15     ` Dmitry V. Levin

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=20130126141700.GC3629@altlinux.org \
    --to=ldv@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