ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] I: duplicate pkgconfig() provides
@ 2020-11-14 14:59 Dmitry V. Levin
  2020-11-14 15:51 ` Yuri Sedunov
  2020-11-16  9:33 ` Vitaly Lipatov
  0 siblings, 2 replies; 18+ messages in thread
From: Dmitry V. Levin @ 2020-11-14 14:59 UTC (permalink / raw)
  To: ALT Devel discussion list

Hi,

У нас в репозитории обнаружилось 29 дубликатов pkgconfig provides.

Несмотря на то, что все эти provides версионированы, такое дублирование
вредно: provides с дубликатами невозможно нормально использовать в
сборочных зависимостях, поскольку приходится добавлять версии и/или
имена devel-пакетов вручную.

Даже в версионированных pkgconfig requires, сгенерированных из .pc-файлов
автоматически, указанного диапазона версий может быть недостаточно для
выбора правильного варианта pkgconfig provides из нескольких кандидатов.

$ pkglist-query '[%{PROVIDENAME} %{NAME} %{PROVIDEFLAGS:depflags}%{PROVIDEVERSION}\n]' Sisyphus/{x86_64,noarch}/base.bloat/pkglist.classic |sed -rn -e 's/ \+$//' -e 's/^(pkgconfig\([^ ]+) ([^ ]+) ([^ ]*)$/=\3 \2 \1/p' |sort -k3 |uniq -D -f2 |sed -rn -e 's/^([^ ]+) ([^ ]+) ([^ ]+)$/\2 \3 \1/p' |sort -k2 |column -t -N 'Package:,Provide Name:,Provide Version:'
Package:                          Provide Name:               Provide Version:
ilmbase24-devel                   pkgconfig(IlmBase)          ==2.3.0
ilmbase-devel                     pkgconfig(IlmBase)          ==2.5.3
openexr24-devel                   pkgconfig(OpenEXR)          ==2.3.0
openexr-devel                     pkgconfig(OpenEXR)          ==2.5.3
python-module-pycxx-devel         pkgconfig(PyCXX)            ==7.1.4
python3-module-pycxx-devel        pkgconfig(PyCXX)            ==7.1.4
libbullet-devel                   pkgconfig(bullet)           ==2.82
libbullet3-devel                  pkgconfig(bullet)           ==2.88
python-module-caja-devel          pkgconfig(caja-python)      ==1.20.0
python3-module-caja-devel         pkgconfig(caja-python)      ==1.24.0
dataquay-devel                    pkgconfig(dataquay)         ==0.9
dataquay-minefeld-devel           pkgconfig(dataquay)         ==0.9
libglusterfs7-api-devel           pkgconfig(glusterfs-api)    ==7.7.8
libglusterfs8-api-devel           pkgconfig(glusterfs-api)    ==7.8.2
libilbc1-devel                    pkgconfig(ilbc)             ==0.0.2
ilbc-devel                        pkgconfig(ilbc)             ==1.1.1
libdivecomputer-devel             pkgconfig(libdivecomputer)  ==0.6.0
libdivecomputer-subsurface-devel  pkgconfig(libdivecomputer)  ==4.9.6
libglusterfs7-devel               pkgconfig(libgfchangelog)   ==0.0.1
libglusterfs8-devel               pkgconfig(libgfchangelog)   ==0.0.1
libeudev-devel                    pkgconfig(libudev)          ==243
libudev-devel                     pkgconfig(libudev)          ==246
liblua5.1-compat-devel            pkgconfig(lua)              ==5.1.5
liblua5.3-devel                   pkgconfig(lua)              ==5.3.0
libminizip-devel                  pkgconfig(minizip)          ==1.2.11
libminizip2-devel                 pkgconfig(minizip)          ==2.10.2
libnetcdf-mpi-devel               pkgconfig(netcdf)           ==4.4.1.1-alt2
libnetcdf-devel                   pkgconfig(netcdf)           ==4.4.1.1-alt3
openh264-devel                    pkgconfig(openh264)         ==2.1.0
libopenh264-devel                 pkgconfig(openh264)         ==2.1.1
libortp0.7-devel                  pkgconfig(ortp)             ==0.7.1
libortp-devel                     pkgconfig(ortp)             ==1.0.1
python3-module-pygobject-devel    pkgconfig(pygobject-2.0)    ==2.28.6
python-module-pygobject-devel     pkgconfig(pygobject-2.0)    ==2.28.7
python-module-pygobject3-devel    pkgconfig(pygobject-3.0)    ==3.36.1
python3-module-pygobject3-devel   pkgconfig(pygobject-3.0)    ==3.38.0
libpyside-qt4-devel               pkgconfig(pyside)           ==1.2.2
libpyside-qt4-py3-devel           pkgconfig(pyside)           ==1.2.2
python-module-PySide2-devel       pkgconfig(pyside2)          ==5.15.0
python3-module-PySide2-devel      pkgconfig(pyside2)          ==5.15.0
libqimageblitz-devel              pkgconfig(qimageblitz)      ==4.0.0
qimageblitz5-devel                pkgconfig(qimageblitz)      ==5.0.0
qoauth-devel                      pkgconfig(qoauth)           ==1.0.1
qoauth-qt5-devel                  pkgconfig(qoauth)           ==2.0.0
libshiboken-devel                 pkgconfig(shiboken)         ==1.2.2
libshiboken-py3-devel             pkgconfig(shiboken)         ==1.2.2
python-module-shiboken2-devel     pkgconfig(shiboken2)        ==5.15.0
python3-module-shiboken2-devel    pkgconfig(shiboken2)        ==5.15.0
libspandsp-devel                  pkgconfig(spandsp)          ==0.0.6
libspandsp3-devel                 pkgconfig(spandsp)          ==3.0.0
libticables-devel                 pkgconfig(ticables2)        ==1.3.4
libticables2-devel                pkgconfig(ticables2)        ==1.3.5
libvpx5-devel                     pkgconfig(vpx)              ==1.7.0
libvpx-devel                      pkgconfig(vpx)              ==1.9.0
libwxGTK3.1-sqlite3-devel         pkgconfig(wxsqlite3)        ==4.0.2
libwxGTK3.0-sqlite3-devel         pkgconfig(wxsqlite3)        ==4.5.1
libxerces-c28-devel               pkgconfig(xerces-c)         ==2.8.0
libxerces-c-devel                 pkgconfig(xerces-c)         ==3.2.3

Обратите внимание на часть этой таблицы:
Package:                        Provide Name:              Provide Version:
python-module-pycxx-devel       pkgconfig(PyCXX)           =7.1.4
python3-module-pycxx-devel      pkgconfig(PyCXX)           =7.1.4
dataquay-devel                  pkgconfig(dataquay)        =0.9
dataquay-minefeld-devel         pkgconfig(dataquay)        =0.9
libglusterfs7-devel             pkgconfig(libgfchangelog)  =0.0.1
libglusterfs8-devel             pkgconfig(libgfchangelog)  =0.0.1
libpyside-qt4-devel             pkgconfig(pyside)          =1.2.2
libpyside-qt4-py3-devel         pkgconfig(pyside)          =1.2.2
python-module-PySide2-devel     pkgconfig(pyside2)         =5.15.0
python3-module-PySide2-devel    pkgconfig(pyside2)         =5.15.0
libshiboken-devel               pkgconfig(shiboken)        =1.2.2
libshiboken-py3-devel           pkgconfig(shiboken)        =1.2.2
python-module-shiboken2-devel   pkgconfig(shiboken2)       =5.15.0
python3-module-shiboken2-devel  pkgconfig(shiboken2)       =5.15.0

Я не вижу другого выхода, кроме как запретить дублирование pkgconfig provides.


