Summary: | Ошибки упаковки python3-module-pandas | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Vitaly Lipatov <lav> |
Component: | python3-module-pandas | Assignee: | Anton Farygin <rider> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P5 | CC: | darktemplaralt, grenka, rider |
Version: | unstable | ||
Hardware: | x86_64 | ||
OS: | Linux |
Description
Vitaly Lipatov
2020-11-08 07:56:38 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 Как раз эта "хитрая конструкция" к появлению зависимости выше не должна приводить, если я правильно представляю как работает автогенератор. (Ответ для 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-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). (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 больше быть не должно. Теперь не пересобирается python3-module-openpyxl. (In reply to Grigory Ustinov from comment #5) > Теперь не пересобирается python3-module-openpyxl. Это поправимо. Должно быть достаточно добавить сборочную зависимость на python3-module-pandas-tests. Если в этом есть необходимость, я могу заняться этим, но в таком случае прошу повесить именно на меня новый баг про это. |