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

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


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

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

Я хотел бы предложить оставить макрос __cargo.

Эти бла-бла в начале не просто так; такой макрос по (конечно, не очень
явному) соглашению предназначен для того, чтобы можно было передефайнить
все обращения к %_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' "$@"

Примеры, ясное дело, не исчерпывающие. :)

Первая сотня строк в macros.in так устроена.
https://git.altlinux.org/gitoskop/#/gears/r/rpm-build.git/-/blob/4.0.4.215-alt1/macros.in

Это предусмотренный в подвижной системе дополнительный шарнир:
он нужен не всем и не всегда, но существует.

> 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/613c41f7/attachment.bin>


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