Re: debian/control Provides

2018-06-22 Пенетрантность Artem Chuprina
Andrey Nikitin -> debian-russian@lists.debian.org  @ Thu, 21 Jun 2018 15:56:55 
+0300:

 >> Боюсь, что из программных комплексов, написанных в ОО-стиле, такие
 >> занозы не вытаскиваются.

 > Вот взять, например, виртуальный "mail-transport-agent", или "time-daemon".
 > Я очень надеялся что `apt-cache rdepends mail-transport-agent` вернёт кучку 
 > пакетов,
 > которым нужен mta, всё равно какой, лишь бы был хоть один.
 > Это казалось мне логичным.
 > Но нет, пусто, никому не нужен виртуальный mail-transport-agent.
 > Тогда на зачем вся эта городьба с Provides? Чёт не понимаю.

Это, боюсь, вопрос к реализации rdepends. Потому что apt-cache depends
bsd-mailx показывает все, что надо. При установке пакетов достаточно depends.



Re: debian/control Provides

2018-06-22 Пенетрантность Artem Chuprina
D. H. -> debian-russian@lists.debian.org  @ Thu, 21 Jun 2018 08:27:07 -0500:

 >> Боюсь, что из программных комплексов, написанных в ОО-стиле, такие
 >> занозы не вытаскиваются.

 > Прошу прощения, не люблю догадываться, предпочитаю уточнять все
 > возможные неточности во избежании глупых недопониманий. Что имелось в
 > виду под "ОО-стиле"?

Переиспользование уже написанных компонент в соответствии с API при
отсутствии доступа к реализации. При том, что сам этот API в изрядной
части состоит из действий типа "вещь в себе", т.е. не рассчитан на
последующую обработку результата кем-то еще. Ведет к решениям вида
"вылить воду из кастрюльки и свести задачу к предыдущей".



Re: debian/control Provides

2018-06-21 Пенетрантность Andrey Nikitin
В Thu, 21 Jun 2018 08:33:30 -0500
"D. H."  пишет:

> Лично меня вот эта штука смущает. Что-то тут не то с логикой. Именно
> логикой.

Эта "штука" как бы, офиц. рекомендуемый стиль для вариантных пакетов,
которые выполняют один и тот же функционал, но при этом конфликтуют
с друг другом (например, по объектам файловой системы, сетевым сервисам и т.п.)

https://www.debian.org/doc/debian-policy/#document-ch-relationships
7.6.2. Replacing whole packages, forcing their removal



Re: debian/control Provides

2018-06-21 Пенетрантность D. H.
On 21/06/18 07:39 AM, Artem Chuprina wrote:
> Боюсь, что из программных комплексов, написанных в ОО-стиле, такие
> занозы не вытаскиваются.

Прошу прощения, не люблю догадываться, предпочитаю уточнять все
возможные неточности во избежании глупых недопониманий. Что имелось в
виду под "ОО-стиле"?



Re: debian/control Provides

2018-06-21 Пенетрантность Andrey Nikitin
В Thu, 21 Jun 2018 15:39:28 +0300
Artem Chuprina  пишет:

> Боюсь, что из программных комплексов, написанных в ОО-стиле, такие
> занозы не вытаскиваются.

Вот взять, например, виртуальный "mail-transport-agent", или "time-daemon".
Я очень надеялся что `apt-cache rdepends mail-transport-agent` вернёт кучку 
пакетов,
которым нужен mta, всё равно какой, лишь бы был хоть один.
Это казалось мне логичным.
Но нет, пусто, никому не нужен виртуальный mail-transport-agent.
Тогда на зачем вся эта городьба с Provides? Чёт не понимаю.



Re: debian/control Provides

2018-06-21 Пенетрантность Artem Chuprina
Andrey Nikitin -> debian-russian@lists.debian.org  @ Thu, 21 Jun 2018 15:10:54 
+0300:

 > Есть пакеты "foo-bar" и "foo-baz", каждый их которых:
 >Provides: foo
 >Conflicts: foo
 >Replaces: foo

 > И есть другой пакет: "foo-deps" у которого:
 >Depends: foo

 > Всё бы ничего, но при смене "foo-bar" на "foo-baz" (или наоборот),
 > apt выводит предупреждение "dependency problems":

 > dpkg: foo-deps: dependency problems, but removing anyway as you requested:
 >  foo-deps depends on avreg-site; however:
 >   Package foo is not installed.
 >   Package foo-bar which provides foo is to be removed.
 >   Package foo-baz which provides foo is not installed.

 > Делает всё как надо, меняет foo-bar на foo-baz не удаляя foo-deps.
 > Но предупреждение как заноза в ж..е, может кто поможет вытащить? :)

Боюсь, что из программных комплексов, написанных в ОО-стиле, такие
занозы не вытаскиваются.

Оно запускает dpkg не с ключом "я тебе эту зависимость потом
удовлетворю" (у него такого нет), а с ключом "удаляй, но не трогай
зависящих". А тот в такой ситуации вполне резонно громко вопит.



debian/control Provides

2018-06-21 Пенетрантность Andrey Nikitin
Привет.

Есть пакеты "foo-bar" и "foo-baz", каждый их которых:
   Provides: foo
   Conflicts: foo
   Replaces: foo

И есть другой пакет: "foo-deps" у которого:
   Depends: foo

Всё бы ничего, но при смене "foo-bar" на "foo-baz" (или наоборот),
apt выводит предупреждение "dependency problems":

dpkg: foo-deps: dependency problems, but removing anyway as you requested:
 foo-deps depends on avreg-site; however:
  Package foo is not installed.
  Package foo-bar which provides foo is to be removed.
  Package foo-baz which provides foo is not installed.

Делает всё как надо, меняет foo-bar на foo-baz не удаляя foo-deps.
Но предупреждение как заноза в ж..е, может кто поможет вытащить? :)