* [devel] rpm макросы для пакета mk-configure
@ 2020-05-25 18:59 Aleksey Cheusov
2020-05-25 19:49 ` Andrey Savchenko
0 siblings, 1 reply; 8+ messages in thread
From: Aleksey Cheusov @ 2020-05-25 18:59 UTC (permalink / raw)
To: devel
Кажется, мои менторы сильно заняты. Продублирую запрос еще раз с нормальной Темой.
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 и разрешение на публикацию в Сизифе.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] rpm макросы для пакета mk-configure
2020-05-25 18:59 [devel] rpm макросы для пакета mk-configure Aleksey Cheusov
@ 2020-05-25 19:49 ` Andrey Savchenko
2020-05-25 19:53 ` Andrey Savchenko
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Andrey Savchenko @ 2020-05-25 19:49 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 4479 bytes --]
Добрый вечер!
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
[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] rpm макросы для пакета mk-configure
2020-05-25 19:49 ` Andrey Savchenko
@ 2020-05-25 19:53 ` Andrey Savchenko
2020-05-25 22:09 ` Dmitry V. Levin
2020-05-26 18:30 ` Aleksey Cheusov
2 siblings, 0 replies; 8+ messages in thread
From: Andrey Savchenko @ 2020-05-25 19:53 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1627 bytes --]
On Mon, 25 May 2020 22:49:40 +0300 Andrey Savchenko wrote:
> Добрый вечер!
>
> 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
А, вижу, что это только тесты, так что не критично.
Best regards,
Andrew Savchenko
[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] rpm макросы для пакета mk-configure
2020-05-25 19:49 ` Andrey Savchenko
2020-05-25 19:53 ` Andrey Savchenko
@ 2020-05-25 22:09 ` Dmitry V. Levin
2020-05-25 22:36 ` Andrey Savchenko
2020-05-26 18:30 ` Aleksey Cheusov
2 siblings, 1 reply; 8+ messages in thread
From: Dmitry V. Levin @ 2020-05-25 22:09 UTC (permalink / raw)
To: ALT Devel discussion list
On Mon, May 25, 2020 at 10:49:40PM +0300, Andrey Savchenko wrote:
[...]
> 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 тоже
> всё работает, но я не знаю, на что могут повлиять эти предупреждения.
Эти предупреждения ни на что не влияют. Если бы влияли, то они были бы
ошибками и пришлось бы делать BuildRequires(pre): rpm-macros-mk-configure.
--
ldv
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] rpm макросы для пакета mk-configure
2020-05-25 22:09 ` Dmitry V. Levin
@ 2020-05-25 22:36 ` Andrey Savchenko
0 siblings, 0 replies; 8+ messages in thread
From: Andrey Savchenko @ 2020-05-25 22:36 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1955 bytes --]
On Tue, 26 May 2020 01:09:54 +0300 Dmitry V. Levin wrote:
> On Mon, May 25, 2020 at 10:49:40PM +0300, Andrey Savchenko wrote:
> [...]
> > 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 тоже
> > всё работает, но я не знаю, на что могут повлиять эти предупреждения.
>
> Эти предупреждения ни на что не влияют. Если бы влияли, то они были бы
> ошибками и пришлось бы делать BuildRequires(pre): rpm-macros-mk-configure.
Тогда зачем они выдаются? Следует их отключить, чтоб не сбивать
людей с толку.
Best regards,
Andrew Savchenko
[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] rpm макросы для пакета mk-configure
2020-05-25 19:49 ` Andrey Savchenko
2020-05-25 19:53 ` Andrey Savchenko
2020-05-25 22:09 ` Dmitry V. Levin
@ 2020-05-26 18:30 ` Aleksey Cheusov
2020-05-27 21:30 ` Andrey Savchenko
2 siblings, 1 reply; 8+ messages in thread
From: Aleksey Cheusov @ 2020-05-26 18:30 UTC (permalink / raw)
To: ALT Linux Team development discussions
25.05.2020, 22:49, "Andrey Savchenko" <bircoph@altlinux.org>:
> On Mon, 25 May 2020 21:59:49 +0300 Aleksey Cheusov wrote:
>>> Нужен review и разрешение на публикацию в Сизифе.
>
> Вот замеченные проблемы. Большинство из них есть в логах сборки, так
Обновил.
См. http://git.altlinux.org/tasks/252281/
> что полезно их грепать на предмет "(warning|error):".
>
> 1) mk-configure-0.34.2-alt4:
>
> 1.1) При сборке пакета игнорируются CFLAGS, например, так:
Да, это только тесты.
> 2) libmaa-1.4.7-alt2:
>
> 2.1) Нет зависимости на макрос.
> Зависимости на макросы нужно делать через BuildRequires(pre):
> BuildRequires(pre): rpm-macros-mk-configure
Я сделал так, как сделано с cmake, где cmake Requires rpm-macro-cmake и этого вроде достаточно.
"BuildRequires: rpm-macro-mk-configure" действительно исправляет ворнинги, но мне непонятно,
зачем они. Зависимость добавил -- бессмысленные ворнинги пропали :-)
> 2.2) Есть установленные, но не упакованные файлы:
Fixed
> С /usr/share/doc/libmaa какой-то косяк вышел и там дублируются
> файлы документации, уже разложенные в другие места:
Fixed
> 3) runawk-1.6.1-alt2:
>
> 3.1) С макросами аналогично 2.1)
Fixed
> 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'
С точки зрения security здесь все в порядке. Так что это предупреждение я сознательно игнорирую.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] rpm макросы для пакета mk-configure
2020-05-26 18:30 ` Aleksey Cheusov
@ 2020-05-27 21:30 ` Andrey Savchenko
2020-06-01 16:15 ` Aleksey Cheusov
0 siblings, 1 reply; 8+ messages in thread
From: Andrey Savchenko @ 2020-05-27 21:30 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 3479 bytes --]
On Tue, 26 May 2020 21:30:20 +0300 Aleksey Cheusov wrote:
> 25.05.2020, 22:49, "Andrey Savchenko" <bircoph@altlinux.org>:
> > On Mon, 25 May 2020 21:59:49 +0300 Aleksey Cheusov wrote:
> >>> Нужен review и разрешение на публикацию в Сизифе.
> >
> > Вот замеченные проблемы. Большинство из них есть в логах сборки, так
>
> Обновил.
> См. http://git.altlinux.org/tasks/252281/
Там добавился ещё paexec. По нему есть gcc warning:
In file included from /usr/include/string.h:507,
from paexec.c:32:
In function 'strncpy',
inlined from 'init__read_graph_tasks' at paexec.c:276:3:
/usr/include/bits/string_fortified.h:106:10: warning: '__builtin_strncpy' specified bound 2000 equals destination size [-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Это вот эта строка:
strncpy (buf_copy, buf, sizeof (buf_copy));
Размер buf может быть больше buf_copy, т.к. он определяется функцией
getdelim(NULL,0,…) и данные читаются из stdin. В таком случае buf_copy
будет без терминирующего нуля.
Я предлагаю сделать так:
strncpy (buf_copy, buf, sizeof (buf_copy) - 1);
buf_copy[sizeof (buf_copy) - 1] = '\0';
Других проблем я не нашёл, так что даю аппрув на таск: проблема
в коде не является проблемой опакечивания и не является основанием
для блокирования коммита.
Всё же, я рекомендую исправить эту проблему.
> > 2) libmaa-1.4.7-alt2:
> >
> > 2.1) Нет зависимости на макрос.
> > Зависимости на макросы нужно делать через BuildRequires(pre):
> > BuildRequires(pre): rpm-macros-mk-configure
>
> Я сделал так, как сделано с cmake, где cmake Requires rpm-macro-cmake и этого вроде достаточно.
> "BuildRequires: rpm-macro-mk-configure" действительно исправляет ворнинги, но мне непонятно,
> зачем они. Зависимость добавил -- бессмысленные ворнинги пропали :-)
Как следует из комментария ldv, это бесполезный warning. Поэтому
мейнтенеру приходится выбирать между бесполезными предупреждениями
и бесполезными зависимостями :/
> > 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'
>
> С точки зрения security здесь все в порядке. Так что это предупреждение я сознательно игнорирую.
Да, действительно, там используется mkdir, что подразумевает O_EXCL,
что делает tempnam безопасным.
Best regards,
Andrew Savchenko
[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] rpm макросы для пакета mk-configure
2020-05-27 21:30 ` Andrey Savchenko
@ 2020-06-01 16:15 ` Aleksey Cheusov
0 siblings, 0 replies; 8+ messages in thread
From: Aleksey Cheusov @ 2020-06-01 16:15 UTC (permalink / raw)
To: ALT Linux Team development discussions
offlist
28.05.2020, 00:30, "Andrey Savchenko" <bircoph@altlinux.org>:
> Там добавился ещё paexec. По нему есть gcc warning:
>
> In file included from /usr/include/string.h:507,
> from paexec.c:32:
> In function 'strncpy',
> inlined from 'init__read_graph_tasks' at paexec.c:276:3:
> /usr/include/bits/string_fortified.h:106:10: warning: '__builtin_strncpy' specified bound 2000 equals destination size [-Wstringop-truncation]
> 106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Это вот эта строка:
> strncpy (buf_copy, buf, sizeof (buf_copy));
>
> Размер buf может быть больше buf_copy, т.к. он определяется функцией
> getdelim(NULL,0,…) и данные читаются из stdin. В таком случае buf_copy
> будет без терминирующего нуля.
Исправил в 1.1.4 См. таск №252663
Нужен эпрув
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-06-01 16:15 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-25 18:59 [devel] rpm макросы для пакета mk-configure Aleksey Cheusov
2020-05-25 19:49 ` Andrey Savchenko
2020-05-25 19:53 ` Andrey Savchenko
2020-05-25 22:09 ` Dmitry V. Levin
2020-05-25 22:36 ` Andrey Savchenko
2020-05-26 18:30 ` Aleksey Cheusov
2020-05-27 21:30 ` Andrey Savchenko
2020-06-01 16:15 ` Aleksey Cheusov
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git