[devel] rpm макросы для пакета mk-configure

Andrey Savchenko bircoph на altlinux.org
Пн Май 25 22:49:40 MSK 2020


Добрый вечер!

On Mon, 25 May 2020 21:59:49 +0300 Aleksey Cheusov wrote:
> Кажется, мои менторы сильно заняты. Продублирую запрос еще раз с нормальной Темой.
> 
> 20.05.2020, 12:35, "Gleb Fotengauer-Malinovskiy" <glebfm на altlinux.org>:
> > напришиваются какие-то макросы для использования 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
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20200525/3a7697eb/attachment-0001.bin>


Подробная информация о списке рассылки Devel