-- 
ldv


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  2020-11-14 14:59 [devel] I: duplicate pkgconfig() provides Dmitry V. Levin
@ 2020-11-14 15:51 ` Yuri Sedunov
  2020-11-14 16:29   ` Dmitry V. Levin
  2020-11-16  9:33 ` Vitaly Lipatov
  1 sibling, 1 reply; 18+ messages in thread
From: Yuri Sedunov @ 2020-11-14 15:51 UTC (permalink / raw)
  To: devel

В Сб, 14/11/2020 в 17:59 +0300, Dmitry V. Levin пишет:
> Hi,
...

> имена devel-пакетов вручную.
> 

> python3-module-pygobject-devel    pkgconfig(pygobject-2.0)   ==2.28.6
> python-module-pygobject-devel     pkgconfig(pygobject-2.0)   ==2.28.7
> python-module-pygobject3-devel    pkgconfig(pygobject-3.0)   ==3.36.1
> python3-module-pygobject3-devel   pkgconfig(pygobject-3.0)   ==3.38.0

Это всегда будут pygobject'ы второй и третьей версий, для python 2
python 3 каждый. Никаких проблем в указании конкретного *pygobject*-
devel пакета в качестве сборочной зависимости никто не испытывает.

И только лишь python-module-pygtk-devel имеет автоматическую
зависимость на pkgconfig(pygobject-2.0) кроме ручной на python-module-
pygobject-devel.

С этим надо смириться.

-- 
Yuri N. Sedunov




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  2020-11-14 15:51 ` Yuri Sedunov
@ 2020-11-14 16:29   ` Dmitry V. Levin
  2020-11-14 17:02     ` Yuri Sedunov
  0 siblings, 1 reply; 18+ messages in thread
From: Dmitry V. Levin @ 2020-11-14 16:29 UTC (permalink / raw)
  To: ALT Devel discussion list

On Sat, Nov 14, 2020 at 06:51:55PM +0300, Yuri Sedunov wrote:
> В Сб, 14/11/2020 в 17:59 +0300, Dmitry V. Levin пишет:
> > Hi,
> ...
> 
> > имена devel-пакетов вручную.
> > 
> 
> > python3-module-pygobject-devel    pkgconfig(pygobject-2.0)   ==2.28.6
> > python-module-pygobject-devel     pkgconfig(pygobject-2.0)   ==2.28.7
> > python-module-pygobject3-devel    pkgconfig(pygobject-3.0)   ==3.36.1
> > python3-module-pygobject3-devel   pkgconfig(pygobject-3.0)   ==3.38.0
> 
> Это всегда будут pygobject'ы второй и третьей версий, для python 2
> python 3 каждый. Никаких проблем в указании конкретного *pygobject*-
> devel пакета в качестве сборочной зависимости никто не испытывает.
> 
> И только лишь python-module-pygtk-devel имеет автоматическую
> зависимость на pkgconfig(pygobject-2.0) кроме ручной на python-module-
> pygobject-devel.
> 
> С этим надо смириться.

Так, а есть ли тогда от этих pkgconfig(pygobject-2.0) и
pkgconfig(pygobject-3.0) хоть какая-нибудь польза?


-- 
ldv


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  2020-11-14 16:29   ` Dmitry V. Levin
@ 2020-11-14 17:02     ` Yuri Sedunov
  2020-11-14 19:04       ` Dmitry V. Levin
  0 siblings, 1 reply; 18+ messages in thread
From: Yuri Sedunov @ 2020-11-14 17:02 UTC (permalink / raw)
  To: devel

В Сб, 14/11/2020 в 19:29 +0300, Dmitry V. Levin пишет:
> On Sat, Nov 14, 2020 at 06:51:55PM +0300, Yuri Sedunov wrote:
> > В Сб, 14/11/2020 в 17:59 +0300, Dmitry V. Levin пишет:
> > > Hi,
> > ...
> > 
> > > имена devel-пакетов вручную.
> > > 
> > 
> > > python3-module-pygobject-devel    pkgconfig(pygobject-
> > > 2.0)   ==2.28.6
> > > python-module-pygobject-devel     pkgconfig(pygobject-
> > > 2.0)   ==2.28.7
> > > python-module-pygobject3-devel    pkgconfig(pygobject-
> > > 3.0)   ==3.36.1
> > > python3-module-pygobject3-devel   pkgconfig(pygobject-
> > > 3.0)   ==3.38.0
> > 
> > Это всегда будут pygobject'ы второй и третьей версий, для python 2
> > python 3 каждый. Никаких проблем в указании конкретного
> > *pygobject*-
> > devel пакета в качестве сборочной зависимости никто не испытывает.
> > 
> > И только лишь python-module-pygtk-devel имеет автоматическую
> > зависимость на pkgconfig(pygobject-2.0) кроме ручной на python-
> > module-
> > pygobject-devel.
> > 
> > С этим надо смириться.
> 
> Так, а есть ли тогда от этих pkgconfig(pygobject-2.0) и
> pkgconfig(pygobject-3.0) хоть какая-нибудь польза?
> 

Кроме PyGTK? -- да, бывают нужны. У тебя есть логи пересборки сизифа,
их можно пошерстить.

-- 
Yuri N. Sedunov




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  2020-11-14 17:02     ` Yuri Sedunov
@ 2020-11-14 19:04       ` Dmitry V. Levin
  2020-11-14 20:22         ` Yuri Sedunov
  0 siblings, 1 reply; 18+ messages in thread
From: Dmitry V. Levin @ 2020-11-14 19:04 UTC (permalink / raw)
  To: ALT Devel discussion list

On Sat, Nov 14, 2020 at 08:02:46PM +0300, Yuri Sedunov wrote:
> В Сб, 14/11/2020 в 19:29 +0300, Dmitry V. Levin пишет:
> > On Sat, Nov 14, 2020 at 06:51:55PM +0300, Yuri Sedunov wrote:
> > > В Сб, 14/11/2020 в 17:59 +0300, Dmitry V. Levin пишет:
> > > > Hi,
> > > ...
> > > 
> > > > имена devel-пакетов вручную.
> > > > 
> > > 
> > > > python3-module-pygobject-devel    pkgconfig(pygobject-
> > > > 2.0)   ==2.28.6
> > > > python-module-pygobject-devel     pkgconfig(pygobject-
> > > > 2.0)   ==2.28.7
> > > > python-module-pygobject3-devel    pkgconfig(pygobject-
> > > > 3.0)   ==3.36.1
> > > > python3-module-pygobject3-devel   pkgconfig(pygobject-
> > > > 3.0)   ==3.38.0
> > > 
> > > Это всегда будут pygobject'ы второй и третьей версий, для python 2
> > > python 3 каждый. Никаких проблем в указании конкретного
> > > *pygobject*-
> > > devel пакета в качестве сборочной зависимости никто не испытывает.
> > > 
> > > И только лишь python-module-pygtk-devel имеет автоматическую
> > > зависимость на pkgconfig(pygobject-2.0) кроме ручной на python-
> > > module-
> > > pygobject-devel.
> > > 
> > > С этим надо смириться.
> > 
> > Так, а есть ли тогда от этих pkgconfig(pygobject-2.0) и
> > pkgconfig(pygobject-3.0) хоть какая-нибудь польза?
> 
> Кроме PyGTK? -- да, бывают нужны. У тебя есть логи пересборки сизифа,
> их можно пошерстить.

python*-module-pygobject*-devel, конечно, присутствуют в сборочной среде
74 пакетов, но по логам сборки не видно, нужны были эти Provides или нет.

Поиск по всем спекам даёт такой результат:

$ git --git-dir=/people/specbot/public/specs.git grep '^[^#]*pkgconfig(pygobject-[23]\.0)' @
@:a/avahi/avahi.spec:BuildRequires: python3-devel python3(dbus) pkgconfig(pygobject-3.0)
@:b/blueman/blueman.spec:BuildRequires: pkgconfig(pygobject-3.0)
@:m/mate-menu-editor/mozo.spec:BuildRequires: pkgconfig(libmate-menu) pkgconfig(pygobject-3.0)

Во всех трёх случаях без явного указания в спеках был каким-то образом
выбран python3-module-pygobject3-devel:

