The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск языка программирования Rust 1.33"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Есть идеи по улучшению форума и сайта ? Пишите.
. "Выпуск языка программирования Rust 1.33" –1 +/
Сообщение от Xasd (ok), 02-Мрт-19, 14:59 
>[оверквотинг удален]
> ФБР, а ФБР с китайцами, и кто-то из них, решил что
> crates.io -- это самое удачное место, через которое можно напихать бекдоров
> потенциальному противнику. В результате теперь все пакеты в интернете теперь содержат
> бекдоров больше, чем в них строк кода есть. Тебе тем не
> менее хочется собрать вчера скачанный тарболл (он был скачан до начала
> конфликта и поэтому без бекдоров), но скачивать ничего ты не намерен.

не совсем -- подразумевается что сборка проектов происходит на разных компьютерах, в том числе на сборочных серверах без доступа к интернету (без доступа к сети).

а не на одном и том же (одном) компьютере.

но кроме того то что на сборочных серверах нет доступа к интернету (а на некоторых сборочных-серверах он есть) -- есть ещё и ВТОРОЕ требование -- нужна ещё и гарантия того что у мы ТОЧНО знаем все источники из которых компилировались зависимости к проектам (в том числе источники с модифицированным (нашими руками) исходным кодом зависимостей).

если мы модицифируем исходный-код какой-то-там-зависимости -- то следущий раз сборочный сервер во чтобы то ни стало -- должен собрать уже СООТВЕТСТВУЮЩУЮ версию проекта (проекта который использует эту зависимость).

то есть независимо там от номеров версий или ещё каких-там-сраных кэшэй -- проект всегда должен (на сборочном сервере) собираться ВСЕГДА ровно из того что указано в его сборочных скриптах.

(НАПРИМЕР: исходный код какой-то зависимости поменялся, а номер версии остался тем же самым? не важно -- это не должно ничего портить!)

на сборочных серверах -- всегда кэши очищаются (и доступа в интернет нет, который бы доставил им свежий кэш откуда-то из глубины "облака"). исходных код зависимостей доставлется до сборочных серверов -- через свои собственные каналы. причём именно исходный код, а не уже-какая-то-предкомпилированная хеератень.

и вот и требуется чтобы сборка происходила РОВНО из тех исходных кодов которые бы доставлялись бы до сборочных серверов. и не из какого другого места.

и как и раньше говорил: собираем не свою программу а обычную какую-то программу написанную в обычном стиле (НЕ расчитанную на offline-компиляцию).

> И вопрос собственно: возможно ли это. При этом, есть ещё два
> условия: 1) в CARGO_HOME уже лежит куча пакетов, которые были выкачаны
> раньше, и возможно их достаточно; 2) модифицировать сорцы из тарболла или
> из CARGO_HOME нельзя. Так?

ну тоесть на момент сборки (каждый раз перед сборкой) -- ни чего внутри $CARGO_HOME нет. для сборочного сервера -- каждая компиляция это как новая свежая система :-).

> модифицировать сорцы из тарболла или из CARGO_HOME нельзя. Так?

можно, но не желательно. судя из ответа я так понял -- это делать всё-таки придётся. а хотелось бы узнать можно ли это не делать.

> У меня нет ответа на такой вопрос. Я не знаю. Мне кажется,
> что это нельзя сделать, не ковыряя вручную того, что лежит в
> ~/.cargo. А может даже ковыряя не удастся.

жаль..

ну тогда может спасёт накладывание патча на Cargo.toml (Cargo.lock) каждый раз перед сборкой (через sed например)

то есть как ты ранее сказал -- "модифицировать сорцы из тарболла или из CARGO_HOME нельзя. Так?" -- отказаться от этого требования

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск языка программирования Rust 1.33, opennews, 02-Мрт-19, 13:17  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру