Bug 39222 - Ошибки упаковки python3-module-pandas
Summary: Ошибки упаковки python3-module-pandas
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: python3-module-pandas (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Anton Farygin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-08 07:56 MSK by Vitaly Lipatov
Modified: 2020-11-10 13:32 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Lipatov 2020-11-08 07:56:38 MSK
При сборке:
warning: File listed twice: /usr/lib64/python3/site-packages/pandas/tests/...

Зависимости пакета python3-module-pandas:
python3-module-pandas-tests = 1.1.1-alt4:sisyphus+261146.100.1.2

В частности, это из-за хитрой конструкции к
/usr/lib64/python3/site-packages/pandas/util/__init__.py
Comment 1 Aleksei Nikiforov 2020-11-09 18:43:46 MSK
(In reply to Vitaly Lipatov from comment #0)
> При сборке:
> warning: File listed twice: /usr/lib64/python3/site-packages/pandas/tests/...
> 

Это не является проблемой само по себе. Если есть конкретные файлы, которые должны быть упакованы в подпакет python3-module-pandas-tests, а упакованы в python3-module-pandas, или упакованы в оба пакета, прошу сообщить.

Скорее всего это вызвано следующими конструкциями из секции %files tests:
%python3_sitelibdir/*/*/test* 
%python3_sitelibdir/*/*/*/test*


> Зависимости пакета python3-module-pandas:
> python3-module-pandas-tests = 1.1.1-alt4:sisyphus+261146.100.1.2
> 

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

> В частности, это из-за хитрой конструкции к
> /usr/lib64/python3/site-packages/pandas/util/__init__.py

Как раз эта "хитрая конструкция" к появлению зависимости выше не должна приводить, если я правильно представляю как работает автогенератор.
Comment 2 Vitaly Lipatov 2020-11-09 20:42:52 MSK
(Ответ для Aleksei Nikiforov на комментарий #1)
> (In reply to Vitaly Lipatov from comment #0)
> > При сборке:
> > warning: File listed twice: /usr/lib64/python3/site-packages/pandas/tests/...
> > 
> 
> Это не является проблемой само по себе. Если есть конкретные файлы, которые
> должны быть упакованы в подпакет python3-module-pandas-tests, а упакованы в
> python3-module-pandas, или упакованы в оба пакета, прошу сообщить.
Но лучше бы избежать.

> Скорее всего это вызвано следующими конструкциями из секции %files tests:
> %python3_sitelibdir/*/*/test* 
> %python3_sitelibdir/*/*/*/test*
Безусловно.

 
> > Зависимости пакета python3-module-pandas:
> > python3-module-pandas-tests = 1.1.1-alt4:sisyphus+261146.100.1.2
> > 
> 
> Да, действительно есть такая зависимость. Попробую посмотреть когда будет
> возможность что эту зависимость вызывает и можно ли как-нибудь малой кровью
> прекратить её автогенерацию.
> 
> > В частности, это из-за хитрой конструкции к
> > /usr/lib64/python3/site-packages/pandas/util/__init__.py
> 
> Как раз эта "хитрая конструкция" к появлению зависимости выше не должна
> приводить, если я правильно представляю как работает автогенератор.
Да, действительно. Это я плохо представляю, как работает автогенератор.
$ echo /usr/lib64/python3/site-packages/pandas/util/__init__.py | /usr/lib/rpm/python3.req 
python3(pandas) < 0

Собрав без tests-подпакета, получил при установке
The following packages have unmet dependencies:
  python3-module-pandas: Depends: python3(pandas.testing) (< 0)
                         Depends: python3(pandas.util._tester) (< 0)

Оказывается, всё ещё проще — они импортируют тесты прямо из корневого __init__.py :)
$ cd /usr/lib64/python3/site-packages/pandas/
[lav@builder64 pandas]$ grep -R pandas.testing *
__init__.py:import pandas.testing

[lav@builder64 pandas]$ grep -R pandas.util._tester
__init__.py:from pandas.util._tester import test
Comment 3 Repository Robot 2020-11-09 22:10:07 MSK
python3-module-pandas-1.1.1-alt5 -> sisyphus:

 Mon Nov 09 2020 Aleksei Nikiforov <darktemplar@altlinux> 1.1.1-alt5
 - Removed dependency from python3-module-pandas to python3-module-pandas-tests (Closes: #39222).
Comment 4 Aleksei Nikiforov 2020-11-10 10:56:17 MSK
(In reply to Vitaly Lipatov from comment #2)
> (Ответ для Aleksei Nikiforov на комментарий #1)
> > (In reply to Vitaly Lipatov from comment #0)
> > > При сборке:
> > > warning: File listed twice: /usr/lib64/python3/site-packages/pandas/tests/...
> > > 
> > 
> > Это не является проблемой само по себе. Если есть конкретные файлы, которые
> > должны быть упакованы в подпакет python3-module-pandas-tests, а упакованы в
> > python3-module-pandas, или упакованы в оба пакета, прошу сообщить.
> Но лучше бы избежать.
> 

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

> > Скорее всего это вызвано следующими конструкциями из секции %files tests:
> > %python3_sitelibdir/*/*/test* 
> > %python3_sitelibdir/*/*/*/test*
> Безусловно.
> 
>  
> > > Зависимости пакета python3-module-pandas:
> > > python3-module-pandas-tests = 1.1.1-alt4:sisyphus+261146.100.1.2
> > > 
> > 
> > Да, действительно есть такая зависимость. Попробую посмотреть когда будет
> > возможность что эту зависимость вызывает и можно ли как-нибудь малой кровью
> > прекратить её автогенерацию.
> > 
> > > В частности, это из-за хитрой конструкции к
> > > /usr/lib64/python3/site-packages/pandas/util/__init__.py
> > 
> > Как раз эта "хитрая конструкция" к появлению зависимости выше не должна
> > приводить, если я правильно представляю как работает автогенератор.
> Да, действительно. Это я плохо представляю, как работает автогенератор.
> $ echo /usr/lib64/python3/site-packages/pandas/util/__init__.py |
> /usr/lib/rpm/python3.req 
> python3(pandas) < 0
> 
> Собрав без tests-подпакета, получил при установке
> The following packages have unmet dependencies:
>   python3-module-pandas: Depends: python3(pandas.testing) (< 0)
>                          Depends: python3(pandas.util._tester) (< 0)
> 
> Оказывается, всё ещё проще — они импортируют тесты прямо из корневого
> __init__.py :)
> $ cd /usr/lib64/python3/site-packages/pandas/
> [lav@builder64 pandas]$ grep -R pandas.testing *
> __init__.py:import pandas.testing
> 
> [lav@builder64 pandas]$ grep -R pandas.util._tester
> __init__.py:from pandas.util._tester import test

Да, спасибо. Заметил тоже самое и уже поправил. Зависимости на python3-module-pandas-tests у пакета python3-module-pandas больше быть не должно.
Comment 5 Grigory Ustinov 2020-11-10 13:22:47 MSK
Теперь не пересобирается python3-module-openpyxl.
Comment 6 Aleksei Nikiforov 2020-11-10 13:32:22 MSK
(In reply to Grigory Ustinov from comment #5)
> Теперь не пересобирается python3-module-openpyxl.

Это поправимо. Должно быть достаточно добавить сборочную зависимость на python3-module-pandas-tests. Если в этом есть необходимость, я могу заняться этим, но в таком случае прошу повесить именно на меня новый баг про это.