Python3/separation of build build-doc check

Материал из ALT Linux Wiki

(Различия между версиями)
Перейти к: навигация, поиск
м (Когда полезно делать check отдельно от сборки (1 пример))
м (вступление про общую пользу; примеры необходимости, а не просто пользы)
Строка 2: Строка 2:
[[category:devel]]
[[category:devel]]
-
==Когда полезно делать check отдельно от сборки (примеры)==
+
Общая польза выделения из сборки пакета некоторых доп.стадий (build-doc, checkи и т.п.) в отдельно собираемые пакеты такая:
 +
 
 +
:сильно облегчается распутывание сборочных зависимостей при пересборке с новым python3 или при [[bootstrap|бутстрапе]].
 +
 
 +
Ещё общая польза:
 +
 
 +
:больше автоматических гарантий работоспособности того, что было собрано в пакеты -- именно в таком в виде (пакеты), как оно приедет к пользователю.
 +
 
 +
(Были замечены случаи, когда приезжало нерабочее сочетание пакетов, чего-то не хватало: ??? ??? ???. Борьба с этим является как одной из целей этой работы, так и работы по улучшению-ужесточению зависимостей: [[python3/UNMETS|уточнением autoreqs]] и [[привлечением челеовеконаписанной информации]].)
 +
 
 +
Помимо общей пользы можно заметить случаи, когда необходимо решать уже возникшие проблемы со сборкой, и этот подход был бы одним из решением. Такие случаи замечаются и записываются ниже.
 +
 
 +
==Когда необходимо генерировать doc отдельно от сборки (примеры)==
 +
Вообще-то, ради правильности, почти всегда в случае со sphinx; как выяснилось с помощью buildreq/filereq, оно использует системные модули для генерации, а не новые локальные исходники.
 +
 
 +
==Когда необходимо делать check отдельно от сборки (примеры)==
Собираю пока случаи, когда полезно делать check отдельно от сборки. Собрал некоторые:
Собираю пока случаи, когда полезно делать check отдельно от сборки. Собрал некоторые:

Версия 11:47, 29 января 2017


Общая польза выделения из сборки пакета некоторых доп.стадий (build-doc, checkи и т.п.) в отдельно собираемые пакеты такая:

сильно облегчается распутывание сборочных зависимостей при пересборке с новым python3 или при бутстрапе.

Ещё общая польза:

больше автоматических гарантий работоспособности того, что было собрано в пакеты -- именно в таком в виде (пакеты), как оно приедет к пользователю.

(Были замечены случаи, когда приезжало нерабочее сочетание пакетов, чего-то не хватало: ??? ??? ???. Борьба с этим является как одной из целей этой работы, так и работы по улучшению-ужесточению зависимостей: уточнением autoreqs и привлечением челеовеконаписанной информации.)

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

Когда необходимо генерировать doc отдельно от сборки (примеры)

Вообще-то, ради правильности, почти всегда в случае со sphinx; как выяснилось с помощью buildreq/filereq, оно использует системные модули для генерации, а не новые локальные исходники.

Когда необходимо делать check отдельно от сборки (примеры)

Собираю пока случаи, когда полезно делать check отдельно от сборки. Собрал некоторые:

python-module-async-timeout

Необходимость видна, например, по 176959 try14.

[imz@basalt python-module-async-timeout]$ git --no-pager diff
diff --git a/python-module-async-timeout.spec b/python-module-async-timeout.spec
index 7e13a3c..196c770 100644
--- a/python-module-async-timeout.spec
+++ b/python-module-async-timeout.spec
@@ -35,7 +35,7 @@ Timeout context manager for asyncio programs.
 %python3_install
 
 %check
-#python3 setup.py test
+python3 setup.py test
 
 %files -n python3-module-%oname
 %doc *.rst LICENSE
[imz@basalt python-module-async-timeout]$ gear-hsh --apt-config=/home/imz/.hasher/sisyphus/apt.conf -v --without-stuff --commit 2>&1 | tee gear-hsh.log.1 | tail
error: Could not find suitable distribution for Requirement.parse('pytest-aiohttp')
error: Bad exit status from /usr/src/tmp/rpm-tmp.13834 (%check)


RPM build errors:
    Bad exit status from /usr/src/tmp/rpm-tmp.13834 (%check)
Command exited with non-zero status 1
1.13user 0.30system 0:01.41elapsed 101%CPU (0avgtext+0avgdata 25136maxresident)k
0inputs+0outputs (0major+88193minor)pagefaults 0swaps
hsh-rebuild: rebuild of `pkg.tar' failed.
[imz@basalt python-module-async-timeout]$ 
 
Личные инструменты