Python3/separation of build build-doc check: различия между версиями
(→Когда необходимо делать check отдельно от сборки (примеры): общая проверка импортируемости Provides) |
м (→общая проверка импортируемости Provides: fix wiki-syntax) |
||
Строка 33: | Строка 33: | ||
apt-repo --hsh-apt-config=/home/imz/.hasher/sisyphus/apt.conf test 181544 python3-module-matplotlib && { hsh-run --mount=/proc,/dev/pts /usr/lib/rpm/check-python3-provs-importable.sh python3-module-matplotlib; echo $?; } | apt-repo --hsh-apt-config=/home/imz/.hasher/sisyphus/apt.conf test 181544 python3-module-matplotlib && { hsh-run --mount=/proc,/dev/pts /usr/lib/rpm/check-python3-provs-importable.sh python3-module-matplotlib; echo $?; } | ||
При этом {{path|/usr/lib/rpm/check-python3-provs-importable.sh}} приезжает в hasher вместе со [http://git.altlinux.org/people/imz/packages/rpm-build-python3.git?p=rpm-build-python3.git;a=blob;f=rpm-build-python3/check-python3-provs-importable.sh;h=b24bca720158a579c7ced698647afe17aebea756;hb=af1d8cdb6247c18859fae348e27b1e10739d5eef специальной сборкой rpm-build-python3] (сейчас может быть добавлено так: {{cmd|apt-repo --hsh-apt-config=/home/imz/.hasher/sisyphus/apt.conf add 190330}}). | При этом {{path|/usr/lib/rpm/check-python3-provs-importable.sh}} приезжает в hasher вместе со [http://git.altlinux.org/people/imz/packages/rpm-build-python3.git?p=rpm-build-python3.git;a=blob;f=rpm-build-python3/check-python3-provs-importable.sh;h=b24bca720158a579c7ced698647afe17aebea756;hb=af1d8cdb6247c18859fae348e27b1e10739d5eef специальной сборкой rpm-build-python3] (сейчас может быть добавлено так: {{cmd|1=apt-repo --hsh-apt-config=/home/imz/.hasher/sisyphus/apt.conf add 190330}}). | ||
====python-module-async-timeout==== | ====python-module-async-timeout==== |
Текущая версия от 19:38, 5 октября 2017
Общая польза выделения из сборки пакета некоторых доп.стадий (build-doc, checkи и т.п.) в отдельно собираемые пакеты такая:
- сильно облегчается распутывание сборочных зависимостей при пересборке с новым python3 или при бутстрапе.
Ещё общая польза:
- больше автоматических гарантий работоспособности того, что было собрано в пакеты -- именно в таком в виде (пакеты), как оно приедет к пользователю.
(Были замечены случаи, когда приезжало нерабочее сочетание пакетов, чего-то не хватало: ??? ??? ???. Борьба с этим является как одной из целей этой работы, так и работы по улучшению-ужесточению зависимостей: уточнением autoreqs и привлечением челеовеконаписанной информации.)
Помимо общей пользы можно заметить случаи, когда необходимо решать уже возникшие проблемы со сборкой, и этот подход был бы одним из решением. Такие случаи замечаются и записываются ниже.
Когда необходимо генерировать doc отдельно от сборки (примеры)
Вообще-то, ради правильности, почти всегда в случае со sphinx; как выяснилось с помощью buildreq/filereq, оно использует системные модули для генерации, а не новые локальные исходники.
python-module-pelican
2017-Jan-28 18:58:01 :: [x86_64] #100 python-module-pelican.git 3.7.1-alt1: build FAILED File "conf.py", line 6, in <module> ImportError: No module named pelican
Когда необходимо делать check отдельно от сборки (примеры)
Собираю пока случаи, когда полезно делать check отдельно от сборки. Собрал некоторые:
общая проверка импортируемости Provides
Хочется автоматизировать. Вручную можно делать так[1]:
apt-repo --hsh-apt-config=/home/imz/.hasher/sisyphus/apt.conf test 181544 python3-module-matplotlib && { hsh-run --mount=/proc,/dev/pts /usr/lib/rpm/check-python3-provs-importable.sh python3-module-matplotlib; echo $?; }
При этом /usr/lib/rpm/check-python3-provs-importable.sh приезжает в hasher вместе со специальной сборкой rpm-build-python3 (сейчас может быть добавлено так: apt-repo --hsh-apt-config=/home/imz/.hasher/sisyphus/apt.conf add 190330).
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]$