LINUX.ORG.RU

Portage имеет фатальный недостаток

 ,


0

1

его придумали не у нас Он не описывает стадию сборки тарбола с исходными текстами.

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

Перемещено Pinkbyte из linux-install

Как ты себе представляешь выкачивание куска тарболла так, чтобы этот кусок потом распаковать?

vurdalak ★★★★★
()

Что это ^ делает в „Linux-install“?

Он не описывает стадию сборки тарбола с исходными текстами.

Что что? Гнусное 4.2 или с этого места давай поподробнее.

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

Скачай сырцы „маленькой утилитки из огромного репозитория“ и либо упакуй и поклади в дистфайлсы либо в files/ если она настолько маленькая…

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

Как ты себе представляешь выкачивание куска тарболла так, чтобы этот кусок потом распаковать?

Коллега вы забыли про libastral.so!!!

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

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

Проблема в том, что автоматизации подготовки маленьких тарболов не предусмотрено.

Indaril_Shpritz
() автор топика
Ответ на: комментарий от init_6

Гнусное 4.2 или с этого места давай поподробнее.

ну как, ты в билде всегда указываешь уже готовый тарбол.

а билдов, которые делают тарболы для зеркал - не существует.

Indaril_Shpritz
() автор топика
Ответ на: комментарий от init_6

упакуй и поклади в дистфайлсы

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

Indaril_Shpritz
() автор топика
Ответ на: комментарий от Indaril_Shpritz

ну как, ты в билде всегда указываешь уже готовый тарбол.

4.2 Ибо:

  • Можно указывать прямо сразу в SRC_URI на конкретные сырцы.
  • А можно попросить пользователя скачать некое УГ и положить его в дистфайлсы самого… Ибо оно УГ и прямых ссылок на него нет и/или лицензии у него упороты…
  • И это не говоря про 9999 где SRC_URI ВНЕЗАПНО вообще пустой потому что сырцы живут не в „тарболах“ а в некой vcs.

а билдов, которые делают тарболы для зеркал - не существует.

ebuild говоря понятным языком это „рецепт сборки“. От банальных ./configure && make && make install до более сложных и извращенных способов. Внимание вопрос - где есть такая необходимость вытягивая некие сырцы из vcs упаковывать их в траболлы? На входе portage у тебя сырцы на выходе собранный „бинарник“ либо небинарник в случае интерпретируемых ЯП. Почему задача упаковать из vcs вон те вот файлики в тарболл должна относится к проблемам portage?

Ты по ходу попутал инструменты и исполняемые ими задачи и вообще не знаешь кто такие „майнтрейнеры“ и зачем они в принципе нужны.

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

Это не проблема портежей/ebuild-ов а того самого мешка с костями которому нужны эти самые „пара файликов из vcs“ упакованные в тарболл.

init_6 ★★★★★
()
Последнее исправление: init_6 (всего исправлений: 1)
Ответ на: комментарий от init_6

Почему задача упаковать из vcs вон те вот файлики в тарболл должна относится к проблемам portage?

потому что так называемые «майнтейнеры» для моих программ билдов в принципе не пишут

Indaril_Shpritz
() автор топика

Portage имеет фатальный недостаток

…он вообще не для того чтобы заменять собой вообще всю возможную работу

И да portage кофе заваривать не умеет и даже двух сисек у него тоже нет.

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

я имею в виду, что можно скачать только одну директорию из репозитория, упаковать её в маленький тарбол и написать для этого тарбола ебилд,

тогда утилита будет быстро и удобно устанавливаться.

Это делает мейнтейнер. Портеж не имеет никакого отношения к процессу упаковки тарболлов для пакетов.

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

да-да, знаем мы таких старпёров - «под каждую задачу свой инструмент», «да никто никому ничего не должен» и т.д.
Лишь бы не фиксить.

Indaril_Shpritz
() автор топика
Ответ на: комментарий от Indaril_Shpritz

потому что так называемые «майнтейнеры» для моих программ билдов в принципе не пишут

А потому-что видимо всем насрать на твои задачи как и на то какими инструментами и чьими руками ты хочешь их решить.

Майнтрейнеры делают так как им удобнее и именно так как это лучше для каждого конкретного проекта а не так как надо какому-то там Indaril_Shpritz с ЛОРа.

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

