Bug 40869

Summary: проблемы упаковки
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: kittyAssignee: Egor Ignatov <egori>
Status: ASSIGNED --- QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P5 CC: darktemplar, egori
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
kitty.spec.diff none

Description Michael Shigorin 2021-09-06 23:00:46 MSK
Created attachment 9641 [details]
kitty.spec.diff

Я тут заглянул в kitty.spec и огорчился -- там целый ряд странностей (минимум одна из которых наведена апстримом, но всё-таки тогда её бы и хорошо починить да предложить).

1) как будто тестируется _предыдущая_ сборка, ну или имеем лишний self-BR (бишь пакет надо зачем-то бутстрапить, чтобы разместить в репозитории, где его нет):

# For tests
BuildRequires: kitty

Проверил -- зависимость для %check излишня (возможно, обломок экспериментов).

2) сборка выполняется в секции %install (%build попросту нет) [!]

3) в секциях %install и %check игнорируется макронабор из rpm-build-python3, всё сделано врукопашную

3a) впрочем, setup.py там какой-то самопальный, что ли (как порой неавтокраповые "configure" люди пишут):

setup.py: error: argument action: invalid choice: 'install' (choose from 'build', 'test', 'linux-package', 'kitty.app', 'linux-freeze', 'macos-freeze', 'build-launcher', 'build-frozen-launcher', 'clean', 'export-ci-bundles')

-- и вот здесь хорошо бы сделать цель install да предложить её в апстрим: мол, дальше с линуксовым пакетом сами разберёмся, просто не ломайте схему (от этой цели требуется уметь обрабатывать или игнорировать опции --skip-build, --root=<путь>, --force).

Т.е. хорошо бы прийти к возможности свести эту часть спека к чему-то вроде

%build
%python3_build_debug

%install
%python3_install --update-check-interval=0

...и если перетащить из rpm-build-intro в rpm-build-python3 макросы %python3_test/%python3_check -- получится и
 
%check
%python3_test

Сейчас можно сделать

+%build
+%python3_build_debug

-- кажется, при этом вторая пересборка во время %install проскочила быстро.

На всякий прилагаю spec.diff относительно 0.21.2-alt1, который получился при проверке сборки на e2kv4; в нём ещё затычка для лишнего оптимизма с -Werror (--ignore-compiler-warnings получилось бы применить лишь без комментариев):

[8/98] Compiling kitty/child-monitor.c ...
lcc: "/usr/include/features.h", line 382: warning #1105: #warning directive:
          _FORTIFY_SOURCE requires compiling with optimization (-O)
  #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
     ^

lcc: "kitty/screen.c", line 1437: error #186: pointless comparison of unsigned
          integer with zero [-Werror=type-limits]
      if (top <= self->cursor->y && self->cursor->y <= bottom) {
              ^

lcc: "kitty/screen.c", line 1463: error #186: pointless comparison of unsigned
          integer with zero [-Werror=type-limits]
      if (top <= self->cursor->y && self->cursor->y <= bottom) {
              ^

2 errors detected in the compilation of "kitty/screen.c".
Comment 1 Egor Ignatov 2021-09-07 14:43:57 MSK
Исправил пункты 1 и 2 в версии 0.23.1-alt1 [1]


> -- и вот здесь хорошо бы сделать цель install да предложить её в апстрим:
> мол, дальше с линуксовым пакетом сами разберёмся, просто не ломайте схему
> (от этой цели требуется уметь обрабатывать или игнорировать опции
> --skip-build, --root=<путь>, --force).
Сейчас попробую сделать что-нибудь с setup.py


[1]: http://git.altlinux.org/gears/k/kitty.git?p=kitty.git;a=commit;h=8f1627e3d84ba251449083b4de6a786a1673a77d