LINUX.ORG.RU
ФорумTalks

Зачем нужен portage и USE=, если есть make и переменные окружения?

 , ,


1

2

Не кажется ли вам, что менеджер пакетов занимается сборкой пакетов в зависимости от каких-то предусловий, а make делает то же самое?

файл /var/lib/portage/world сделать главным правилом для makefile (какие пакеты собирать)
Сделать отдельную директорию, в которой понасоздавать файлов столько, сколько сейчас USE-флагов.

Как только один из файлов поменяется, надо будет выполнить make мира. И всё (кому надо, содержимое файла заинклюдят и проверят).


Бред же. Portage занимаетсяя гораздо большим, нежели тупо выполняет мейк. И да, sandbox/ebuild ты как будешь пилить так?

DeadEye ★★★★★
()

вопрос из разряда «засем нужны сборники рецептов, если есть мультиварка и инструкция к ней?»

Alyssa
()
Ответ на: комментарий от DeadEye

sandbox/ebuild ты как будешь пилить так?

сделаю два правила:
одно для сборки во временной директории (результат - .tbz)
другое для установки - результат - файл в БД по установленным пакетам

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

это чем, например?

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

чем

Защищает от проникновения во внешнюю среду (sandbox), патчит, распаковывает... Много чего.

два правила

Покажи пример. А до тех пор ты изобретаешь велосипед.
Тебе на http://devmanual.gentoo.org. Читать весь раздел General Concepts до посинения. Тогда и поймешь, что твой пост - жуткий тупняк.
// Ты, случаем, не Indaril_Shpritz?

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

Много чего

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

Могут быть тёрки по поводу того, какой там у него формат makefile (xml, или текстовый), но в принципе это универсальная штука.

ты изобретаешь велосипед

А у меня другая гипотеза - автор portage не осилил make и как раз именно он изобрел велосипед.

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

менеджер пакетов занимается сборкой пакетов

Менеджер пакетов занимается не только этим, кури дальше

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

Ты хочешь скахать, что есть что-то что может сделать bash, но не может сделать make, который может вызвать bash?

Менеджер пакетов занимается не только этим

ну ещё удалением пакетов. в make тоже бывают цели вида «clean», не проблема.

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

Посылается запрос на сервер, а там специально обученные индусы... :)

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

мейнтейнеры дистрибутива публикуют список - какие версии пакетов считаются стабильными.

