[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