LinuxForum.Fans
Тема

GNOME vs KDE

Автор: telemaster 147 сообщений 25726 просмотров
#153504

Итак:

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

Так в чем же я неправ?

#153509
bobr написал:
Итак:
[quote=bobr]опен-сурс и закрытая версия виртуалбокса есть в портежах
drBatty написал:
вы не совсем правы... нет её там

Так в чем же я неправ?[/quote]
вы не совсем правы в том, что в портежах не Ъ ебилд, а некий костыль, который вместо того, что-бы собрать программу, её просто скачивает и кладёт в нужное место.

#153514

Чесслово, Доктор, я порой вас не понимаю.
Оказывается, в портежах не Ъ ебилд!! (-:

#153518
bobr написал:
Оказывается, в портежах не Ъ ебилд!! (-:

как может Ъебилд поставить неЪ программу?! oO

#153528

Ок, Док. Кажется, мы начали переливать из пустого в порожнее. Я не стану больше спорить о Ъ- и не Ъ-ебилдах.

#153545
bobr написал:
Я не стану больше спорить о Ъ- и не Ъ-ебилдах.

я и не спорю, я уточняю. В данном случае разница принципиальная:

Логика маздаёщика:
1) идём на винфак, пишем "хочу ЭТО", получаем ответ.
2) гуглим "ЭТО скачать бесплатно"
3) качаем ЭТО НЁХ, к которой даже автор ЭТОго имеет отдалённое отношение.
4) ставим в самое сердце системы скаченную НЁХ.

Логика Ъ линуксоида:
0) Аксиома: все враги, кроме меня и Патрега.
1) идём на LF, пишем "хочу ЭТО", получаем ответ
2) пишем slackpkg ЭТО (ну или sudo apt-get и т.д.)

Почему нужна аксиома №0? А потому, что мы никому не верим, и ПМ проверяет криптостойким способом, ЧТО мы собственно ставим, что-бы не поставить НЁХ.

Проблема в том, что в случае проприентарного ПО разработчик дистра не может взять на себя никакой ответственности, о чём прямо заявляет. Т.е. мы можем поставить в систему корректно любую НЁХ, только следует помнить, что наш ПМ (или ебильд) осуществляет лишь корректность установки, и не может и не проверяет, ЧТО мы там собственно ставим.

такие дела...

#153554

Не хотел бы я быть таким твердым знаком :rolleyes:

З.Ы. На заметку: ebuild выполняет те же функции что и slackbuild :cool:

#153558

ебильды - это железное Ъ

#153570
elve написал:
На заметку: ebuild выполняет те же функции что и slackbuild

нет.
пруф: http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml?part=3&chap=6

ебильд собирает ПО во временный каталог, а потом его(ПО) ставит в систему.
слакобильд тоже собирает ПО во временный каталог, но никуда и ничего он не ставит, а создаёт пакет.
В последствии этот пакет может быть установлен, но не обязательно здесь и сейчас. Это разве по вашему незначительная разница?

elve написал:
Не хотел бы я быть таким твердым знаком

почему?

Termo написал:
ебильды - это железное Ъ

в том-то и дело, что - нет. Выше нам уже показали, как поставить ебльдом НЁХ, которая ни разу не Ъ. Конечно, этого можно достичь и слакобильдом.

#153571
drBatty написал:
ебильд собирает ПО во временный каталог, а потом его(ПО) ставит в систему.
слакобильд тоже собирает ПО во временный каталог, но никуда и ничего он не ставит, а создаёт пакет.
В последствии этот пакет может быть установлен, но не обязательно здесь и сейчас. Это разве по вашему незначительная разница?

Система ebuild'ов в Gentoo в таком случае более универсальна: она позволяет выполнить и эту задачу — собрать бинарный пакет, не устанавливая его в систему.

#153574

Коллеги. Прошу вас обратить внимание на тему данной беседы и сравнить с содержанием ;).

#153575
Lupo Alberto написал:
Система ebuild'ов в Gentoo в таком случае более универсальна: она позволяет выполнить и эту задачу — собрать бинарный пакет, не устанавливая его в систему.

а ещё какие может? собрать и поставить без пакета? ох, как это полезно...

сравните:
Slackware
1) [console]# ./prog.Slackbuild[/console]
2) [console]# instalpkg prog-6.66.1-i686.txz[/console]

Gentoo

6. Использование ebuild
Содержание:

Emerge и Ebuild
Ручная установка программ
Дополнительные возможности Ebuild
Дополнительная информация

6.a. Emerge и Ebuild

