[devel] в защиту __cargo (was: Расширение функциональности rpm-build-rust)

Arseny Maslennikov arseny на altlinux.org
Ср Окт 28 11:13:12 MSK 2026


On Wed, Oct 28, 2026 at 11:08:02AM +0300, Arseny Maslennikov wrote:
> On Wed, Oct 28, 2026 at 10:27:54AM +0300, Rx wrote:
> > 
> >        По результатам пересборки пакетов картина следующая:
> > 
> > Из 432 пакетов упало 29:
> > phrog   aris - Пакет использует устаревший макрос %__cargo. Исправление:
> 
> Здравствуйте!
> 
> Я хотел бы предложить оставить макрос __cargo.

И, наверное,

    __rustc %_bindir/rustc

тоже нужен, если его вдруг нет.

> Эти бла-бла в начале не просто так; такой макрос по (конечно, не очень
> явному) соглашению предназначен для того, чтобы можно было передефайнить
> все обращения к %_bindir/cargo в генерируемых скриптах.
> Аналогично устроены __make, __ninja,
> __mv, __cp, __rm, __install, __chmod, __chown,
> __tar, __cpio, __gzip, __bzip2, __xz,
> и все остальные.
> 
> Оператор может заменить любую из этих утилит на собственную обёртку, на подкоманду в
> multi-call binary навроде busybox, на taskset -c, что угодно.
> 
>     rpmbuild --define "__tar /usr/local/bin/busybox tar" "$@"
>     rpmbuild --define "__ninja taskset -c $(</sys/devices/cpu_atom/cpus) ninja" "$@"
>     rpmbuild --define '__make bear -- make' "$@"
> 
> Примеры, ясное дело, не исчерпывающие. :)
> 
> Это предусмотренный в подвижной системе дополнительный шарнир:
> он нужен не всем и не всегда, но существует.

Можно, конечно, оставить оба.
"%__cargo" как обозначение "как вызвать программу cargo",
"%cargo" как обращение к прагматике cargo.

Тогда packager сможет, например, сказать:

    rpmbuild --define 'cargo %__cargo auditable' "$@"

и у него заработает всё, что сегодня у вас раскрывает "%cargo".

В любом случае надо это всё задокументировать, чтобы не пропало.

> > phrog-0.53.0-alt2.src.rpm
> > <https://git.altlinux.org/tasks/431040/gears/70400/phrog-0.53.0-alt2.src.rpm>

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20261028/70242bb3/attachment.bin>


Подробная информация о списке рассылки Devel