LINUX.ORG.RU
ФорумTalks

Меня смущает способ хранения исходных текстов на зеркалах

 


0

2

Ну, то, что хранятся только те версии исходных текстов, которые упомянуты в .ebuild-файлах.

Вроде бы придумали уже́ распределённый репозиторий git, почему бы не переделать систему зеркал gentoo по аналогии с github, чтобы исходные тексты хранились в git-репозиториях, а zip-архив создавался бы по конкретной версии (конкретному тегу или sha1).

Для того, чтобы это смогло работать, надо переделать систему зеркал и переделать сам portage.

А то полумеры какие-то, основное дерево пакетов генты синхронизируется через git, а файлы с исходниками - нет. Да, я понимаю, что git не один такой, что он завязан на язык «C», а в языке rust - там другая своя система хранения исходников (Pijul или как её там), но ведь в portage есть механизм модулей, вот пусть он это всё учитывает.

Перемещено leave из security

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

Более того, ты можешь из ebuild'а прямо сейчас позвать git чтобы выгрузить нужную тебе версию. Останется открытым вопрос что делать, если у тебя нет сети или если разработчик грохнет свой репозиторий или он будет недоступен по другой причине.

AnDoR ★★★★★ ()

Да, я понимаю, что git не один такой, что он завязан на язык «C»

Нет.

AnDoR ★★★★★ ()
Ответ на: комментарий от AnDoR

Если бы всё было бы так как ты говоришь, то большинство пакетов не оказывалось бы в виде zip-архивов в директории /usr/portage/distfiles.

Einstok_Fair ★★☆ ()
Ответ на: комментарий от Einstok_Fair

Если бы всё было бы так как ты говоришь, то большинство пакетов не оказывалось бы в виде zip-архивов в директории /usr/portage/distfiles.

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

AnDoR ★★★★★ ()
Ответ на: комментарий от AnDoR

и поэтому большинство пакетов распространяется в виде архивов

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

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

Einstok_Fair ★★☆ ()
Ответ на: комментарий от Einstok_Fair

Ты хочешь, чтобы на зеркалах были зеркала исходных репозиториев, а не просто тарболлы? Лично я не уверен, что это может быть эффективнее, чем тупые тарболлы.

AnDoR ★★★★★ ()
Ответ на: комментарий от AnDoR

Ты хочешь, чтобы на зеркалах были зеркала исходных репозиториев, а не просто тарболлы?

Да.

я не уверен, что это может быть эффективнее, чем тупые тарболлы.

Зато появится история и соответствие по коммитам. И эффективнее может быть, потому что исходники меняются между версиями не все, а тарболл - это целый репозиторий.

Einstok_Fair ★★☆ ()
Ответ на: комментарий от AnDoR

Смирись, у него свой взгляд на вещи, в которых он ничего не понимает. Ему невдомёк, что не всё хранится в git; не всё имеет исходники; что история коммитов тоже нехило так весит; что промежуточные состояния между релизами особо никому при опакечивании не нужны, особенно при наложении патчей, которые могут быть применимы только к определённой ревизии.

Но ему «надо переделать систему зеркал и переделать сам portage». Зачем? А кто его знает зачем, сам то он делать ничего не собирается.

grem ★★★★★ ()
Ответ на: комментарий от grem

не всё имеет исходники

Такое не нужно. Оно небезопасное.

история коммитов тоже нехило так весит

у git есть shallow fetch (это так в оверлеях по-умолчанию настроено). Мне всегда было интересно, что происходит при обновлении оверлеев - там хранятся некоторые версии или только последняя.

Einstok_Fair ★★☆ ()
Ответ на: комментарий от grem

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

Einstok_Fair ★★☆ ()
Ответ на: комментарий от Einstok_Fair

Ты предлагаешь, в очередной раз херню, которая непонятно зачем нужна. Иметь доступ к произвольному моменту истории? Зачем? Чтобы увеличить одновременно поддерживаемое количество версий пакетов? Ну….можешь этим заняться. Но если ты в силу каких-то причин не заметил, что нагрузку по одновременной поддержке версий наоборот стремятся снизить, то я не знаю что тут ещё можно добавить к сказанному мной в предыдущем сообщении.

grem ★★★★★ ()

Да, я понимаю, что git не один такой, что он завязан на язык «C», а в языке rust - там другая своя система хранения исходников (Pijul или как её там)

Лучшего доказательства, что ничегошеньки ты не понимаешь, и придумать было нельзя.

t184256 ★★★★★ ()

почему бы не переделать систему зеркал gentoo по аналогии с github, чтобы исходные тексты хранились в git-репозиториях, а zip-архив создавался бы по конкретной версии (конкретному тегу или sha1).

Авторов такого надо безжалостно убивать еще при попытке выхода из мамы. Потому что малейшее изменение в архиваторе / системных библиотеках приводит к тому, что чек-сумма сжатого архива меняется. Не уверен, как оно будет с непожатым tar, но с конкретно github и zip неоднократно с таким сталкивался и каждый раз рвал волосы на заднице от ярости.

Barracuda72 ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.