$ printf 'avahi\nblueman\nmate-menu-editor\n' |\
  join -o2.2 - beehive/stats/Sisyphus-x86_64/ufb-1 |\
  grep 'pygobject.*devel'
python3-module-pygobject3-devel
python3-module-pygobject3-devel
python3-module-pygobject3-devel


-- 
ldv


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  2020-11-14 19:04       ` Dmitry V. Levin
@ 2020-11-14 20:22         ` Yuri Sedunov
  2020-11-14 22:09           ` Dmitry V. Levin
  0 siblings, 1 reply; 18+ messages in thread
From: Yuri Sedunov @ 2020-11-14 20:22 UTC (permalink / raw)
  To: devel

В Сб, 14/11/2020 в 22:04 +0300, Dmitry V. Levin пишет:
> On Sat, Nov 14, 2020 at 08:02:46PM +0300, Yuri Sedunov wrote:
> > В Сб, 14/11/2020 в 19:29 +0300, Dmitry V. Levin пишет:
> > > On Sat, Nov 14, 2020 at 06:51:55PM +0300, Yuri Sedunov wrote:
> > > > В Сб, 14/11/2020 в 17:59 +0300, Dmitry V. Levin пишет:
> > > > > Hi,
> > > > ...
> > > > 
> > > > > имена devel-пакетов вручную.
> > > > > 
> > > > 
> > > > > python3-module-pygobject-devel    pkgconfig(pygobject-
> > > > > 2.0)   ==2.28.6
> > > > > python-module-pygobject-devel     pkgconfig(pygobject-
> > > > > 2.0)   ==2.28.7
> > > > > python-module-pygobject3-devel    pkgconfig(pygobject-
> > > > > 3.0)   ==3.36.1
> > > > > python3-module-pygobject3-devel   pkgconfig(pygobject-
> > > > > 3.0)   ==3.38.0
> > > > 
> > > > Это всегда будут pygobject'ы второй и третьей версий, для
> > > > python 2
> > > > python 3 каждый. Никаких проблем в указании конкретного
> > > > *pygobject*-
> > > > devel пакета в качестве сборочной зависимости никто не
> > > > испытывает.
> > > > 
> > > > И только лишь python-module-pygtk-devel имеет автоматическую
> > > > зависимость на pkgconfig(pygobject-2.0) кроме ручной на python-
> > > > module-
> > > > pygobject-devel.
> > > > 
> > > > С этим надо смириться.
> > > 
> > > Так, а есть ли тогда от этих pkgconfig(pygobject-2.0) и
> > > pkgconfig(pygobject-3.0) хоть какая-нибудь польза?
> > 
> > Кроме PyGTK? -- да, бывают нужны. У тебя есть логи пересборки
> > сизифа,
> > их можно пошерстить.
> 
> python*-module-pygobject*-devel, конечно, присутствуют в сборочной
> среде 74 пакетов, но по логам сборки не видно, нужны были эти
> Provides или нет.

Видимо, надо тщательнее шерстить. Например, в mypaint среди флагов
компиляции есть -I/usr/include/pygobject-3.0, что в логе сборки видно,
и неспроста, в setup.py егоном есть следующий фрагмент:

    initial_deps = ["%s >= 1.6" % LIBMYPAINT]
    remaining_deps = [
        "pygobject-3.0",
        "glib-2.0",
        "libpng",
        "lcms2",
        "gtk+-3.0",
        "mypaint-brushes-2.0",
    ]
    check_dependencies(initial_deps + remaining_deps)

> Поиск по всем спекам даёт такой результат:
> 
> $ git --git-dir=/people/specbot/public/specs.git grep
> '^[^#]*pkgconfig(pygobject-[23]\.0)' @
> @:a/avahi/avahi.spec:BuildRequires: python3-devel python3(dbus)
> pkgconfig(pygobject-3.0)
> @:b/blueman/blueman.spec:BuildRequires: pkgconfig(pygobject-3.0)
> @:m/mate-menu-editor/mozo.spec:BuildRequires: pkgconfig(libmate-menu)
> pkgconfig(pygobject-3.0)
> 
> Во всех трёх случаях без явного указания в спеках был каким-то
> образом выбран python3-module-pygobject3-devel:
> 
> $ printf 'avahi\nblueman\nmate-menu-editor\n' |\
>   join -o2.2 - beehive/stats/Sisyphus-x86_64/ufb-1 |\
>   grep 'pygobject.*devel'
> python3-module-pygobject3-devel
> python3-module-pygobject3-devel
> python3-module-pygobject3-devel
> 

Ну, это, наверное, потому, что всё остальное требуемое для сборки --
python3-based, apt иногда делает что-то разумное и логичное.


-- 
Yuri N. Sedunov




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  2020-11-14 20:22         ` Yuri Sedunov
@ 2020-11-14 22:09           ` Dmitry V. Levin
  2020-11-15 13:14             ` Yuri Sedunov
  0 siblings, 1 reply; 18+ messages in thread
From: Dmitry V. Levin @ 2020-11-14 22:09 UTC (permalink / raw)
  To: devel

On Sat, Nov 14, 2020 at 11:22:41PM +0300, Yuri Sedunov wrote:
> В Сб, 14/11/2020 в 22:04 +0300, Dmitry V. Levin пишет:
> > On Sat, Nov 14, 2020 at 08:02:46PM +0300, Yuri Sedunov wrote:
> > > В Сб, 14/11/2020 в 19:29 +0300, Dmitry V. Levin пишет:
> > > > On Sat, Nov 14, 2020 at 06:51:55PM +0300, Yuri Sedunov wrote:
> > > > > В Сб, 14/11/2020 в 17:59 +0300, Dmitry V. Levin пишет:
> > > > > > Hi,
> > > > > ...
> > > > > 
> > > > > > имена devel-пакетов вручную.
> > > > > > 
> > > > > 
> > > > > > python3-module-pygobject-devel    pkgconfig(pygobject-
> > > > > > 2.0)   ==2.28.6
> > > > > > python-module-pygobject-devel     pkgconfig(pygobject-
> > > > > > 2.0)   ==2.28.7
> > > > > > python-module-pygobject3-devel    pkgconfig(pygobject-
> > > > > > 3.0)   ==3.36.1
> > > > > > python3-module-pygobject3-devel   pkgconfig(pygobject-
> > > > > > 3.0)   ==3.38.0
> > > > > 
> > > > > Это всегда будут pygobject'ы второй и третьей версий, для
> > > > > python 2
> > > > > python 3 каждый. Никаких проблем в указании конкретного
> > > > > *pygobject*-
> > > > > devel пакета в качестве сборочной зависимости никто не
> > > > > испытывает.
> > > > > 
> > > > > И только лишь python-module-pygtk-devel имеет автоматическую
> > > > > зависимость на pkgconfig(pygobject-2.0) кроме ручной на python-
> > > > > module-
> > > > > pygobject-devel.
> > > > > 
> > > > > С этим надо смириться.
> > > > 
> > > > Так, а есть ли тогда от этих pkgconfig(pygobject-2.0) и
> > > > pkgconfig(pygobject-3.0) хоть какая-нибудь польза?
> > > 
> > > Кроме PyGTK? -- да, бывают нужны. У тебя есть логи пересборки
> > > сизифа,
> > > их можно пошерстить.
> > 
> > python*-module-pygobject*-devel, конечно, присутствуют в сборочной
> > среде 74 пакетов, но по логам сборки не видно, нужны были эти
> > Provides или нет.
> 
> Видимо, надо тщательнее шерстить. Например, в mypaint среди флагов
> компиляции есть -I/usr/include/pygobject-3.0, что в логе сборки видно,
> и неспроста, в setup.py егоном есть следующий фрагмент:
> 
>     initial_deps = ["%s >= 1.6" % LIBMYPAINT]
>     remaining_deps = [
>         "pygobject-3.0",
>         "glib-2.0",
>         "libpng",
>         "lcms2",
>         "gtk+-3.0",
>         "mypaint-brushes-2.0",
>     ]
>     check_dependencies(initial_deps + remaining_deps)