Программа ebuild — это низкоуровневый интерфейс системы Portage. С ее помощью можно выполнять определенные действия над заданными сборками ebuild. Например, вы можете самостоятельно выполнить отдельные этапы установки.

Программа ebuild предназначена в основном для разработчиков, поэтому более подробная информация находится в настольной книге разработчика (англ.). Однако, мы расскажем, какие экземпляры ebuild вызываются системой Portage на разных этапах установки, и как выполнить пост-конфигурационные шаги, которые допускаются некоторыми пакетами.

6.b. Ручная установка программ

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

Каждый раз, когда вы вызываете ebuild для какого-то ebuild-файла, проверяется совпадение контрольной суммы всех задействованных файлов с указаной в файлах Manifest или files/digest-<имя>-<версия>. Проверка выполняется после загрузки исходных кодов.

Чтобы загрузить исходные коды с помощью ebuild, запустите:

Листинг 2.1: Загрузка исходных кодов

# ebuild путь/к/файлу-ebuild fetch

Если контрольная сумма md5 сборочного файла не совпадает с той, что указана в файле Manifest, или же один из загруженных файлов не совпадает с описанием в файле files/digest<пакет>, вы получите сообщение об ошибке, похожее на такое:

Листинг 2.2: Ошибка контрольной суммы ebuild

is corrupt or incomplete. (Digests do not match)>>> our recorded digest: db20421ce35e8e54346e3ef19e60e4ee
>>> your file's digest: f10392b7c0b2bbc463ad09642606a7d6

(!!! Файл поврежден или усечен. (Контрольные суммы не совпадают) )

На следующей строке указывается проблемный файл.

Если вы абсолютно уверены, что загруженные исходные коды и сам сборочный файл ebuild именно те, что вам нужны, можете пересоздать файлы Manifest и digest-<пакетe>, используя фукцию digest программы ebuild:

Листинг 2.3: Создание новых файлов Manifest и digest

# ebuild путь/к/файлу-ebuild digest

Распаковка исходных кодов

Чтобы рапаковать исходные коды в /var/tmp/portage (или любой другой каталог, указанный в /etc/make.conf), запустите функцию unpack программы ebuild:

Листинг 2.4: Распаковка исходных кодов

# ebuild путь/к/файлу-ebuild unpack

Эта команда выполнит функцию src_unpack() программы ebuild (которая по умолчанию просто выполняет распаковку, если функция src_unpack() не определена). Все необходимые заплатки накладываются также на этом этапе.

Компиляция исходных кодов

Следующий шаг в процессе установки — компиляция исходных кодов. Для этого выполняется функция src_compile() вашего сборочного файла. Если нужно, заодно выполняется конфигурация.

Листинг 2.5: Компиляция исходных кодов

# ebuild путь/к/файлу-ebuild compile

Если вы хотите изменить инструкции компиляции, советуем отредактировать функцию src_compile(). Однако, вы можете также обмануть Portage, заставив ее поверить, что программа ebuild уже завершила компиляцию. Запустите нужные команды самостоятельно и создайте пустой файл .compile в рабочем каталоге.

Листинг 2.6: Сообщение Portage о завершении задания компиляции

# touch .compiled

Установка файлов во временное место

Следующий шаг — установка всех необходимых файлов во временный каталог. В него помещаются все файлы, подлежащие включению в рабочую файловую систему. Вы можете выполнить этот этап, запустив функцию установки программы ebuild, которая исполняет функцию src_install() сборочного файла.

Листинг 2.7: Установка файлов

# ebuild путь/к/файлу-ebuild install

Помещение файлов в рабочую файловую систему

Последний этап — перенос всех файлов в рабочую файловую систему и их регистрация в системе Portage. В ebuild этот этап называется «qmerge», и включает следующие действия:

выполняется функция pkg_preinst(), если она определена
все файлы копируются в рабочую файловую систему
файлы регистрируются в системе Portage
выполняется функция pkg_postinst(), если она определена

Запустите функцию qmerge программы ebuild, чтобы выполнить этот этап:

Листинг 2.8: Помещение файлов в рабочую файловую систему

# ebuild путь/к/файлу-ebuild qmerge

Очистка временного каталога

Наконец, можно очистить временный каталог, используя команду clean программы ebuild:

Листинг 2.9: Очистка временного каталога

# ebuild путь/к/файлу-ebuild clean

6.c. Дополнительные возможности Ebuild

Запуск всех команд установки

С помощью функции merge программы ebuild, можно запустить команды извлечения, распаковки, компиляции, установки и помещения за один раз:

