Добрый вечер! On Mon, 25 May 2020 21:59:49 +0300 Aleksey Cheusov wrote: > Кажется, мои менторы сильно заняты. Продублирую запрос еще раз с нормальной Темой. > > 20.05.2020, 12:35, "Gleb Fotengauer-Malinovskiy" : > > напришиваются какие-то макросы для использования mk-configure в спеках. > > Сделал макросы для mk-configure. task #252091. > В него входят: > mk-configure-0.34.2-alt4 с макросами, и > libmaa-1.4.7-alt2 и 1.6.1-alt2, где макросы используются. > > Нужен review и разрешение на публикацию в Сизифе. Вот замеченные проблемы. Большинство из них есть в логах сборки, так что полезно их грепать на предмет "(warning|error):". 1) mk-configure-0.34.2-alt4: 1.1) При сборке пакета игнорируются CFLAGS, например, так: cc -I/usr/src/RPM/BUILD/mk-configure-0.34.2/examples/tools2/libs/foo -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -Wno-unused-parameter -Werror -DNUM=1 -c -o prog1.o prog1.c 2) libmaa-1.4.7-alt2: 2.1) Нет зависимости на макрос. Зависимости на макросы нужно делать через BuildRequires(pre): BuildRequires(pre): rpm-macros-mk-configure Иначе возникает вот такая ругать в логе сборки: warning: Macro %mkc_env not found warning: Macro %mkcmake_configure not found warning: Macro %mkcmake_build not found warning: Macro %mkc_env not found warning: Macro %mkcmake not found warning: Macro %mkc_env not found warning: Macro %mkcmake_install not found Я вижу, что сейчас зависимость на rpm-macros-mk-configure добавлена через Requires в самом mk-configure, но, видимо, так не получится сделать и во всех пользователях mk-configure также нужно будет прописывать макрос. Это недостаток нашей сборочной системы, но я не знаю, можно ли его как-то лучше объехать. Вроде бы, с текущей зависимостью через Requires в mk-configure тоже всё работает, но я не знаю, на что могут повлиять эти предупреждения. 2.2) Есть установленные, но не упакованные файлы: warning: Installed (but unpackaged) file(s) found: /usr/lib64/libmaa.a /usr/share/doc/libmaa/LICENSE /usr/share/doc/libmaa/NEWS /usr/share/doc/libmaa/README /usr/share/doc/libmaa/TODO /usr/share/doc/libmaa/libmaa.600dpi.ps Если libmaa.a нужен, то нужно положить в отдельный подпакет devel-static. С /usr/share/doc/libmaa какой-то косяк вышел и там дублируются файлы документации, уже разложенные в другие места: ./libmaa: libmaa.600dpi.ps LICENSE NEWS README TODO ./libmaa-1.4.7: LICENSE NEWS README TODO ./libmaa-devel-doc-1.4.7: libmaa.600dpi.ps Можно просто грохнуть, но лучше поправить систему сборки. Со временем мы перейдём к ошибке, вместо предупреждения при наличии неупакованных файлов, поэтому лучше отслеживать такое заранее. Для своих пакетов это можно сделать, объявив в spec (обычно это в самом начале делается, но, думаю, место не принципиально): %global _unpackaged_files_terminate_build 1 3) runawk-1.6.1-alt2: 3.1) С макросами аналогично 2.1) 3.2) Безопаснее использовать mkstemp вместо tempnam: /usr/src/RPM/BUILD/runawk-1.6.1/runawk/runawk.c:168: warning: the use of `tempnam' is dangerous, better use `mkstemp' Best regards, Andrew Savchenko