ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [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