Да, но setup.py не оперирует зависимостями пакетов, ему всё равно, есть
ли у pygobject-3.0.pc какой-нибудь Provides: pkgconfig(pygobject-3.0.pc)
или нет.

> > Поиск по всем спекам даёт такой результат:
> > 
> > $ git --git-dir=/people/specbot/public/specs.git grep
> > '^[^#]*pkgconfig(pygobject-[23]\.0)' @
> > @:a/avahi/avahi.spec:BuildRequires: python3-devel python3(dbus)
> > pkgconfig(pygobject-3.0) @:b/blueman/blueman.spec:BuildRequires:
> > pkgconfig(pygobject-3.0) @:m/mate-menu-editor/mozo.spec:BuildRequires:
> > pkgconfig(libmate-menu) pkgconfig(pygobject-3.0)
> > 
> > Во всех трёх случаях без явного указания в спеках был каким-то образом
> > выбран python3-module-pygobject3-devel:
> > 
> > $ printf 'avahi\nblueman\nmate-menu-editor\n' |\   join -o2.2 -
> > beehive/stats/Sisyphus-x86_64/ufb-1 |\   grep 'pygobject.*devel'
> > python3-module-pygobject3-devel python3-module-pygobject3-devel
> > python3-module-pygobject3-devel
> 
> Ну, это, наверное, потому, что всё остальное требуемое для сборки --
> python3-based, apt иногда делает что-то разумное и логичное.

Т.е. нам просто повезло, что по зависимости на pkgconfig(pygobject-3.0)
вытянулся python3-module-pygobject3-devel, а не
python-module-pygobject3-devel.


