[devel] Добавленная проверка на duplicate module

Dmitry V. Levin ldv на altlinux.org
Вс Ноя 8 01:47:59 MSK 2020


On Sun, Nov 08, 2020 at 01:16:55AM +0300, Vitaly Lipatov wrote:
> Dmitry V. Levin писал 8.11.20 0:20:
> > On Sat, Nov 07, 2020 at 11:59:55PM +0300, Vitaly Lipatov wrote:
[...]
> >> Вот я считал, что хотелось бы иметь в репозитории модули разных 
> >> версий:
> >> python3-module-glusterfs7
> >> python3-module-glusterfs8
> >> 
> >> Но собрать так уже не могу:
> >>      x86_64: NEW duplicate module provides detected:
> >>   Package:                                            Provides:
> >>   python3-module-glusterfs8-8.2-alt3:sisyphus+261208.100.1.1
> >> python3(gluster)
> >>   python3-module-glusterfs8-8.2-alt3:sisyphus+261208.100.1.1
> >> python3(gluster.cliutils)
> >>   python3-module-glusterfs8-8.2-alt3:sisyphus+261208.100.1.1
> >> python3(gluster.cliutils.cliutils)
> >> 
> >> Что предлагается делать?
> > 
> > $ apt-cache showpkg 'python3(gluster)'
> > Package: python3(gluster)
> > Versions:
> > 
> > Reverse Depends:
> > Dependencies:
> > Provides:
> > Reverse Provides:
> > python3-module-glusterfs8 8.2-alt2:sisyphus+259896.40.2.1 на 1602686473
> > python3-module-glusterfs7 7.8-alt1:sisyphus+259197.100.1.1 на 1601808930
> > 
> > Да, в репозитории у этих модулей нет пользователей,
> > но как вы предлагаете этим пользоваться?
> Те, кто пишет управление glusterfs через эту обвязку на python, берут и 
> пользуются. В общем случае, всё равно, какой из модулей будет подгружен. 
> При необходимости можно добавлять зависимость на конкретный пакет.

Насколько совместимы python3(gluster) от разных версий glusterfs, это
отдельный вопрос.  Если они в чём-то несовместимы, это не стало бы
неожиданностью.

Проиллюстрирую примером из библиотек:
$ apt-cache showpkg 'liblibreofficekitgtk.so()(64bit)'
Package: liblibreofficekitgtk.so()(64bit)
Versions: 
Reverse Depends: 
Dependencies: 
Provides: 
Reverse Provides: 
libreofficekit-still 6.4.7.2-alt1:sisyphus+260240.300.4.3 на 1603576136
libreofficekit 7.0.1.2-alt2:sisyphus+259887.100.1.2 на 1602681375
- два пакета провайдят одну библиотеку, которая никаким другим пакетам не нужна.

$ rpmsodiff \
  Sisyphus/files/x86_64/RPMS/libreofficekit-still-6.4.7.2-alt1.x86_64.rpm \
  Sisyphus/files/x86_64/RPMS/libreofficekit-7.0.1.2-alt2.x86_64.rpm |\
  grep symbols
    13 symbols removed
    1 symbols added
    18 symbols changed
- и эти библиотеки, разумеется, несовместимы.

> Так что, уже идти делать один python3-module-glusterfs из glusterfs8 
> последней версии?

Проблема не в том, что в репозитории две разные реализации
python3(gluster), проблема в том, что они конкурируют за ABI.

В качестве простого решения я бы предложил оставить Provides
этих интерфейсов только у одного из модулей.


-- 
ldv


Подробная информация о списке рассылки Devel