Листинг 3.1: Установка программы

# ebuild путь/к/файлу-ebuild merge

Выполнение действий по настройке

В некоторых приложениях содержатся инструкции по дальнейшей настройке установленного пакета. Эти инструкции могут потребовать участия пользователя, и, следовательно, не выполняться автоматически. Для запуска шагов настройки, указанных в необязательной функции config() сборочного файла, используйте команду config программы ebuild:

Листинг 3.2: Настройка пакета

# ebuild путь/к/файлу-ebuild config

Сборка пакета (RPM)

Вы можете попросить Portage создать двоичный пакет или даже RPM из вашего сборочного файла, воспользовавшись командами package и rpm, соответственно. Эти команды несколько различаются:

команда package во многом похожа на merge, выполняя все необходимые шаги (извлечение, распаковку, компиляцию, установку) перед созданием пакета
команда rpm собирает пакет RPM из файлов созданных после запуска окончания функции install программы ebuild

Листинг 3.3: Создание пакетов

(cоздание двоичного пакета, совместимого с Portage)
# ebuild путь/к/файлу-ebuild package

(создание пакета RPM)
# ebuild путь/к/файлу-ebuild rpm

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

6.d. Дополнительная информация

За дополнительными сведениями о системе Portage, программе ebuild и сценариях ebuild обращайтесь к следующим страницам справки man:

Листинг 4.1: Страницы справки

$ man portage (сама система Portage)
$ man emerge (команда emerge)
$ man ebuild (команда ebuild)
$ man 5 ebuild (синтаксис файлов ebuild)

Кроме того, дополнительные сведения, относящиеся к разработке, находятся в настольной книге разработчика (англ.).


и тут ещё не написано, как-же собрать бинарный пакет не поставив его в свою систему.
#153576
elve написал:
Прошу вас обратить внимание на тему данной беседы и сравнить с содержанием

отрежте плз :)

#153578
drBatty написал:
и тут ещё не написано, как-же собрать бинарный пакет не поставив его в свою систему.

Только собрать ПАКЕТ:
[console]
emerge --buildpkgonly ПАКЕТ
[/console]
Установить ПАКЕТ собранный ранее:
[console]
emerge --usepkgonly y ПАКЕТ
[/console]

#153589
Lupo Alberto написал:
Только собрать ПАКЕТ:
Консоль:

emerge --buildpkgonly ПАКЕТ

казалось-бы, причём тут ебильды? :P

#153593
drBatty написал:
казалось-бы, причём тут ебильды?

Как причем??
Они, между прочим, самое непосредственное отношение имеют. ПАКЕТ ищется среди ебилдов в дереве портежей, а уж потом собирается.

#153595
bobr написал:
Как причем??
Они, между прочим, самое непосредственное отношение имеют. ПАКЕТ ищется среди ебилдов в дереве портежей, а уж потом собирается.

я это к тому веду, что в слаке процесс прост и прямолинеен:
1) имеем исходные тексты на входе.
2) запускаем слакобильд, получаем пакет.
3) запускаем installpkg пакет ставится.

А гента... Она конечно гибкая... Только какой смысл читать эти длинные доки и выполнять 100500 действий? Я так и не понял - один мне говорит

elve написал:
На заметку: ebuild выполняет те же функции что и slackbuild

когда попросишь подробностей:

Lupo Alberto написал:
emerge --buildpkgonly ПАКЕТ

ну простите, я так и не понял - причём тут ебильды? У нас ебильд == скрипт, который собирает сырцы и получает ПАКЕТ. А у вас это что за НЁХ, и зачем оно надо?

#153596

Так как развитие темы резко вильнуло в сторону, прошу модераторов «отделить и переместить» wink

drBatty написал:
У нас ебильд == скрипт, который собирает сырцы и получает ПАКЕТ. А у вас это что за НЁХ, и зачем оно надо?

Так и в Gentoo ebuild == скрипт Просто возможности emerge шире, чем вы предполагаете. Хорошо это или плохо — каждый решает для себя сам.

#153598
drBatty написал:
У нас ебильд == скрипт, который собирает сырцы и получает ПАКЕТ

Такого никто не говорил.
уж скорее
ебильд >= скрипт, который собирает сырцы и получает ПАКЕТ

drBatty написал:
я так и не понял
drBatty написал:
что за НЁХ, и зачем оно надо?

Что вы все-таки не поняли? Сформулируйте толком вопрос.

#153668

На заметку: ebuild выполняет те же функции что и slackbuild

меня обманули?

Войдите или зарегистрируйтесь, чтобы ответить.