Bug 48602 - %muon_meson: Specify sourcedir after builddir
Summary: %muon_meson: Specify sourcedir after builddir
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: muon (show other bugs)
Version: unstable
Hardware: all Linux
: P5 enhancement
Assignee: Yuri N. Sedunov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-27 20:39 MSK by Arseny Maslennikov
Modified: 2024-03-28 11:51 MSK (History)
1 user (show)

See Also:


Attachments
Вариант предлагаемого патча на макросы (4.10 KB, patch)
2023-11-27 20:39 MSK, Arseny Maslennikov
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Arseny Maslennikov 2023-11-27 20:39:55 MSK
Created attachment 15116 [details]
Вариант предлагаемого патча на макросы

Здравствуйте!

Как известно, meson setup может в командной строке принимать 2 каталога: sourcedir и builddir. Meson умеет догадываться сам, кто из них кто (по наличию файла meson.build в этих каталогах). Товарисчи из проекта muon же настаивают на конкретном порядке builddir и sourcedir (и вообще они очень заморочены тем, чтобы им аргументы передавали в правильном порядке, и манкируют GNU-getopt-логикой или чем-то подобным).

В определении макроса %muon_meson написано:
<...>
  CXXFLAGS="${CXXFLAGS:-%optflags}"; export CXXFLAGS; \
  FFLAGS="${FFLAGS:-%optflags}"; export FFLAGS; \
  FCFLAGS="${FCFLAGS:-%optflags}"; export FCFLAGS; \
  %__muon meson setup %{__sourcedir} %{__builddir}  \\\
       -Doptimization=%{_optlevel} \\\
<...>
В итоге мне в одном моём пакете приходится переопределять %__muon в гаджет, меняющий местами два параметра.

Предлагаю сначала передавать туда %__builddir, а потом %__sourcedir.

Вариант патча на макросы помещаю в качестве приложения.
Comment 1 Arseny Maslennikov 2023-11-27 20:43:21 MSK
Совсем коротко: бага в макросах для muon заключается в том, что команда `muon meson setup` не готова принять sourcedir и builddir в командной строке в том порядке, который сейчас в макросе.

Так как оригинальный Meson позволяет передавать sourcedir и builddir в любом из двух порядков, предлагаю заодно и там их местами поменять при следующем обновлении meson, но это на ваше усмотрение.
Comment 2 Arseny Maslennikov 2023-11-27 20:46:18 MSK
(In reply to Arseny Maslennikov from comment #0)
> В итоге мне в одном моём пакете приходится переопределять %__muon в гаджет,
> меняющий местами два параметра.

Если исправить сию багу, то пересборка этого пакета с гаджетом сломается; это ничего страшного, гаджет я оттуда сам уберу. :)
Comment 3 Yuri N. Sedunov 2023-11-27 20:52:56 MSK
(Ответ для Arseny Maslennikov на комментарий #1)
> Совсем коротко: бага в макросах для muon заключается в том, что команда
> `muon meson setup` не готова принять sourcedir и builddir в командной строке
> в том порядке, который сейчас в макросе.

На это я уже могу ответить. Если бы эту пару строк вы черкнули мне в личку вместо той лабуды на языке явного противника, с отсылками на знакомство с Юсси, -- все было бы давно в пакете.

А теперь я подожду, когда к-н соберет tracy. Может Вы?
Comment 4 Arseny Maslennikov 2023-11-27 22:27:04 MSK
(In reply to Yuri N. Sedunov from comment #3)
> (Ответ для Arseny Maslennikov на комментарий #1)
> > Совсем коротко: бага в макросах для muon заключается в том, что команда
> > `muon meson setup` не готова принять sourcedir и builddir в командной строке
> > в том порядке, который сейчас в макросе.
> 
> На это я уже могу ответить. Если бы эту пару строк вы черкнули мне в личку
> вместо той лабуды

Учту на будущее. :)

Та лабуда — это патч, оформленный письмом. Он может быть похож на просто графоманский багрепорт, но это не так; это коммит с аннотацией (она же "commit message"), который команда `git send-email` превратила в дифф и выслала в виде более-менее машиноразбираемого письма, начинающегося как человеческое письмо. Мне проще прислать кому-либо патч именно таким образом, чем включать в письмо вывод diff -Naur каким-то очередным поместным способом и получить ненакладываемый патч в процессе.

То есть ценность такой лабуды в том, что её легко наложить хоть посредством git am, хоть patch -p1, без потери информации при передаче. А текст на инородном языке — незначительная деталь, особенно если лабуду не гитом накладывают.

Соответственно, моя коммуникационная ошибка была лишь в том, что стоило вдобавок к тому письму по-русски написать, в чём дело. Мне нетрудно. Обычно я в такой ситуации просто шлю патч, там как раз всё, что нужно, написано, и его рассматривают/накладывают. Другие люди даже для простой однострочной правки, о которой здесь идёт речь, просят накладываемый патч. Думал, что и здесь это не вызовет непонимания. Но вас это, к сожалению, обидело, за что приношу извинения; вероятно, вы сочли, что я принуждаю вас против принципа читать текст на инородном языке, но это не так.

> вместо той лабуды на языке явного противника
Я привык по-другому относиться к понятию "язык противника": владеть языком противника — значит, иметь над ним преимущество и лучше этого самого противника понимать. Но ладно, в будущем буду избегать этого языка, когда вам пишу. :) Извините, если вас задело.

> вместо той лабуды на языке явного противника, с отсылками на знакомство с
> Юсси, -- все было бы давно в пакете.

Я с ним не знаком, и мои патчи[1], даже ограниченно касающиеся самого сборочника, в том проекте принимают очень туго и с большим скрипом. "Jussi's meson" означает "не muon, а те, на кого muon старается быть похожим и чьи скрипты умеет читать".
[1] https://github.com/mesonbuild/meson/pull/11135
Comment 5 Arseny Maslennikov 2023-11-27 22:27:50 MSK
(In reply to Yuri N. Sedunov from comment #3)
> (Ответ для Arseny Maslennikov на комментарий #1)
> > Совсем коротко: бага в макросах для muon заключается в том, что команда
> > `muon meson setup` не готова принять sourcedir и builddir в командной строке
> > в том порядке, который сейчас в макросе.
> 
> А теперь я подожду, когда к-н соберет tracy. Может Вы?

tracy ­— это что именно? Неужели проект по следующей ссылке?
https://github.com/wolfpld/tracy/releases
Comment 6 Yuri N. Sedunov 2023-11-27 22:53:09 MSK
(Ответ для Arseny Maslennikov на комментарий #5)

> tracy ­— это что именно? Неужели проект по следующей ссылке?
> https://github.com/wolfpld/tracy/releases

Да, yes, oui, bien sûr.
Comment 7 Yuri N. Sedunov 2024-03-28 11:51:50 MSK
sisyphus: #343813 
try 1 PENDING
 от Yuri N. Sedunov
Preparing the repository

pkgconf-2.2.0-alt1.src.rpm
muon-0.2.0-alt2.src.rpm