Собираю в Sisyphus пакет, который называется python3-module-annotated-doc. Но из-за того, что имя одного единственного rpm пакета заканчивается на -doc, получаю следующую ошибку: ===== [0:00:15.491] 0inputs+0outputs (0major+201798minor)pagefaults 0swaps [0:00:15.616] /.out/python3-module-annotated-doc-0.0.4-alt1.noarch.rpm: python3 module docs contain unrelated files: /usr/lib/python3/site-packages/annotated_doc /usr/lib/python3/site-packages/annotated_doc-0.0.4.dist-info [0:00:15.636] sisyphus_check: check-python ERROR: python modules packaging violation [0:00:15.861] hsh-rebuild: pkg.tar: sisyphus_check failed. ===== Строки, которые отвечают за эту проверку в sisyphus_checks ===== case "$rpm_name" in *-doc|*-docs) is_docs=1 ;; esac ... if [ -n "$pm_ver" ] && [ -n "$is_docs" ]; then bad_files="$(printf %s "$rpm_filenames" 2>/dev/null | grep -Ev "$docs_re" || [ $? -eq 1 ])" if [ -n "$bad_files" ]; then bad_files="$(oneliner "$bad_files" |fmt -w 128 |head -n1)" FileError "python$pm_ver module docs contain unrelated files: $bad_files" "$f" rc=1 fi fi =====
Какие есть соображения? Что предлагается сделать?
Такие подпакеты вообще есть: $ xzcat /ALT/Sisyphus/files/list/bin.list.xz | grep -Ee '^python.*-docs?[[:blank:]]' | wc -l 164 А что лучше делать, когда хочется основной пакет с таким именем, это вопрос.
(In reply to Ivan Zakharyaschev from comment #2) > Такие подпакеты вообще есть: > > $ xzcat /ALT/Sisyphus/files/list/bin.list.xz | grep -Ee > '^python.*-docs?[[:blank:]]' | wc -l > 164 > > А что лучше делать, когда хочется основной пакет с таким именем, это вопрос. Да и такие пакеты есть. По мне довольно странная проверка, которая ориентируется на название RPM пакета. Учитывая, что пакет может называться как угодно (annotated-doc тому доказательство), эту проверку лучше вообще убрать, либо сделать в качестве Warning. Можно, коненчо, попробовать сравнивать с названием SRC.RPM, но это уже создание новых костылей на базе старых.
(In reply to Alexandr Shashkin from comment #3) > По мне довольно странная проверка, которая ориентируется на название RPM > пакета. Учитывая, что пакет может называться как угодно (annotated-doc тому > доказательство), эту проверку лучше вообще убрать, либо сделать в качестве > Warning. Неубедительно.
(In reply to Dmitry V. Levin from comment #4) > (In reply to Alexandr Shashkin from comment #3) > > По мне довольно странная проверка, которая ориентируется на название RPM > > пакета. Учитывая, что пакет может называться как угодно (annotated-doc тому > > доказательство), эту проверку лучше вообще убрать, либо сделать в качестве > > Warning. > > Неубедительно. Неубедительно? upstream запросто может добавить в название своего приложения суффикс -doc (или любое другое слово), а мейнтейнеру теперь приходится придумывать, как обходить искусственно созданные проблемы? Я считаю, это опрометчиво, определять категорию пакета по его названию. Данная проверка опирается на эвристику, которая не всегда верна, а не на содержимое пакета. Название пакета — это метаинформация, которая может нести смысловую нагрузку, а может и нет. Пакет может быть потенциально переименован upstream-ом. Или может есть более убедительный нормативный документ, который требует определять содержимое пакета по его имени и на основании этого препятствовать его сборке в репозиторий? Я думаю для этой задачи очень подходит тэг Group. А как вы предлагаете мне эту проблему решить, учитывая mapping python имен из статьи https://www.altlinux.org/Management_of_Python_dependencies_sources#Mapping_project_names_to_distro_names? А кому-то помогла данная проверка, или её сделали ради того, чтобы сделать?