Bug 41018 - Добавить в список компонент каждого репозитория source пакеты
Summary: Добавить в список компонент каждого репозитория source пакеты
Status: CLOSED FIXED
Alias: None
Product: Infrastructure
Classification: Infrastructure
Component: bugzilla.altlinux.org (show other bugs)
Version: unspecified
Hardware: x86_64 Linux
: P5 normal
Assignee: Олег Соловьев
QA Contact: Andrey Cherepanov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-09-28 11:00 MSK by Anton Farygin
Modified: 2021-10-21 11:57 MSK (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Farygin 2021-09-28 11:00:45 MSK
Сейчас ошибку можно повесить только на бинарный пакет (по имени). Но нет, например, возможности повесить ошибку на исходный пакет.
А это нужно в некоторых случаях, когда или невозможно определить имя бинарного пакета, или бинарные пакеты содержат в своём имени версию.

Предлагаю добавить исходные пакеты в списки компонент.
Comment 1 Anton Farygin 2021-09-28 11:11:21 MSK
Сейчас в Sisyphus 1031 пакет, в котором из исходного пакета не собирается ни один одноимённый бинарный.
Comment 2 Dmitry V. Levin 2021-09-28 12:07:07 MSK
$ comm -23 <(cut -f1 Sisyphus/files/list/src.list |sort -u) <(cut -f1 Sisyphus/files/list/bin.list |sort -u) |wc -l
1025

1025 != 1031, но близко.
Comment 3 Anton Farygin 2021-09-28 12:46:00 MSK
Я нашёл ошибку у себя в базе, но и у тебя в join не всё гладко:
Посмотри, например, пакеты (исходные) libctl5 и libctl.

я джойнюсь не по имени пакета, а по хешу его содержимого.
Comment 4 Dmitry V. Levin 2021-09-28 12:56:00 MSK
(In reply to Anton Farygin from comment #3)
> Я нашёл ошибку у себя в базе, но и у тебя в join не всё гладко:
> Посмотри, например, пакеты (исходные) libctl5 и libctl.

Из пакета libctl собирается не libctl, а libctl7, в то время как из пакета libctl5 собирается libctl?  В таком случае будет довольно сложно повесить баг на исходный пакет libctl.  Вообще не надо разводить такую путаницу.  Возможно, стоит запретить собирать бинарный пакет с именем, совпадающим с именем другого исходного пакета, и наоборот, собирать исходный пакет с именем, совпадающим с именем бинарного пакета, собранного из другого исходного.
Comment 5 Anton Farygin 2021-09-28 15:00:35 MSK
да, я тоже так подумал - попытка собрать из одного исходного пакета бинарный пакет с именем другого исходного пакета должна считаться за баг.

Как и попытка отправить в репозиторий исхоный пакет с именем, которое уже занято другим бинарным пакетом.
Comment 6 Олег Соловьев 2021-09-28 15:31:05 MSK
(Ответ для Anton Farygin на комментарий #5)
> да, я тоже так подумал - попытка собрать из одного исходного пакета бинарный
> пакет с именем другого исходного пакета должна считаться за баг.
> 
> Как и попытка отправить в репозиторий исхоный пакет с именем, которое уже
> занято другим бинарным пакетом.

А что делать пока в репозитории есть такие пакеты?
У компонента нет явных зависимостей на архитектуру или на что-нибудь ещё такое, что позволило бы отличить src от bin
Comment 7 Олег Соловьев 2021-09-28 15:32:51 MSK
Например, я смог на стенде перевесить багу хромиума на ppc и arm, хотя для таких архитектур хромиум не поддерживается.
Comment 8 Anton Farygin 2021-09-28 15:36:36 MSK
А в bugzilla можно делать покомпонентные архитектуры ?
если да, то тогда всё выглядит просто - надо добавить архитектуру source и для каждого пакета (бинарного и исходного) загружать информацию о поддерживаемых архитектурах.
Comment 9 Олег Соловьев 2021-09-28 16:23:07 MSK
(Ответ для Anton Farygin на комментарий #8)
> А в bugzilla можно делать покомпонентные архитектуры ?
> если да, то тогда всё выглядит просто - надо добавить архитектуру source и
> для каждого пакета (бинарного и исходного) загружать информацию о
> поддерживаемых архитектурах.

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

Кроме того, есть 62 компонента:
krb5
libirrlicht
telepathy-mission-control
grub
libdvdread
antlr
libnetcdf
libzeitgeist
portsentry
SimGear
libgtkhtml
qt5-phonon
installer
libwebp
libgphoto2
libosip2
libexo
falkon
asio
timetool
libaom
libsrtp
coin3d
telepathy-glib
maven2
perl
clanlib
libqhttpengine
dhcp
Mesa
libqtkeychain
boost
libgeotiff
beecrypt
libtorrent
libqtkeychain-qt5
libtiff
pari
openldap
libevent
doublecmd
tbb
libgcrypt
libspice-gtk
libmtp
libyaml
esound
mono
penguin-command
gimp-help
libarchive
openmotif
pam_mktemp
gnome-menus
libfm
nfs
hiredis
msv
SDL
ipython
libass
maxima

Бинарные пакеты с этими именами уже не существуют, но существуют src.rpm с такими именами и непонятно, что делать с такими компонентами.

На них были заведены баги, поэтому компоненты не удалялись.
Comment 10 Anton Farygin 2021-09-28 16:35:10 MSK
(Ответ для Олег Соловьев на комментарий #9)
> (Ответ для Anton Farygin на комментарий #8)
> > А в bugzilla можно делать покомпонентные архитектуры ?
> > если да, то тогда всё выглядит просто - надо добавить архитектуру source и
> > для каждого пакета (бинарного и исходного) загружать информацию о
> > поддерживаемых архитектурах.
> 
> Средствами багзиллы - нельзя.

понятно.

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

Я не вижу тут никаких проблем, т.к. таких пакетов крайне мало и уже после регистрации ошибки ментейнер решит, его это ошибка или нет.

> 
> Кроме того, есть 62 компонента:
<skip>
> 
> Бинарные пакеты с этими именами уже не существуют, но существуют src.rpm с
> такими именами и непонятно, что делать с такими компонентами.
> 
> На них были заведены баги, поэтому компоненты не удалялись.

А это даже хорошо и после загрузки src пакетов в компоненты встанет на свои места.
Comment 11 Олег Соловьев 2021-09-28 18:13:26 MSK
(Ответ для Dmitry V. Levin на комментарий #4) 
> Возможно, стоит запретить собирать бинарный пакет с именем, совпадающим с
> именем другого исходного пакета
> собирать исходный пакет с именем, совпадающим с именем бинарного пакета,
> собранного из другого исходного.

Таких пакетов как минимум 4:
srpm libctl5 ---> bin libctl
srpm clip ---> bin libclip
srpm mate-file-manager ---> bin mate-file-manager-extensions
srpm vtk ---> bin vtk-data
Comment 13 Anton Farygin 2021-09-29 13:52:41 MSK
Есть возражения против применения изменений ?
Comment 14 Олег Соловьев 2021-09-29 14:36:42 MSK
(Ответ для Anton Farygin на комментарий #13)
> Есть возражения против применения изменений ?

Пока что у меня есть, нашел багу.
Comment 15 Олег Соловьев 2021-09-29 15:05:47 MSK
(Ответ для Олег Соловьев на комментарий #14)
> (Ответ для Anton Farygin на комментарий #13)
> > Есть возражения против применения изменений ?
> 
> Пока что у меня есть, нашел багу.

Починено, сейчас актуален коммит 39f8a6d