-- 
ldv


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  2020-11-14 22:09           ` Dmitry V. Levin
@ 2020-11-15 13:14             ` Yuri Sedunov
  2020-11-15 14:52               ` Dmitry V. Levin
  0 siblings, 1 reply; 18+ messages in thread
From: Yuri Sedunov @ 2020-11-15 13:14 UTC (permalink / raw)
  To: devel

В Вс, 15/11/2020 в 01:09 +0300, Dmitry V. Levin пишет:
> On Sat, Nov 14, 2020 at 11:22:41PM +0300, Yuri Sedunov wrote:
> > В Сб, 14/11/2020 в 22:04 +0300, Dmitry V. Levin пишет:
> > > On Sat, Nov 14, 2020 at 08:02:46PM +0300, Yuri Sedunov wrote:
> > > > В Сб, 14/11/2020 в 19:29 +0300, Dmitry V. Levin пишет:
> > > > > On Sat, Nov 14, 2020 at 06:51:55PM +0300, Yuri Sedunov wrote:
> > > > > > В Сб, 14/11/2020 в 17:59 +0300, Dmitry V. Levin пишет:
> > > > > > > Hi,
> > > > > > ...
> > > > > > 
> > > > > > > имена devel-пакетов вручную.
> > > > > > > 
> > > > > > 
> > > > > > > python3-module-pygobject-devel    pkgconfig(pygobject-
> > > > > > > 2.0)   ==2.28.6
> > > > > > > python-module-pygobject-devel     pkgconfig(pygobject-
> > > > > > > 2.0)   ==2.28.7
> > > > > > > python-module-pygobject3-devel    pkgconfig(pygobject-
> > > > > > > 3.0)   ==3.36.1
> > > > > > > python3-module-pygobject3-devel   pkgconfig(pygobject-
> > > > > > > 3.0)   ==3.38.0
> > > > > > 
> > > > > > Это всегда будут pygobject'ы второй и третьей версий, для
> > > > > > python 2 python 3 каждый. Никаких проблем в указании
> > > > > > конкретного *pygobject*-devel пакета в качестве сборочной
> > > > > > зависимости никто не испытывает.
> > > > > > 
> > > > > > И только лишь python-module-pygtk-devel имеет
> > > > > > автоматическую зависимость на pkgconfig(pygobject-2.0)
> > > > > > кроме ручной на python-module-pygobject-devel.
> > > > > > 
> > > > > > С этим надо смириться.
> > > > > 
> > > > > Так, а есть ли тогда от этих pkgconfig(pygobject-2.0) и
> > > > > pkgconfig(pygobject-3.0) хоть какая-нибудь польза?
> > > > 
> > > > Кроме PyGTK? -- да, бывают нужны. У тебя есть логи пересборки
> > > > сизифа, их можно пошерстить.
> > > 
> > > python*-module-pygobject*-devel, конечно, присутствуют в
> > > сборочной среде 74 пакетов, но по логам сборки не видно, нужны
> > > были эти Provides или нет.
> > 
> > Видимо, надо тщательнее шерстить. Например, в mypaint среди флагов
> > компиляции есть -I/usr/include/pygobject-3.0, что в логе сборки
> > видно, и неспроста, в setup.py егоном есть следующий фрагмент:
> > 
> >     initial_deps = ["%s >= 1.6" % LIBMYPAINT]
> >     remaining_deps = [
> >         "pygobject-3.0",
> >         "glib-2.0",
> >         "libpng",
> >         "lcms2",
> >         "gtk+-3.0",
> >         "mypaint-brushes-2.0",
> >     ]
> >     check_dependencies(initial_deps + remaining_deps)
> 
> Да, но setup.py не оперирует зависимостями пакетов, ему всё равно,
> есть ли у pygobject-3.0.pc какой-нибудь Provides:
> pkgconfig(pygobject-3.0.pc) или нет.

Неправильно понял, Подумалось, что ты хочешь вовсе лишить какие-то
pygobject'ы pc-файлов.

Только у python-module-pygtk-devel есть зависимость на
pkgconfig(pygobject-2.0).

Сделал тестовое задание, в котором вырезал у уходящих python-module-
pygobject*-devel соответствующие Provides, а у python-module-pygtk-
devel зависимость на pkgconfig(pygobject-2.0).

Устроит?

> > > Поиск по всем спекам даёт такой результат:
> > > 
> > > $ git --git-dir=/people/specbot/public/specs.git grep
> > > '^[^#]*pkgconfig(pygobject-[23]\.0)' @
> > > @:a/avahi/avahi.spec:BuildRequires: python3-devel python3(dbus)
> > > pkgconfig(pygobject-3.0) @:b/blueman/blueman.spec:BuildRequires:
> > > pkgconfig(pygobject-3.0) @:m/mate-menu-
> > > editor/mozo.spec:BuildRequires:
> > > pkgconfig(libmate-menu) pkgconfig(pygobject-3.0)
> > > 
> > > Во всех трёх случаях без явного указания в спеках был каким-то
> > > образом выбран python3-module-pygobject3-devel:
> > > 
> > > $ printf 'avahi\nblueman\nmate-menu-editor\n' |\   join -o2.2 -
> > > beehive/stats/Sisyphus-x86_64/ufb-1 |\   grep 'pygobject.*devel'
> > > python3-module-pygobject3-devel python3-module-pygobject3-devel
> > > python3-module-pygobject3-devel
> > 
> > Ну, это, наверное, потому, что всё остальное требуемое для сборки -
> > - python3-based, apt иногда делает что-то разумное и логичное.
> 
> Т.е. нам просто повезло, что по зависимости на pkgconfig(pygobject-
> 3.0) вытянулся python3-module-pygobject3-devel, а не python-module-
> pygobject3-devel.

Может и нет, у python-module-pygobject3-devel "Conflicts: python3-
module-pygobject3-devel > 3.37" и версия меньше, поскольку 3.36.x --
последняя ветка с поддержкой Python 2.


-- 
Yuri N. Sedunov




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  2020-11-15 13:14             ` Yuri Sedunov
@ 2020-11-15 14:52               ` Dmitry V. Levin
  0 siblings, 0 replies; 18+ messages in thread
From: Dmitry V. Levin @ 2020-11-15 14:52 UTC (permalink / raw)
  To: ALT Devel discussion list

On Sun, Nov 15, 2020 at 04:14:33PM +0300, Yuri Sedunov wrote:
> В Вс, 15/11/2020 в 01:09 +0300, Dmitry V. Levin пишет:
> > On Sat, Nov 14, 2020 at 11:22:41PM +0300, Yuri Sedunov wrote:
> > > В Сб, 14/11/2020 в 22:04 +0300, Dmitry V. Levin пишет:
> > > > On Sat, Nov 14, 2020 at 08:02:46PM +0300, Yuri Sedunov wrote:
> > > > > В Сб, 14/11/2020 в 19:29 +0300, Dmitry V. Levin пишет:
> > > > > > On Sat, Nov 14, 2020 at 06:51:55PM +0300, Yuri Sedunov wrote:
> > > > > > > В Сб, 14/11/2020 в 17:59 +0300, Dmitry V. Levin пишет:
> > > > > > > > Hi,
> > > > > > > ...
> > > > > > > 
> > > > > > > > имена devel-пакетов вручную.
> > > > > > > > 
> > > > > > > 
> > > > > > > > python3-module-pygobject-devel    pkgconfig(pygobject-
> > > > > > > > 2.0)   ==2.28.6
> > > > > > > > python-module-pygobject-devel     pkgconfig(pygobject-
> > > > > > > > 2.0)   ==2.28.7
> > > > > > > > python-module-pygobject3-devel    pkgconfig(pygobject-
> > > > > > > > 3.0)   ==3.36.1
> > > > > > > > python3-module-pygobject3-devel   pkgconfig(pygobject-
> > > > > > > > 3.0)   ==3.38.0
> > > > > > > 
> > > > > > > Это всегда будут pygobject'ы второй и третьей версий, для
> > > > > > > python 2 python 3 каждый. Никаких проблем в указании
> > > > > > > конкретного *pygobject*-devel пакета в качестве сборочной
> > > > > > > зависимости никто не испытывает.
> > > > > > > 
> > > > > > > И только лишь python-module-pygtk-devel имеет
> > > > > > > автоматическую зависимость на pkgconfig(pygobject-2.0)
> > > > > > > кроме ручной на python-module-pygobject-devel.
> > > > > > > 
> > > > > > > С этим надо смириться.
> > > > > > 
> > > > > > Так, а есть ли тогда от этих pkgconfig(pygobject-2.0) и
> > > > > > pkgconfig(pygobject-3.0) хоть какая-нибудь польза?
> > > > > 
> > > > > Кроме PyGTK? -- да, бывают нужны. У тебя есть логи пересборки
> > > > > сизифа, их можно пошерстить.
> > > > 
> > > > python*-module-pygobject*-devel, конечно, присутствуют в
> > > > сборочной среде 74 пакетов, но по логам сборки не видно, нужны
> > > > были эти Provides или нет.
> > > 
> > > Видимо, надо тщательнее шерстить. Например, в mypaint среди флагов
> > > компиляции есть -I/usr/include/pygobject-3.0, что в логе сборки
> > > видно, и неспроста, в setup.py егоном есть следующий фрагмент:
> > > 
> > >     initial_deps = ["%s >= 1.6" % LIBMYPAINT]
> > >     remaining_deps = [
> > >         "pygobject-3.0",
> > >         "glib-2.0",
> > >         "libpng",
> > >         "lcms2",
> > >         "gtk+-3.0",
> > >         "mypaint-brushes-2.0",
> > >     ]
> > >     check_dependencies(initial_deps + remaining_deps)
> > 
> > Да, но setup.py не оперирует зависимостями пакетов, ему всё равно,
> > есть ли у pygobject-3.0.pc какой-нибудь Provides:
> > pkgconfig(pygobject-3.0.pc) или нет.
> 
> Неправильно понял, Подумалось, что ты хочешь вовсе лишить какие-то
> pygobject'ы pc-файлов.

Нет, конечно.  У pc-файлов и их Provides разные пространства имён: первые
видны только в установленной среде, вторые - во всём репозитории.

> Только у python-module-pygtk-devel есть зависимость на
> pkgconfig(pygobject-2.0).
> 
> Сделал тестовое задание, в котором вырезал у уходящих python-module-
> pygobject*-devel соответствующие Provides, а у python-module-pygtk-
> devel зависимость на pkgconfig(pygobject-2.0).
> 
> Устроит?

Да, вполне.

> > > > Поиск по всем спекам даёт такой результат:
> > > > 
> > > > $ git --git-dir=/people/specbot/public/specs.git grep
> > > > '^[^#]*pkgconfig(pygobject-[23]\.0)' @
> > > > @:a/avahi/avahi.spec:BuildRequires: python3-devel python3(dbus)
> > > > pkgconfig(pygobject-3.0) @:b/blueman/blueman.spec:BuildRequires:
> > > > pkgconfig(pygobject-3.0) @:m/mate-menu-
> > > > editor/mozo.spec:BuildRequires:
> > > > pkgconfig(libmate-menu) pkgconfig(pygobject-3.0)
> > > > 
> > > > Во всех трёх случаях без явного указания в спеках был каким-то
> > > > образом выбран python3-module-pygobject3-devel:
> > > > 
> > > > $ printf 'avahi\nblueman\nmate-menu-editor\n' |\   join -o2.2 -
> > > > beehive/stats/Sisyphus-x86_64/ufb-1 |\   grep 'pygobject.*devel'
> > > > python3-module-pygobject3-devel python3-module-pygobject3-devel
> > > > python3-module-pygobject3-devel
> > > 
> > > Ну, это, наверное, потому, что всё остальное требуемое для сборки -
> > > - python3-based, apt иногда делает что-то разумное и логичное.
> > 
> > Т.е. нам просто повезло, что по зависимости на pkgconfig(pygobject-
> > 3.0) вытянулся python3-module-pygobject3-devel, а не python-module-
> > pygobject3-devel.
> 
> Может и нет, у python-module-pygobject3-devel "Conflicts: python3-
> module-pygobject3-devel > 3.37" и версия меньше, поскольку 3.36.x --
> последняя ветка с поддержкой Python 2.

К тому же ещё версия pkgconfig(pygobject-3.0) у
python3-module-pygobject3-devel выше, а имя пакета лексикографически
круче, чем у python-module-pygobject3-devel.  Так что у apt всё-таки
могли бы быть логичные основания сделать этот выбор.


-- 
ldv


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  2020-11-14 14:59 [devel] I: duplicate pkgconfig() provides Dmitry V. Levin
  2020-11-14 15:51 ` Yuri Sedunov
