ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Aleksey Avdeev <solo@solin.spb.ru>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] non-strict deps Зачем?
Date: Sat, 26 Jan 2013 22:55:33 +0400
Message-ID: <510426A5.9020708@solin.spb.ru> (raw)
In-Reply-To: <20130126133250.GB3629@altlinux.org>

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

26.01.2013 17:32, Dmitry V. Levin пишет:
> On Sat, Jan 26, 2013 at 04:35:37PM +0400, Alexey Gladkov wrote:
>> 26.01.2013 16:08, Dmitry V. Levin wrote:
>>> Разве это не очевидно?  Вы же не первый год в теме, и знаете, что
>>> одновременная установка подпакета одной версии с подпакетом другой версии
>>> чревата большими неприятностями, такие смешанные установки вряд ли кто-то
>>> в состоянии полноценно протестировать, поэтому лучшее, что мы можем
>>> сделать - это избегать их.
>>
>> Это не очевидно.
> 
> Это не вполне тривиально, но все равно очевидно.

  Это далеко не очевидно. Для меня очевидно обратное, когда речь идёт о
внутрипакетных зависимостях подпакетов с конфигами (вариантами
конфигурации чего либо) и модулями -- и в том и в другом случаи для меня
очевидна ценность возможностей:

а) обновить только заданный подпакет, не трогая остальное;

б) поставить подпакет на hold и обновить остальное;

в) заменить подпакет его альтернативой, собранной из другого источника.

  Да, этими возможностями можно пользоваться не всегда: изменения
интерфейса работы с модулями (его ABI) и инфраструктурные изменения в
подсистемах могут приводить к нерабочим конфигурациям. Но такие
конфигурации можно отстрелить вдумчивой расстановкой
Provides/Conflicts/Requires и указанием зависимостей на файлы/каталоги.

> 
>> Нестрогие зависимости это инструмент. Он не может быть хорош или плох.
> 
> Нестрогие зависимости редко когда инструмент, чаще это свойство.

  В моих пакетах это именно инструмент. И ручная работа над
Provides/Conflicts/Requires и файловыми зависимостями (с соответсвующей
потерей времени) -- плата за его применение.

  Прошу указать когда его применение к моим пакетам приводило к
проблемам, в виде неработоспособности пакета из-за рассинхронизации его
компонент. (По моему у меня уже давно такого не было.)

> 
>> Любой инструмент если его неправильно применять будет приносить вред.
>> Стоит ли бороться с неправильным применением того или иного
>> инструмента? Конечно да. Нужно ли из-за потенциального вреда запрещать
>> инструмент? Мне кажется, что нет.
>>
>> Ты можешь привести конкретный пример из сизифа (как ты любишь), где
>> нестрогая зависимость вызывает проблемы ?
> 
> Ты думаешь, что это умозрительная проблема?  Я несколько дней назад
> посмотрел, что это за нечеткие зависимости в 659 исходных пакетах.
> Там около процента альтернативных провайдеров типа vim-X11-* и
> apache2-httpd-*,

  Сделанных мантейнерами _руками_, под их ответственность. Именно для
них и нужна ручка, применение которой будет говорить о том, что
мантейнер _знает_ что именно он делает (или что он считает что это так).

> и очень много типовых ошибок упаковки, например,
> нестрогая зависимость на используемую библиотеку (в пакете нет зависимости
> вообще, а нестрогую зависимость на библиотеку вычислил find-requires).

  Здесь автозамена зависимостей на строгие нужна.

> В этой ситуации сложнее привести пример, когда отсутствие строгой
> зависимости не создает проблемы точечного обновления.  set-versions
> отслеживает только имена функций, этого не всегда бывает достаточно,
> на эту тему висят баги:
> https://bugzilla.altlinux.org/show_bug.cgi?id=28383
> Если обновить библиотеку, в которой не поменялся soname, но не обновить
> devel-пакет (таких возможностей сейчас очень много), то можно получить
> devel-пакет, в котором API не соответствует ABI в библиотеке.

  Между devel-пакетом и соответствующей ему библиотекой -- тоже.

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

  Согласен полностью! Но не стоит под эту гребёнку вести случаи, где
нестрогие зависимости мантейнер расставлял сам, руками!!!

> 
>>>> Мы все доказываем и обосновываем тебе, что они нужны.
>>>
>>> Нет, вы не доказываете.
>>
>> Так ты тоже ещё ничего не доказал. Выше ты написал, что это очевидно.
>> Но этот тред показывает, что для людей "не первый год в теме"
>> полезность такого запрета совсем не очевидна. Поэтому, думаю,
>> доказательство необходимости запрета всё-таки нужно (с плюсами и
>> минусами).
> 
> Необходимость запрета очевидна, неочевидна необходимость тотального
> запрета. :)

1. Очевидна _безусловная_ необходимость запрета для связки библиотеки и
её devel пакет. Возможно даже не только для библиотек, а вообще для всех
подпакетов, требующихся для собираемого devel пакета.

2. Возможно полезен (но всё таки не очевиден) безусловный запрет
нестрогих зависимостей для подпакетов связвнных через set-versions.

3. Очевиден вред от безусловного запрета нестрогих зависимостей для того
что не попадает под пункты 1-2. Это конфиги, части не входящие в ядро
пакета, но собираемые из одного источника (такие как модули) и пр.
подобное. 3десь очевидна нужность нужен запрета по умолчанию, с
возможностью его _ручного_ отключения.

> 
>>>  Я знаю, что такие ситуации
>>> теоретически возможны, и тоже могу сочинить демонстрационный пример.
>>
>> Раз ты знаешь, что в таком механизме может быть необходимость, то
>> почему не оставляешь возможности для него ?
> 
> Я оставляю возможность такого механизма.

  Т. е. ручка всё таки будет? УРА!!! :-)

> 
>>> Но на практике в Сизифе таких примеров либо нет совсем, либо их настолько
>>> мало, что я за два дня не нашел.  Помогите мне, найдите этот реальный
>>> пример, тогда я верну механизм %_allowed_nonstrict_interdeps.
>>
>> И всё-таки давай вернёмся к osec. Пока есть хотя бы один пакет общее
>> правило не применимо. Пока ты упорно игнорируешь этот случай.
> 
> osec мы с тобой обсуждаем в соседнем треде. :)

-- 

С уважением. Алексей.



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 900 bytes --]

  reply	other threads:[~2013-01-26 18:55 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 [this message]
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
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=510426A5.9020708@solin.spb.ru \
    --to=solo@solin.spb.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