[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