@ 2020-11-16  9:33 ` Vitaly Lipatov
    1 sibling, 1 reply; 18+ messages in thread
From: Vitaly Lipatov @ 2020-11-16  9:33 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Dmitry V. Levin писал 14.11.20 17:59:
...
> Обратите внимание на часть этой таблицы:
> Package:                        Provide Name:              Provide 
> Version:
...
> libglusterfs7-devel             pkgconfig(libgfchangelog)  =0.0.1
> libglusterfs8-devel             pkgconfig(libgfchangelog)  =0.0.1
Эта часть таблицы отражает мнение мантейнера, что нет разницы, с какой 
из одинаковых версий собираться.
...
> Я не вижу другого выхода, кроме как запретить дублирование pkgconfig 
> provides.
Помимо устранения ошибок и путаницы это приведёт к тому, что у нас будет 
меньше разных версий одной библиотеки в репозитории (особенно для тех 
апстримов, которые не позаботились разграничить принципиально разные 
версии).

-- 
С уважением,
Виталий Липатов,
ALT Linux Team


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  @ 2020-12-03  9:54     ` Aleksei Nikiforov
    2020-12-04  9:59       ` Vladislav Zavjalov
  0 siblings, 2 replies; 18+ messages in thread
From: Aleksei Nikiforov @ 2020-12-03  9:54 UTC (permalink / raw)
  To: devel

03.12.2020 12:31, Andrey Cherepanov пишет:
> 16.11.2020 12:33, Vitaly Lipatov пишет:
>> Dmitry V. Levin писал 14.11.20 17:59:
>> ...
>>> Обратите внимание на часть этой таблицы:
>>> Package:                        Provide Name: Provide Version:
>> ...
>>> libglusterfs7-devel pkgconfig(libgfchangelog)  =0.0.1
>>> libglusterfs8-devel             pkgconfig(libgfchangelog) =0.0.1
>> Эта часть таблицы отражает мнение мантейнера, что нет разницы, с какой 
>> из одинаковых версий собираться.
>> ...
>>> Я не вижу другого выхода, кроме как запретить дублирование pkgconfig 
>>> provides.
>> Помимо устранения ошибок и путаницы это приведёт к тому, что у нас 
>> будет меньше разных версий одной библиотеки в репозитории (особенно 
>> для тех апстримов, которые не позаботились разграничить принципиально 
>> разные версии).
>>
> Что делать с исправлением libnetcdf11?
> 
> NEW duplicate provides detected:
>   Provide:                  Providers:
>   libnetcdf.so.11           libnetcdf11-mpi libnetcdf11-seq
>   libnetcdf.so.11()(64bit)  libnetcdf11-mpi libnetcdf11-seq
>   pkgconfig(netcdf)         libnetcdf-devel libnetcdf-mpi-devel
>          old duplicate provides resolved:
>   Provide:                  Providers:
>   libnetcdf.so.11           libnetcdf11-mpi libnetcdf11-seq
>   libnetcdf.so.11()(64bit)  libnetcdf11-mpi libnetcdf11-seq
>   pkgconfig(netcdf)         libnetcdf-devel libnetcdf-mpi-devel
> 
> 

Я думаю, стоит попробовать узнать нужны ли до сих пор mpi версии 
кому-либо. Если нет, то возможно стоит их просто удалить. Вот если 
mpi-версии нужны или удалять не хочется, то это уже будет вопрос посложнее.

> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
> 



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  @ 2020-12-03 11:52         ` Dmitry V. Levin
    0 siblings, 1 reply; 18+ messages in thread
From: Dmitry V. Levin @ 2020-12-03 11:52 UTC (permalink / raw)
  To: ALT Devel discussion list

On Thu, Dec 03, 2020 at 02:50:08PM +0300, Andrey Cherepanov wrote:
> 03.12.2020 12:54, Aleksei Nikiforov пишет:
> > 03.12.2020 12:31, Andrey Cherepanov пишет:
> >> 16.11.2020 12:33, Vitaly Lipatov пишет:
> >>> Dmitry V. Levin писал 14.11.20 17:59:
> >>> ...
> >>>> Обратите внимание на часть этой таблицы:
> >>>> Package:                        Provide Name: Provide Version:
> >>> ...
> >>>> libglusterfs7-devel pkgconfig(libgfchangelog)  =0.0.1
> >>>> libglusterfs8-devel             pkgconfig(libgfchangelog) =0.0.1
> >>> Эта часть таблицы отражает мнение мантейнера, что нет разницы, с 
> >>> какой из одинаковых версий собираться.
> >>> ...
> >>>> Я не вижу другого выхода, кроме как запретить дублирование 
> >>>> pkgconfig provides.
> >>> Помимо устранения ошибок и путаницы это приведёт к тому, что у нас 
> >>> будет меньше разных версий одной библиотеки в репозитории (особенно 
> >>> для тех апстримов, которые не позаботились разграничить 
> >>> принципиально разные версии).
> >>>
> >> Что делать с исправлением libnetcdf11?
> >>
> >> NEW duplicate provides detected:
> >>   Provide:                  Providers:
> >>   libnetcdf.so.11           libnetcdf11-mpi libnetcdf11-seq
> >>   libnetcdf.so.11()(64bit)  libnetcdf11-mpi libnetcdf11-seq
> >>   pkgconfig(netcdf)         libnetcdf-devel libnetcdf-mpi-devel
> >>          old duplicate provides resolved:
> >>   Provide:                  Providers:
> >>   libnetcdf.so.11           libnetcdf11-mpi libnetcdf11-seq
> >>   libnetcdf.so.11()(64bit)  libnetcdf11-mpi libnetcdf11-seq
> >>   pkgconfig(netcdf)         libnetcdf-devel libnetcdf-mpi-devel
> >>
> >>
> >
> > Я думаю, стоит попробовать узнать нужны ли до сих пор mpi версии 
> > кому-либо. Если нет, то возможно стоит их просто удалить. Вот если 
> > mpi-версии нужны или удалять не хочется, то это уже будет вопрос 
> > посложнее.
> >
> ACLs of affected packages (5):
>   exodusii              darktemplar @everybody
>   libcf-mpi             darktemplar @everybody
>   libnetcdf_c++-4-mpi   darktemplar @everybody
>   libnetcdf_c++4-1-mpi  darktemplar @everybody
>   libnetcdff6-mpi       darktemplar @everybody
> 
> Нужны. Я бы хотел услышать мнение ldv@.

Всему этому -mpi нужны мантейнеры, без них не нужны.


-- 
ldv


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  @ 2020-12-03 12:54             ` Aleksei Nikiforov
  2020-12-03 13:14               ` Dmitry V. Levin
  0 siblings, 1 reply; 18+ messages in thread
From: Aleksei Nikiforov @ 2020-12-03 12:54 UTC (permalink / raw)
  To: devel

03.12.2020 15:00, Andrey Cherepanov пишет:
> 03.12.2020 14:52, Dmitry V. Levin пишет:
>> On Thu, Dec 03, 2020 at 02:50:08PM +0300, Andrey Cherepanov wrote:
>>> 03.12.2020 12:54, Aleksei Nikiforov пишет:
>>>> 03.12.2020 12:31, Andrey Cherepanov пишет:
>>>>> 16.11.2020 12:33, Vitaly Lipatov пишет:
>>>>>> Dmitry V. Levin писал 14.11.20 17:59:
>>>>>> ...
>>>>>>> Обратите внимание на часть этой таблицы:
>>>>>>> Package:                        Provide Name: Provide Version:
>>>>>> ...
>>>>>>> libglusterfs7-devel pkgconfig(libgfchangelog)  =0.0.1
>>>>>>> libglusterfs8-devel             pkgconfig(libgfchangelog) =0.0.1
>>>>>> Эта часть таблицы отражает мнение мантейнера, что нет разницы, с
>>>>>> какой из одинаковых версий собираться.
>>>>>> ...
>>>>>>> Я не вижу другого выхода, кроме как запретить дублирование
>>>>>>> pkgconfig provides.
>>>>>> Помимо устранения ошибок и путаницы это приведёт к тому, что у нас
>>>>>> будет меньше разных версий одной библиотеки в репозитории (особенно
>>>>>> для тех апстримов, которые не позаботились разграничить
>>>>>> принципиально разные версии).
>>>>>>
>>>>> Что делать с исправлением libnetcdf11?
>>>>>
>>>>> NEW duplicate provides detected:
>>>>>    Provide:                  Providers:
>>>>>    libnetcdf.so.11           libnetcdf11-mpi libnetcdf11-seq
>>>>>    libnetcdf.so.11()(64bit)  libnetcdf11-mpi libnetcdf11-seq
>>>>>    pkgconfig(netcdf)         libnetcdf-devel libnetcdf-mpi-devel
>>>>>           old duplicate provides resolved:
>>>>>    Provide:                  Providers:
>>>>>    libnetcdf.so.11           libnetcdf11-mpi libnetcdf11-seq
>>>>>    libnetcdf.so.11()(64bit)  libnetcdf11-mpi libnetcdf11-seq
>>>>>    pkgconfig(netcdf)         libnetcdf-devel libnetcdf-mpi-devel
>>>>>
>>>>>
>>>> Я думаю, стоит попробовать узнать нужны ли до сих пор mpi версии
>>>> кому-либо. Если нет, то возможно стоит их просто удалить. Вот если
>>>> mpi-версии нужны или удалять не хочется, то это уже будет вопрос
>>>> посложнее.
>>>>
>>> ACLs of affected packages (5):
>>>    exodusii              darktemplar @everybody
>>>    libcf-mpi             darktemplar @everybody
>>>    libnetcdf_c++-4-mpi   darktemplar @everybody
>>>    libnetcdf_c++4-1-mpi  darktemplar @everybody
>>>    libnetcdff6-mpi       darktemplar @everybody
>>>
>>> Нужны. Я бы хотел услышать мнение ldv@.
>> Всему этому -mpi нужны мантейнеры, без них не нужны.
>>
>>
> Теперь хотелось бы услышать мнение darktemplar@, как автора пакетов, 
> которым нужен mpi.
> 
> 

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