так называемые «майнтейнеры» для моих программ билдов в принципе не пишут

как драматично

я тебе ещё более драматичный факт подкину: представь себе, Вселенная не крутится вокруг тебя, и даже когда ты глаза закрываешь - всем в мире темно не становится! ты представь, а?! как вообще можно жить в таком свинском мире?!

anonymous
()
Ответ на: комментарий от vurdalak

А если поставить чашку с кофе на процессор и запустить emerge @world?

Это проканает только у владельцев интелов, у моего атлона критическая температура 74°C, что-то сварить тяжеловато.

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

так и запишем - а ещё они говнюки

Оно тебе надо? Вот не ной а возьми и сделай.

Не можешь сделать сам но видишь в этом огромную перспективу и можешь убедить в этом остальных? Заводи баг в багзилле и приноси жертвы Даниэльке и Патрику.

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

то запах палёной пластмассы имеет все шансы смениться на запах жжённой резины

anonymous
()
Ответ на: комментарий от redgremlin

тебе придётся довольствоваться своим варёным псевдопроцессором -))

anonymous
()
Ответ на: комментарий от init_6

Заводи баг в багзилле и приноси жертвы Даниэльке и Патрику

если следовать твоей логике, то сначала нужно самому установить свою багзиллу. Ты ведь за то, чтобы каждый делал то что ему нужно ни с кем не контактируя?

Indaril_Shpritz
() автор топика
Ответ на: комментарий от Indaril_Shpritz

ой, не прикрывайся словом «логика», очевидно же, что ты тупое кисо, которое логику с детства не осилило

anonymous
()
Ответ на: комментарий от redgremlin

Это проканает только у владельцев интелов, у моего атлона критическая температура 74°C, что-то сварить тяжеловато.

30°C хватит на рыбу, 55°C на яичницу а на 55…60°C уже можно даже мясо жарить!

А если девушка из соседней комнаты пришла на запах палёной пластмассы?

vurdalak а вот на запах жаренного мяса девушка из соседней комнаты придет гораздо вернее.

init_6 ★★★★★
()

его придумали не у нас

а первый человек из какой географии? а закон всемирного тяготения? а диспетчеры, говорящие на местном диалекте? Хочется «в рабочий полдень»-портажа?

И вот попадётся какой-нибудь огромный репозиторий

ну и что? Это правильно т.к. зависимости - проблема в другом: портаж не на все изменения зависимостей реагирует. Так что если есть недостатки, то в том, что недопилен мехнизм зависимостей.

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

anonymous
()
Ответ на: комментарий от Indaril_Shpritz

если следовать твоей логике, то сначала нужно самому установить свою багзиллу. Ты ведь за то, чтобы каждый делал то что ему нужно ни с кем не контактируя?

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

И да Капитан намекает что в топике про генту имелась в виду багзилла генты.

init_6 ★★★★★
()

Смотри

eix kde-base/
Сюрприз. KDE'шные тарболы попилили на кучу ебилдов.

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

это не проблема всех остальных а только твоя собственная

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

Indaril_Shpritz
() автор топика
Ответ на: комментарий от Indaril_Shpritz

Может быть они все об этом только и мечтали, но боялись сказать вслух.

Мечтать конечно говоря не вредно, но мне твоя постановка задачи кажется странной.

Для автоматизации билдов из VCS каких угодно конфигураций существуют соответсвующие данным VCS еклассы. Далее: стандартный веб-интерфейс git умеет делать тарболлы на каждый коммит/ветку/тэг. Это при том, что он достаточно убогий, но свою задачу - высунуть репозитарий в web - выполняет.

Я думаю другие VCS умеют также.

Честно говоря вообще не вижу здесь проблемы.

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

Для автоматизации билдов из VCS каких угодно конфигураций существуют соответсвующие данным VCS еклассы.

У них гранулярность недостаточная. Минимум что они могут вытащить - это одну ветку репозитория. А отдельный каталог - не могут.

Indaril_Shpritz
() автор топика
Ответ на: комментарий от Indaril_Shpritz

используй cvs/svn вместо репозитория - смогут.

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

У них гранулярность недостаточная. Минимум что они могут вытащить - это одну ветку репозитория. А отдельный каталог - не могут.

Ок. Так во первых при чём ты говоришь к этому всему portage?

