[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