Позволю себе процитировать:

https://lists.altlinux.org/pipermail/devel/2020-September/211797.html

"Ещё у меня есть пожелание ко всем, кто предлагает изменения структуры
репозитория, оценивать сложность предлагаемых изменений, а также иметь
в виду, что любые изменения должны обеспечивать полную обратную
совместимость."

В данном случае обратной совместимости я не вижу. Система не только 
предотвращает появление новых проблем такого класса, но и блокирует 
любую работу с пакетами, в которых проблема такого класса уже 
существует, до её исправления.

> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
> 



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  2020-12-03 12:54             ` Aleksei Nikiforov
@ 2020-12-03 13:14               ` Dmitry V. Levin
  0 siblings, 0 replies; 18+ messages in thread
From: Dmitry V. Levin @ 2020-12-03 13:14 UTC (permalink / raw)
  To: ALT Devel discussion list

On Thu, Dec 03, 2020 at 03:54:25PM +0300, Aleksei Nikiforov wrote:
> 03.12.2020 15:00, Andrey Cherepanov пишет:
> > 03.12.2020 14:52, Dmitry V. Levin пишет:
> >> On Thu, Dec 03, 2020 at 02:50:08PM +0300, Andrey Cherepanov wrote:
> >>> 03.12.2020 12:54, Aleksei Nikiforov пишет:
> >>>> 03.12.2020 12:31, Andrey Cherepanov пишет:
> >>>>> 16.11.2020 12:33, Vitaly Lipatov пишет:
> >>>>>> Dmitry V. Levin писал 14.11.20 17:59:
> >>>>>> ...
> >>>>>>> Обратите внимание на часть этой таблицы:
> >>>>>>> Package:                        Provide Name: Provide Version:
> >>>>>> ...
> >>>>>>> libglusterfs7-devel pkgconfig(libgfchangelog)  =0.0.1
> >>>>>>> libglusterfs8-devel             pkgconfig(libgfchangelog) =0.0.1
> >>>>>> Эта часть таблицы отражает мнение мантейнера, что нет разницы, с
> >>>>>> какой из одинаковых версий собираться.
> >>>>>> ...
> >>>>>>> Я не вижу другого выхода, кроме как запретить дублирование
> >>>>>>> pkgconfig provides.
> >>>>>> Помимо устранения ошибок и путаницы это приведёт к тому, что у нас
> >>>>>> будет меньше разных версий одной библиотеки в репозитории (особенно
> >>>>>> для тех апстримов, которые не позаботились разграничить
> >>>>>> принципиально разные версии).
> >>>>>>
> >>>>> Что делать с исправлением libnetcdf11?
> >>>>>
> >>>>> NEW duplicate provides detected:
> >>>>>    Provide:                  Providers:
> >>>>>    libnetcdf.so.11           libnetcdf11-mpi libnetcdf11-seq
> >>>>>    libnetcdf.so.11()(64bit)  libnetcdf11-mpi libnetcdf11-seq
> >>>>>    pkgconfig(netcdf)         libnetcdf-devel libnetcdf-mpi-devel
> >>>>>           old duplicate provides resolved:
> >>>>>    Provide:                  Providers:
> >>>>>    libnetcdf.so.11           libnetcdf11-mpi libnetcdf11-seq
> >>>>>    libnetcdf.so.11()(64bit)  libnetcdf11-mpi libnetcdf11-seq
> >>>>>    pkgconfig(netcdf)         libnetcdf-devel libnetcdf-mpi-devel
> >>>>>
> >>>>>
> >>>> Я думаю, стоит попробовать узнать нужны ли до сих пор mpi версии
> >>>> кому-либо. Если нет, то возможно стоит их просто удалить. Вот если
> >>>> mpi-версии нужны или удалять не хочется, то это уже будет вопрос
> >>>> посложнее.
> >>>>
> >>> ACLs of affected packages (5):
> >>>    exodusii              darktemplar @everybody
> >>>    libcf-mpi             darktemplar @everybody
> >>>    libnetcdf_c++-4-mpi   darktemplar @everybody
> >>>    libnetcdf_c++4-1-mpi  darktemplar @everybody
> >>>    libnetcdff6-mpi       darktemplar @everybody
> >>>
> >>> Нужны. Я бы хотел услышать мнение ldv@.
> >> Всему этому -mpi нужны мантейнеры, без них не нужны.
> >>
> >>
> > Теперь хотелось бы услышать мнение darktemplar@, как автора пакетов, 
> > которым нужен mpi.
> 
> Своё мнение я написал уже выше. Вы написали "нужны". ldv@ ввёл эту 
> систему, причём даже не сделав исключения для уже существующих проблем, 
> и без предложений что с этим делать в случае альтернатив. Пусть 
> предложит теперь решение, или же отключит непроработанную систему.

Извините, мне сейчас некогда.
Я считаю, что сложившаяся конфигурация с libnetcdf.so.11()(64bit) просто нерабочая:
альтернативные провайдеры soname не работают, и у нас их больше не должно быть.


-- 
ldv


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  2020-12-03  9:54     ` Aleksei Nikiforov
  @ 2020-12-04  9:59       ` Vladislav Zavjalov
  2020-12-04 10:40         ` Andrey Savchenko
  1 sibling, 1 reply; 18+ messages in thread
From: Vladislav Zavjalov @ 2020-12-04  9:59 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Thu, Dec 03, 2020 at 12:54:31PM +0300, Aleksei Nikiforov wrote:
> Я думаю, стоит попробовать узнать нужны ли до сих пор mpi версии 
> кому-либо. Если нет, то возможно стоит их просто удалить. Вот если 
> mpi-версии нужны или удалять не хочется, то это уже будет вопрос посложнее.

Прошу прощения за очень медленный подход к blas/lapack. Но я по-прежнему
про него думаю и что-то пытаюсь иногда делать. Моя текущая идея - собирать
все варианты библиотек (reference, optimized, threads, mpi) из одного пакета
openblas. В нем есть все необходимое для этого, и так будет меньше шансов, что
интерфейсы разъедутся. А переключать надо, видимо, альтернативами (у меня,
впрочем, нет опыта изготовления альернатив, и до них я пока не дошел).

Вопрос, возможна ли такая схема в связи с последними новшествами?

Если придумается хороший ответ, то он подойдет и для других пакетов
с mpi-альтернативами.



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  2020-12-04  9:59       ` Vladislav Zavjalov
@ 2020-12-04 10:40         ` Andrey Savchenko
  2020-12-04 11:05           ` Vladislav Zavjalov
  0 siblings, 1 reply; 18+ messages in thread
From: Andrey Savchenko @ 2020-12-04 10:40 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Fri, 4 Dec 2020 12:59:31 +0300 Vladislav Zavjalov wrote:
> On Thu, Dec 03, 2020 at 12:54:31PM +0300, Aleksei Nikiforov wrote:
> > Я думаю, стоит попробовать узнать нужны ли до сих пор mpi версии 
> > кому-либо. Если нет, то возможно стоит их просто удалить. Вот если 
> > mpi-версии нужны или удалять не хочется, то это уже будет вопрос посложнее.
> 
> Прошу прощения за очень медленный подход к blas/lapack. Но я по-прежнему
> про него думаю и что-то пытаюсь иногда делать. Моя текущая идея - собирать
> все варианты библиотек (reference, optimized, threads, mpi) из одного пакета
> openblas. В нем есть все необходимое для этого, и так будет меньше шансов, что
> интерфейсы разъедутся. А переключать надо, видимо, альтернативами (у меня,
> впрочем, нет опыта изготовления альернатив, и до них я пока не дошел).
> 
> Вопрос, возможна ли такая схема в связи с последними новшествами?
> 
> Если придумается хороший ответ, то он подойдет и для других пакетов
> с mpi-альтернативами.

