ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Andrey Savchenko <bircoph@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] I: cmake macros
Date: Mon, 31 May 2021 16:28:31 +0300
Message-ID: <20210531162831.cf38dca70ecca7d37808099d@altlinux.org> (raw)
In-Reply-To: <YLTcRXWMNl5UUlwG@cello>

[-- Attachment #1: Type: text/plain, Size: 5890 bytes --]

On Mon, 31 May 2021 15:53:25 +0300 Arseny Maslennikov wrote:
> On Mon, May 31, 2021 at 03:13:54PM +0300, Anton Farygin wrote:
> > On 31.05.2021 15:09, Sergey V Turchin wrote:
> > > 
> > Я знаю про это задание, но в этом изменении слишком кардинально меняется
> > содержимое макроса, что вряд ли приемлемо для stable репозитория.
> > 
> > Т.е. - условно говоря если раньше макрос ничего не делал, то теперь делает.
> 
> В 272559 все пакеты, явно использовавшие %cmake_install в его
> (бесполезном, кмк) старом значении, исправлены.
> > 
> > Да и с BUILD непонятно зачем сделано. Было бы интересно услышать комментарии
> > по этому поводу.
> 
> Одна из преследуемых целей — спеки не должны зависеть от конкретного
> значения %_cmake__builddir, которое они не выставили явно, поэтому их
> исправление там, где в них явно про некоторые файлы написано BUILD/*,
> всё равно планировалось. Изменив BUILD на что-то ещё, легко узнать
> список всех пакетов, нарушающих этот принцип.
> 
> Файловые объекты с "простым" именем BUILD, build, ... с заметной долей
> вероятности могут уже присутствовать в
> /usr/src/RPM/BUILD/$tarball_root, что вносит в подготовку спека лишний
> неавтоматизируемый шаг по корректной/удобной починке ошибки EEXIST на
> `mkdir %_cmake__builddir'.

mkdir -p решает эту проблему в 99.999% случаев (теоретически
возможно, что BUILD — это файл или используетс апстримом для иных
нужд, но на практике такое вряд ли встречается).

> В долгосрочной перспективе нам уместно
> (медленно, но верно) стремиться к тому, чтобы спеки можно было на ~~90%
> писать автоматически.

Viy@ давно разработал и предлагает неплохие инструменты
автоматизации, но его идеи раз за разом отвергают. Чем данная
ситуация отличаются? У нас большая часть разработчиков считает, что
писать спеки нужно вручную. И в случае со сложными, нетривиальными
пакетами они правы. Но если и CPAN и т.п., где подход viy@ куда
более практичен.

> Остаётся только одно соображение в защиту имени BUILD: при ручном
> вмешательстве человека с клавиатурой в хешерницу с результатом
> почему-либо упавшей сборки %_target_platform (или первые 1-2 символа и
> tab-complete) придётся набирать руками. С этой точки зрения значение по
> умолчанию "build-%_target_platform" или даже "build" было бы лучше, а
> "BUILD" — хуже этих двух, потому что shift надо нажимать и коллизия с
> /usr/src/RPM/BUILD.
> 
> Вот я и остановился перед выбором из четырёх:
> %_target_platform, build-%_target_platform, build, build-%name-%EVR и
> выбрал первое. Но я на своём варианте не настаиваю, и об этом умолчании
> можно договориться и поменять в сизифе в любой момент обозримого
> будущего, не сломав ни один спек.
> 
> Так оказалось, что %_target_platform довольно удобен:
> конкретно %_target_platform уже используется у нас в макросах для meson,
> например; никто не жаловался на возникающие сбои. Да и при чтении лога
> семейство архитектур лишний раз бросается в глаза. В самих спеках
> %_target_platform явно употребляться не будет, коллизия по имени с уже
> существующими файлами маловероятна.
> 
> Константным выражением, на которое можно положиться в спеке, выступает
> %_cmake__builddir; многие исправленные спеки в обсуждаемом сборочном
> задании явно используют этот макрос там, где cmake --install не хватает
> и надо руками залезть.

По-моему, ты перемудрил: решая несуществующую проблему с именем
BUILD по-умолчанию и теоретически (и только!) возможной коллизии,
ты создал очень даже практическую проблему лишнего уровня
абстракции и реальной поломки сотен пакетов.

Best regards,
Andrew Savchenko

[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2021-05-31 13:28 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-31  9:20 Arseny Maslennikov
2021-05-31 10:09 ` Andrey Cherepanov
2021-05-31 10:22   ` Grigory Ustinov
2021-05-31 10:38     ` Andrey Cherepanov
2021-05-31 10:50       ` Arseny Maslennikov
2021-05-31 11:06         ` Andrey Cherepanov
2021-05-31 11:53           ` [devel] noarch check failed Dmitry V. Levin
2021-05-31 14:26             ` Vladimir D. Seleznev
2021-05-31 14:28               ` Dmitry V. Levin
2021-05-31 14:32                 ` Vladimir D. Seleznev
2021-05-31 14:55                   ` Dmitry V. Levin
2021-05-31 17:03                     ` Andrey Savchenko
2021-05-31 17:36                     ` Vladimir D. Seleznev
2021-05-31 14:30               ` Arseny Maslennikov
2021-05-31 15:06             ` Arseny Maslennikov
2021-05-31 15:52               ` Yuri Sedunov
2021-06-01  9:16                 ` Yuri Sedunov
2021-05-31 10:45     ` [devel] I: cmake macros Arseny Maslennikov
2021-05-31 13:49       ` Aleksei Nikiforov
2021-05-31 14:06         ` [devel] noarch check failing Arseny Maslennikov
2021-05-31 16:33         ` [devel] I: cmake macros Arseny Maslennikov
2021-06-01  7:44           ` Aleksei Nikiforov
2021-05-31 10:39     ` Dmitry V. Levin
2021-05-31 10:46       ` Arseny Maslennikov
2021-05-31 12:02 ` Anton Farygin
2021-05-31 12:09   ` Sergey V Turchin
2021-05-31 12:13     ` Anton Farygin
2021-05-31 12:53       ` Arseny Maslennikov
2021-05-31 12:58         ` Sergey V Turchin
2021-05-31 13:02         ` Sergey V Turchin
2021-05-31 14:22           ` Arseny Maslennikov
2021-05-31 15:00             ` Anton Farygin
2021-05-31 15:04               ` Sergey V Turchin
2021-05-31 15:19                 ` Anton Farygin
2021-06-02  7:58                   ` Sergey V Turchin
2021-05-31 15:01             ` Sergey V Turchin
2021-05-31 13:06         ` Sergey V Turchin
2021-05-31 13:09         ` Sergey V Turchin
2021-05-31 13:11         ` Sergey V Turchin
2021-05-31 13:17         ` Sergey V Turchin
2021-05-31 13:28         ` Andrey Savchenko [this message]
2021-05-31 13:52           ` Arseny Maslennikov
2021-05-31 14:28             ` Arseny Maslennikov
2021-05-31 14:39             ` Andrey Savchenko
2021-05-31 14:52               ` [devel] циферки (was: I: cmake macros) Arseny Maslennikov
2021-05-31 14:57                 ` Andrey Savchenko
2021-05-31 15:10                   ` Arseny Maslennikov
2021-05-31 15:18                     ` Andrey Savchenko
2021-05-31 18:07           ` [devel] I: cmake macros Arseny Maslennikov
2021-06-02  7:56             ` Sergey V Turchin
2021-06-15 17:40           ` Mikhail Novosyolov
2021-05-31 15:01 ` Andrey Savchenko
2021-05-31 15:29   ` Arseny Maslennikov
2021-05-31 15:38     ` Anton Farygin
2021-05-31 15:43       ` Grigory Ustinov
2021-05-31 17:40         ` Andrey Savchenko
2021-05-31 15:51     ` Andrey Savchenko
2021-05-31 16:15       ` Arseny Maslennikov
2021-05-31 17:11         ` Andrey Savchenko
2021-06-02  8:02           ` Sergey V Turchin
2021-06-04  8:49 ` Sergey V Turchin
2021-06-15 12:20 ` Sergey Afonin
2021-06-15 18:26   ` Arseny Maslennikov
2021-06-16 19:00     ` Mikhail Novosyolov
2021-06-16 20:31       ` Vladislav Zavjalov
2021-06-22  5:24     ` Michael Shigorin
2021-06-22  8:51       ` Arseny Maslennikov
2021-06-23 10:55 ` Sergey Afonin
2021-06-23 11:21   ` Arseny Maslennikov
2021-07-07 10:37     ` Nikolai Kostrigin
2021-07-07 11:35       ` [devel] MySQL в p9 (was: I: cmake macros) Arseny Maslennikov
2021-07-07 12:17         ` Nikolai Kostrigin
2021-07-07 16:18       ` [devel] I: cmake macros Arseny Maslennikov
2021-07-08 11:34         ` Nikolai Kostrigin
2021-06-25 14:30   ` [devel] I: cmake macros already in p9 Arseny Maslennikov
2021-07-06  6:22     ` Sergey Afonin
2021-07-06  9:31       ` [devel] MySQL + mysql-workbench-community в p9 (was Re: I: cmake macros already in p9) Nikolai Kostrigin
2021-07-06  9:51         ` Nikolai Kostrigin
2021-07-06 12:43           ` Nikolai Kostrigin
2021-07-06 15:27             ` Sergey Y. Afonin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210531162831.cf38dca70ecca7d37808099d@altlinux.org \
    --to=bircoph@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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