А во вторых (да да ты угадал…) покажи какими конкретно {инструментами/консольными командами} вытащить {единственный/набор} {файл/ов} из любой cvs в вакууме {cvs/svn/git/mercurial/…} да ещё и с учётом веток/коммитов и всех остальных возможных плюшек и особенностей каждой из vcs да ещё и при этом так, чтобы не скачивать всю репу ради этой „простой“ операции. Ы?

И если что ответ на этот ^ вопрос очень сильно поможет решению того бага, который ты, я надеюсь, уже завёл в багзилле генты.

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

Мысль такова - иметь два сервера. Один будет готовить маленькие тарболы, а другой будет их потреблять. Идея в том, что всего будет N одних серверов и M других, причем M гораздо больше N.

Тот сервер, который готовит маленькие тарболы - он может их готовить неэффективно, это нестрашно. Пусть он вытаскивает весь репозиторий, а потом пакует отдельную папку.

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

Indaril_Shpritz
() автор топика
Ответ на: комментарий от Indaril_Shpritz

Если что в постановке моего первоначального вопроса ни о каких „серверах“ вообще разговора не было. Всё было задано предельно просто и чётко. Есть некая vcs и при это не важно конкретно какая потому что в идеале сие должно быть для вообще их всех… и при этом нужно вытащить из неё единичный файл либо список файлов с учетом особенности каждой из всех возможных vcs да еще и так чтобы не делать локальной копии удаленного репозитория из которого и надо вытаскивать эти самые файлы.

Вместо ответа ты слил на какие-то „сервера“.

Мысль такова - иметь два сервера.

Ок. Ты выделишь проекту portage дистрибутива gentoo нужное кол-во серверов или оплатишь соответствующую услугу и предоставишь их им? Или вообще как ты себе представляешь откуда эти сервера должны взяться?

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

как ты себе представляешь откуда эти сервера должны взяться?

ну смотри, ты уже поднял своё зеркало дерева портажа (неважно что на github). Кроме того, наверняка ты пользуешься каким-нибудь travis-ci.com или тому-подобным сборочным сервером. Так что ничего удивительного в том, чтобы поднять своё зеркало для тарболов нет. яндекс, например, такое зеркало поднял, что мешает сделать своё? Ну так вот, когда своё зеркало будет сделано, нужна будет софтина, чтобы автоматизировать работу с ним. А тут-то и облом - надо либо писать два комплекта билдов - первый комплект на подготовку тарболов с исходниками, второй на сборку бинарных пакетов. Либо дорабатывать портаж так, чтобы два комплекта билдов были не нужны, а всё проипсывалось в одном комплекте ебилдов.

Indaril_Shpritz
() автор топика
Ответ на: комментарий от Indaril_Shpritz

ну смотри, ты уже поднял своё зеркало дерева портажа (неважно что на github)

Никаких зеркал ни на каком github-е у лично меня нет.

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

СЮРПРИИИИЗ - не пользуюсь.

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

Исходя из твоих рассуждений - а в чём тогда вообще проблема? Бери и подымай. При каких тут делах ко всем твоих уберидеям какой-то portage или gentoo?

Ну так вот, когда своё зеркало будет сделано, нужна будет софтина, чтобы автоматизировать работу с ним.

А т.е. зеркало у тебя уже есть а ты попутал несуществующую софтинку которая должна решить твою задачу за тебя с portage?

А тут-то и облом - надо либо писать два комплекта билдов - первый комплект на подготовку тарболов с исходниками, второй на сборку бинарных пакетов. Либо дорабатывать портаж так, чтобы два комплекта билдов были не нужны, а всё проипсывалось в одном комплекте ебилдов.

Стоп стоп стоп. Какие нафиг «два комплекта билдов» к несуществующей софтинке и к portage который вообще не имеет никакого отношения ко все этим половым извращениям в особо тяжелой форме?

Пока-что я констатирую одно у тебя в голове каша.

А позитивное из всего этого будет только а) баг в багзилле генты б) содержащий подробное описание и главное в) решение задачи в виде простой команды либо скрипта на bash.

init_6 ★★★★★
()

При чём тут это?

Я вообще не понял как portage связан с упаковкой исходников в tarball. Задача portage взять tarball, собрать из исходников программу и установить её куда следует. При чём здесь размер репозитерия?

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

30°C хватит на рыбу

но не большинству глистов ;)

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