[devel] Сборка пакетов с Rust (проблема Vendor)

Ildar Mulyukov ildar.mulyukov на gmail.com
Чт Мар 26 21:32:01 MSK 2026


Добрый день/вечер/утро!

как говорится, на день опоздал и доллара не хватило...

Крайне жаль, что пропустил эту дискуссию, но она стоит того, чтобы ещё разок...

On Tue, Jun 11, 2024 at 5:01 PM Alexey V. Vissarionov
<gremlin на altlinux.org> wrote:
> На данный момент лучшим способом мне видится скачивание всех нужных исходников, сборка из них какого-то %name-build-deps.noarch.rpm и добавление его в сборочные зависимости - [...]

Интересно, что никто не высказался по этому предложению..

За прошедшие годы, судя по моим изысканиям, по этому пути пошёл только
один пакет: cilium-envoy . Его `deps` весят 1.2 Гб в сжатом виде, что
вызывает "уважение"... И уже всем очевидно, что мы потеряли контроль
за кодом... но это оффтоп.

Одна проблема тут лежит на поверхности: для сборки одной программы
нужно два srpm. Кажется, по последним трендам, разрастание репозитория
не приветствуется...

Вторая проблема в том, что сопровождение дополнительного srpm, да ещё
и большого размера — это дополнительные затраты времени и сил.

Но проблему вендоринга исходников надо как-то решать. Особенно в свете
того, что, действительно, пихать в Git абсолютно нерелевантные
исходники (vendor/*) нет никакого желания. Но приходится! Если кому
интересно, я пока выбрал трусливый компромиссный подход: собирать
через %name.src.rpm, а vendor.tar собирать в последний момент перед
публикацией, чтобы не мешался.

Добавлю по вопросу пару своих копеек:

1. у уважаемого конкурента (РХ) есть в RPM особый способ сборки для
таких пакетов. Не уверен, как у них это автоматизированно, но если бы
было автоматизировано, то была бы "бомба" (простите, тщательно тут не
копал, но легко гуглится)

2. Насколько я понимаю, для Rust/Cargo восстановление исходников в
vendor/* однозначно из файла Cargo.lock. И верифицируемо через
прописанные там чексуммы, так что подмена "по дороге" затруднительна
или должна быть таковой. То есть безопасно.

С уважением, Ильдар
-- 
Ildar Mulyukov,
(ΙΧΘΥΣ) child of God

email: ildar.mulyukov на gmail.com
matrix: @ildar:matrix.org
blog: http://johan-notes.blogspot.com/


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