С MPI так просто не выйдет. Если по BLAS/LAPACK ещё есть стандарты,
которые позволяют делать переключение реализации без пересборки, то
MPI можно собрать только с конкретной версией конкретной
реализации, даже между соседними версиями они уже несовместимы. Это
большая проблема :(

Я вижу только способ по аналогии с python2/3 собирать пакеты
в разных подпакетах с разными MPI.

Best regards,
Andrew Savchenko

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  2020-12-04 10:40         ` Andrey Savchenko
@ 2020-12-04 11:05           ` Vladislav Zavjalov
  2020-12-04 11:39             ` Sergey V Turchin
  0 siblings, 1 reply; 18+ messages in thread
From: Vladislav Zavjalov @ 2020-12-04 11:05 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Fri, Dec 04, 2020 at 01:40:17PM +0300, Andrey Savchenko wrote:
> On Fri, 4 Dec 2020 12:59:31 +0300 Vladislav Zavjalov wrote:
> > On Thu, Dec 03, 2020 at 12:54:31PM +0300, Aleksei Nikiforov wrote:
> > > Я думаю, стоит попробовать узнать нужны ли до сих пор mpi версии 
> > > кому-либо. Если нет, то возможно стоит их просто удалить. Вот если 
> > > mpi-версии нужны или удалять не хочется, то это уже будет вопрос посложнее.
> > 
> > Прошу прощения за очень медленный подход к blas/lapack. Но я по-прежнему
> > про него думаю и что-то пытаюсь иногда делать. Моя текущая идея - собирать
> > все варианты библиотек (reference, optimized, threads, mpi) из одного пакета
> > openblas. В нем есть все необходимое для этого, и так будет меньше шансов, что
> > интерфейсы разъедутся. А переключать надо, видимо, альтернативами (у меня,
> > впрочем, нет опыта изготовления альернатив, и до них я пока не дошел).
> > 
> > Вопрос, возможна ли такая схема в связи с последними новшествами?
> > 
> > Если придумается хороший ответ, то он подойдет и для других пакетов
> > с mpi-альтернативами.
> 
> С MPI так просто не выйдет. Если по BLAS/LAPACK ещё есть стандарты,
> которые позволяют делать переключение реализации без пересборки, то
> MPI можно собрать только с конкретной версией конкретной
> реализации, даже между соседними версиями они уже несовместимы. Это
> большая проблема :(
> 
> Я вижу только способ по аналогии с python2/3 собирать пакеты
> в разных подпакетах с разными MPI.

Я бы сказал, что мой вопрос остается в силе,
Можно ли собрать из одного src.rpm пакеты libblas-ref, libblas-threads,
libblas-mpi (с какой-то из реализаций), с библиотеками в своих директориях
и альтернативами для их переключения?
Как это будет совмещаться с борьбой с duplicate provides?

Другие библиотеки и программы можно собирать точно так же, если все
нужные для сборки пакеты и реализации можно поставить одновременно
и переключаться между ними в процессе сборки...

С другой стороны, тут обсуждается, нужна ли нам хоть одна mpi.
Может быть, стоит оставить не больше одной, а другие предлагать сделать
желающим, в виде "карманов".


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] I: duplicate pkgconfig() provides
  2020-12-04 11:05           ` Vladislav Zavjalov
@ 2020-12-04 11:39             ` Sergey V Turchin
  0 siblings, 0 replies; 18+ messages in thread
From: Sergey V Turchin @ 2020-12-04 11:39 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Friday, 4 December 2020 14:05:44 MSK Vladislav Zavjalov wrote:
> On Fri, Dec 04, 2020 at 01:40:17PM +0300, Andrey Savchenko wrote:
> > On Fri, 4 Dec 2020 12:59:31 +0300 Vladislav Zavjalov wrote:
> > > On Thu, Dec 03, 2020 at 12:54:31PM +0300, Aleksei Nikiforov wrote:
> > > > Я думаю, стоит попробовать узнать нужны ли до сих пор mpi версии
> > > > кому-либо. Если нет, то возможно стоит их просто удалить. Вот если
> > > > mpi-версии нужны или удалять не хочется, то это уже будет вопрос
> > > > посложнее.
> > > 
> > > Прошу прощения за очень медленный подход к blas/lapack. Но я по-прежнему
> > > про него думаю и что-то пытаюсь иногда делать. Моя текущая идея -
> > > собирать
> > > все варианты библиотек (reference, optimized, threads, mpi) из одного
> > > пакета openblas. В нем есть все необходимое для этого, и так будет
> > > меньше шансов, что интерфейсы разъедутся. А переключать надо, видимо,
> > > альтернативами (у меня, впрочем, нет опыта изготовления альернатив, и
> > > до них я пока не дошел).
> > > 
> > > Вопрос, возможна ли такая схема в связи с последними новшествами?
> > > 
> > > Если придумается хороший ответ, то он подойдет и для других пакетов
> > > с mpi-альтернативами.
> > 
> > С MPI так просто не выйдет. Если по BLAS/LAPACK ещё есть стандарты,
> > которые позволяют делать переключение реализации без пересборки, то
> > MPI можно собрать только с конкретной версией конкретной
> > реализации, даже между соседними версиями они уже несовместимы. Это
> > большая проблема :(
> > 
> > Я вижу только способ по аналогии с python2/3 собирать пакеты
> > в разных подпакетах с разными MPI.
> 
> Я бы сказал, что мой вопрос остается в силе,
> Можно ли собрать из одного src.rpm пакеты libblas-ref, libblas-threads,
> libblas-mpi (с какой-то из реализаций), с библиотеками в своих директориях
> и альтернативами для их переключения?
> Как это будет совмещаться с борьбой с duplicate provides?
Если в %_libdir будет только libblas-ref, -devel-пакет будет только один и 
остальные libblas-* будут альтернативами переключать /etc/ld.so.conf.d/
libblas.conf, то конфликтов не будет.

> Другие библиотеки и программы можно собирать точно так же, если все
> нужные для сборки пакеты и реализации можно поставить одновременно
> и переключаться между ними в процессе сборки...
> 
> С другой стороны, тут обсуждается, нужна ли нам хоть одна mpi.
> Может быть, стоит оставить не больше одной, а другие предлагать сделать
> желающим, в виде "карманов".
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel


-- 
Regards, Sergey.

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2020-12-04 11:39 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-14 14:59 [devel] I: duplicate pkgconfig() provides Dmitry V. Levin
2020-11-14 15:51 ` Yuri Sedunov
2020-11-14 16:29   ` Dmitry V. Levin
2020-11-14 17:02     ` Yuri Sedunov
2020-11-14 19:04       ` Dmitry V. Levin
2020-11-14 20:22         ` Yuri Sedunov
2020-11-14 22:09           ` Dmitry V. Levin
2020-11-15 13:14             ` Yuri Sedunov
2020-11-15 14:52               ` Dmitry V. Levin
2020-11-16  9:33 ` Vitaly Lipatov
2020-12-03  9:54     ` Aleksei Nikiforov
2020-12-03 11:52         ` Dmitry V. Levin
2020-12-03 12:54             ` Aleksei Nikiforov
2020-12-03 13:14               ` Dmitry V. Levin
2020-12-04  9:59       ` Vladislav Zavjalov
2020-12-04 10:40         ` Andrey Savchenko
2020-12-04 11:05           ` Vladislav Zavjalov
2020-12-04 11:39             ` Sergey V Turchin

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