Либо пользователь записывает свою волю в файлах /etc/portage/package.*/*

а make может сделать расчет зависимостей, что надо пересобрать (используя вызовы git для того, чтобы получить новые версии некоторых файлов, сейчас примерно так и происходит во всяких там git-2.eclass). Не вижу в чём проблема.

Да, во времена portage не было git. Но сейчас-то есть!

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

Ты куришь неправильную траву. И путаешь пакетный менеджер с утилитой сборки пакетов. Можно написать пакетный менеджер поверх make - спору нет. Можно и мастурбировать вприсядку - уровень действа примерно такой же как и вышеупомянутый менеджер на make.

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

Можно написать пакетный менеджер поверх make - спору нет.

Именно в этом и был главный вопрос темы.

уровень действа примерно такой же

это ваш portage - оно самое. Сначала записываете файлы, потом стираете, потом копируете во временную директорию, потом снова её стираете.

И можно сказать, что есть всякие там FEATURES=«keepwork», но portage не make и полностью избежать стираний/ненужной повторной компиляции нельзя.

Был бы сквозной make, всё было бы четко.

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

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

</thread>

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

негодный аргумент уровня «спервадобейся». Он никак не снижает ценность идеи. Вот если бы ты сказал, что portage умеет собирать так же минимально как make, но при этом удобнее, это был бы аргумент. А то, что ещё не реализовали - так не проблема, будут новые дистрибутивы и там перепишут.

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

Он никак не снижает ценность идеи

Один умный человек сказал «Talk is cheap, show me the code». Это кстати очередное подтверждение старого тезиса что сама по себе идея ничего не стоит. От слова совсем.

Короче - без эталонной реализации(или ее зачатков) - не нужно

Это при условии что ты видел FreeBSD и то, что используется там в портах тебя не устраивает почему-то

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

Сначала записываете файлы, потом стираете, потом копируете во временную директорию, потом снова её стираете.

А теперь прочитай про sandbox и не пори чушь - ей больно. Если напишешь sandbox, который не будет требовать изоляции в отдельной директории и при этом таки делать эту самую изоляцию - буду рад взглянуть на код

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

сама по себе идея ничего не стоит. От слова совсем.

И? Теперь надо перестать идеи обсуждать?

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

sandbox, который не будет требовать изоляции в отдельной директории

overlayfs и весь дистрибутив переделать на её использование (уже толкал такую дею раньше)

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

overlayfs и весь дистрибутив переделать на её использование

Реализацию, реализацию покажи. Никто не спорит что идея может и хороша. Кто внедрять будет?

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

Кто внедрять будет?

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

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

кто-нибудь

lol.
Иди ищи идиотов. Всех портаж устраивает.

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

то, что сейчас меньше - лично твоя вина

А верхнюю границу можно оценить:

1. коммунизм неизбежен (q) Маркс
2. учиться, учиться, учиться (делу коммунизма) (q) Ленин
3. грамотность в СССР - 99,8%
4. программирование - вторая грамотность (q) А.П. Ершов
5. => потенциально кодеров 9.96 миллиарда

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

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

то, что сейчас меньше - лично твоя вина

Выдыхай, бобёр, выдыхай!

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

негодный аргумент уровня «спервадобейся»

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

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

Если идея действительно хороша, то её надо пообсуждать и кто-нибудь реализует. А если никто не реализовывает, значит ещё недостаточно пообсуждали

Или идея нехороша. :)

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

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

Я пока в криокамеру. А ты меня потом разбудишь и там покумекаем.

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

«спервадобейся»

Сперва разберись. А чтобы разобраться, нужно не один бинарник со статическими либами собирать, а большой проект. Сможешь делать это руками без лишних плясок — вперёд! Не сможешь — молчи в тряпочку.

Ты не забывай, что за портажем стоит огромная куча тестеров, мейнтейнеров и годы кропотливой работы, чтобы ты вообще не парился, чтобы для тебя весь процесс был только emerge category/package, а не часы отладки одного ебилда, написание тонны патчей, багрепорты в апстрим и bgo.

Твоё «ненужно» совершенно не аргументировано, ибо ты не компетентен в вопросе.

ценность идеи

Твоя идея заключается в деградации?

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

Твоя идея заключается в деградации?

При чём тут деградация - можно написать IDE, которая будет и генерировать нужные makefile-ы.

И пожалуйста, уже не деградация «а стремительный переход на новый уровень технологий»

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

Зачем нужен portage и USE=, если есть make и переменные окружения?

язабан. уж слишком тупой вопрос.

Deleted
()

в FreeBSD порты именно так и собираются

Harald ★★★★★
()

Не кажется ли вам, что менеджер пакетов занимается сборкой пакетов в зависимости от каких-то предусловий, а make делает то же самое?

Portage делает немного больше, но допустим...

файл /var/lib/portage/world сделать главным правилом для makefile (какие пакеты собирать)

А зависимости тоже в word указывать?
Как будешь разруливать ситуацию, когда два пакета имеют одинаковое название?
Как будешь разруливать ситуацию, когда пакет нужно скачивать вручную? Типичный пример -Java, ATI-drivers
Как будешь разруливать ситуацию когда нужна строго определенная версия программы, хоть могут быть доступны другие?
Как будешь работать с live пакетами aka -9999
Как будешь разруливать слоты - когда две версии одной программы должны быть в системе?
Как будешь разруливать ситуацию, когда _временно_ две версии программы установлены aka @preserved-rebuild

Сделать отдельную директорию, в которой понасоздавать файлов столько, сколько сейчас USE-флагов

Ты считал сколько там USE флагов? Они постоянно меняются. Многие из них установлены в профиле.

Кстати, даже сейчас тебе никто не мешает так сделать - portage это позволяет.

И всё (кому надо, содержимое файла заинклюдят и проверят).

А как на счет ситуации, когда один и тот же USE флаг работает по-разному для разных пакетов aka local use flag?

Kroz ★★★★★
()

Собери гном ручками, а там поговорим.

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

DoctorSinus ★★★★★
()

Make - не единственная система сборки.

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

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

Одно время я по диалапу качал дельты и собирал кеды в /opt, пока слюнтяи ждали свои ебилды :)

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