Установка ПО из ebuild для Calculate/Gentoo. Linux статьи
Написать статью
Войдите, чтобы писать статьи

Установка ПО из ebuild для Calculate/Gentoo

45

Использование ebuild Gentoo

Материал написан пользователем сайта.

Продолжаю изучать Calculate. Одним из решений «проблемы» нехватки ПО в репозиториях являются сторонние ebuild’ы. Каких-либо инструкций по низкоуровневой компиляции пакетов я не видел. В сети разве что общая инструкция (ниже) и ветки на форумах, посвящённые ошибкам. Для меня это тема началась с видео по сборке из исходников для Gentoo, где автор и показал сей процесс, а дальше стал копать маленько.

Введение

Репозиторий ebuild-файлов, в просторечии известный как overlay, — это структура файлов и каталогов, используемая для добавления и дополнения пакетов программ в системах на основе Gentoo. Такие репозитории содержат ebuild-, eclasses и другие подобные описательные файлы. Эти файлы информируют пакетный менеджер о доступном для установки ПО. Репозиторий должен соответствовать одному или более EbuildAPI, как указано в спецификации пакетного менеджера Gentoo.

Overlays — это дополнительные репозитории, дающие возможность установки приложений, которых нет в родных репах. В сети находил сторонние, кто-то пишет для себя, а позже делится ссылками для всех. Насколько я понял, нет какого одного файла/папки, где хранится весь список подключенных. Общая справка с командами и ключами по LAYMAN — утилита для управления оверлеями Gentoo — находится тут. А по команде ниже выводится список подключенных репозиториев

emerge --info
Репозитории

В комментариях оставлял инструкцию, как собирать и устанавливать программы из ebuild, но кратко, вынесу в отдельный материал, тем более, что мне попалась статья с сайта old.calculate-linux.org (есть вариант современнее), где шаги расписаны подробнее и дополнительная информация.

Установка дополнительного ПО

Подготовка

Операции с файлами провожу по пути /usr/local/portage/app-editors/. Создал путь командой

sudo mkdir /usr/local/portage/app-editors/

Далее, перейти по этому пути командой cd, она целиком записана у меня в алиасах файла .bashrc, а директория выглядит так, для каждой программы своя папка.

Папка приложений

Основные операции и команды 

Потом та инструкция, про которую говорил в начале, описание ebuild с командами находится тут. Находясь в папке /usr/local/portage/app-editors/

sudo mkdir имя_программы
cd имя_программы

sudo wget <ссылка на ebuild> (скачает ebuild-файл, командой ls убедится в успешной загрузке)
sudo ebuild имя.ebuild digest (создаёт манифест в папке, проверить командой ls)
sudo ebuild имя.ebuild unpack (распаковка исходных кодов)
sudo ebuild имя.ebuild compile (компиляция исходных кодов)
sudo ebuild имя.ebuild install (установка во временное хранилище)
sudo ebuild имя.ebuild qmerge (перенос в рабочую ОС)
sudo ebuild имя.ebuild clean (очищает временное хранилище)

Если нет красных текстов и сообщений об ошибках, операция прошла успешно, то после этого пакет будет установлен и программа появится в меню. Но сталкивался с тем, операция проходила успешно, но ПО всё равно отсутствует в меню … Найдётся в терминале командой (поиск происходит по частичному совпадению)_

emerge --search название программы

Удаляется он так же, как и другие (для точного наименования найти его командой выше)

sudo emerge -c имя_пакета 

По ошибкам

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

Ошибка создания манифеста
Ещё ошибка создания манифеста
Ошибка Unpack

Как написано, тут помогает запрос с ключом clean (последняя команда в списке), но не всегда.

Ошибка компиляции
Ещё ошибка компиляции

На форуме дистрибутива нашёл такую ветку, тут описано, где искать логи по ошибкам. Несмотря на все перечисленные выше сложности, всё-таки несколько программу меня установлены и вполне успешно функционируют. Был такой случай, что установил программу, а позже она была пострадала от автоматической очистки от мусора. К сожалению, установить повторно её не получилось пока. Если с каким-то ebuild не складывается, то качаю другой.

Подытожим

Сторонние сборочные сценарии не являются полноценным аналогом AUR или MPR, потому что установка оных — лотерея. Скорее всего, часть ошибок решаема, но для рядового пользователя проще накатить какие-нибудь flatpak’и или вовсе скачать архив. Лучше, конечно, устанавливать силами портежа, по возможности.
Сейчас есть несколько сайтов, которые занимаются распространением этих сборочных сценариев. Я использую gpo.zugaina.org, как самый известный, встречал его и на форуме кальки. Видел ещё парочку, но проблематично их найти в поисковиках. Нашёл подобные каталоги на сайте Gentoo, на github и на gitlab, видел ещё, но не сохранил ссылки тогда.

В поисковике встретил gpo-zugaina-dl и в репозитории автора есть gpo-zugaina-downloader. Не ознакомлялся.

Лайков: +12
войдите, чтобы ставить лайки
45
  • Опубликовано: 07.03.2023
  • Minor748

Комментарии

funti2f
Активный пользователь
Активный
07.03.2023
17:15
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Я поставил через ебилд сломанный plank. В том же минт это ставится в один клик и не нужно изобретать велосипед. Зачем калька? Какая у нее цель?
Minor748
Активный пользователь
Активный
07.03.2023
19:42
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийfunti2fРодительский комментарий
0
войдите, чтобы ставить лайки
Плюсы от перехода, про которые я нигде не слышал:
СПО в целом и Линукс-платформа в частности дают пользователю больше возможностей, заставляют его изучать и налаживать диалог с ПО и железом. Дают и возможность убить и снести всё одной командой.
Кстати, автор канала тоже снимал видео, как убить свою ОС одной командой

https://video.ploud.jp/w/51cmfgp5ejq6GgwkZ1qjN5
x230
Активный пользователь
Активный
07.03.2023
19:48
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийfunti2fРодительский комментарий
+2
войдите, чтобы ставить лайки
А зачем Mint?
...
Ну, какбы... какой вопрос, - такой ответ!..
Я вот с сентября с.г. юзаю Кальку и в ус не дую.
Это Minor её исследует (слава ему!).
Я же, поставимши Плазму, просто работаю не особо вникая в "старшные гентушные камлания" !..
...
Но чтобы не показаться невежлиым, отвечу:
Калька - такая же ОСь как другие. Не такая рафинированная , как бы хотелось большинству, но вполне комфортная.
Калька - весьма стабильна. И она - отечественный продукт !..
А есть ещё сисадминское и серверное направление использования Кальки!.. Но об этом скромно по-нубски промолчу...
[аноним]
14.03.2023
17:02
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийx230Родительский комментарий
0
войдите, чтобы ставить лайки
"старшные гентушные камлания" !..

В Генту тоже постгрес и ссхд автоматом?
igorborisov
Активный пользователь
Активный
15.03.2023
10:19
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий
0
войдите, чтобы ставить лайки
Автоматом что?
x230
Активный пользователь
Активный
07.03.2023
19:52
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийfunti2fРодительский комментарий
0
войдите, чтобы ставить лайки
Кстати, ебилдов Планка там (http://gpo.zugaina.org/x11-misc/plank) аж шесть штук. Какой ставил?
Minor748
Активный пользователь
Активный
07.03.2023
20:31
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийx230Родительский комментарий
0
войдите, чтобы ставить лайки
У меня не один встал, к сожалению (
Стоит ещё одна панелька с виджетом "Панель запуска". Смысл схож, но функционал другой чутка, как и настройки.
srebrov
Активный пользователь
Активный
07.03.2023
21:28
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
+2
войдите, чтобы ставить лайки
Небольшая хитрость имеется.. Чтобы plank установился, надо сначала одну неучтенную зависимость еще поставить - gtk-doc-am. Без нее никак.
Minor748
Активный пользователь
Активный
07.03.2023
22:09
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийsrebrovРодительский комментарий
0
войдите, чтобы ставить лайки
Сколько я сайтов осмотрел, только это из форумов находил. Нигде больше упоминаний про это не было.

https://www.linux.org.ru/forum/desktop/11391048
WIK21
11.03.2023
11:38
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийsrebrovРодительский комментарий
0
войдите, чтобы ставить лайки
Не проще её сразу в ebuild запихнуть?
igorborisov
Активный пользователь
Активный
13.03.2023
13:21
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийWIK21Родительский комментарий
0
войдите, чтобы ставить лайки
Гентушники любят себе усложнять жизнь. Хотя бывает и в AUR-скриптах забывают зависимость добавить
LexD
11.03.2023
12:42
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийfunti2fРодительский комментарий
0
войдите, чтобы ставить лайки
Ставил plank на позапрошлой неделе (Mint). Снёс plank через час.
igorborisov
Активный пользователь
Активный
13.03.2023
13:25
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийLexDРодительский комментарий
0
войдите, чтобы ставить лайки
Что случилось?
xKDE
Активный пользователь
Активный
07.03.2023
19:29
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
А это в учебных целях такое усложнение? Если есть оверлей - почему бы не ставить из него?
x230
Активный пользователь
Активный
07.03.2023
19:40
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
+1
войдите, чтобы ставить лайки
Ну подразумевается же , что если чего не находится, какбээ... вот пожалуйте из ебилда!..
...
Инфа полезная однако.
Себе качнул на поизучать.
Автору - огромное т.с. спасибо!
...
Справедливости ради отмечу, что ни разу не ставил софтину так... Чего не доставало по 'emerge', то качал в виде портабельных архивов...
xKDE
Активный пользователь
Активный
07.03.2023
19:55
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийx230Родительский комментарий
+1
войдите, чтобы ставить лайки
Как потом Вы это всё "добро" содержите? Я не очень представляю, при нынешнем темпе обновлений...
Minor748
Активный пользователь
Активный
07.03.2023
19:47
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
0
войдите, чтобы ставить лайки
Из него и ставишь, но ставишь никак из АУР — одной командой, а в несколько.
xKDE
Активный пользователь
Активный
07.03.2023
19:54
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
0
войдите, чтобы ставить лайки
Так можно и одной, я об этом и говорю)
Minor748
Активный пользователь
Активный
07.03.2023
20:23
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
0
войдите, чтобы ставить лайки
В тех статьях есть про это, вводишь сразу compile, минуя этапы.
xKDE
Активный пользователь
Активный
07.03.2023
20:32
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
0
войдите, чтобы ставить лайки
Да всё проще. Лучше, чем по Handbook'у не будет. Можно через layman, можно через eselect. И рулишь оверлеями (типа PPA): добавляешь, удаляешь, хочешь зарегистрированные, хочешь свои. Ставишь emerge в одну команду
Minor748
Активный пользователь
Активный
07.03.2023
20:37
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
0
войдите, чтобы ставить лайки
Тут стоит заметить, что всё же не гунтушник, чтоб Handbook изучать.
Нас и тут не плохо кормят ©
В том смысле, что своя wiki имеется.
xKDE
Активный пользователь
Активный
07.03.2023
20:43
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
+3
войдите, чтобы ставить лайки
Только Калька - гентушник)))
Согласитесь, проще:
1. добавили оверлей
# eselect repository enable brave-overlay
2. обновили
# emerge --sync brave-overlay
3. установили
# emerge www-client/brave-bin::brave-overlay

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

Чем вот это вот всё с ebuild'ами...
Minor748
Активный пользователь
Активный
07.03.2023
20:57
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
0
войдите, чтобы ставить лайки
Здóрово, Brave встал.
Но я не встречал, каталоги этих оверлэев, а тут сразу в поиск вводишь название и устанавливаешь, если есть.

Получается, что нужно искать по одному, не так ли? С Brave на github нашел.
xKDE
Активный пользователь
Активный
07.03.2023
21:14
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
+2
войдите, чтобы ставить лайки
Вы же сами писали о http://gpo.zugaina.org/
Там в поиск вбиваете brave и он Вам выдаст в первой строке www-client/brave-bin.
xKDE
Активный пользователь
Активный
07.03.2023
21:20
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
+2
войдите, чтобы ставить лайки
Или Вы об этом?
eselect repository list
Minor748
Активный пользователь
Активный
07.03.2023
22:06
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
0
войдите, чтобы ставить лайки
Во, это то, что нужно, да. Ещё бы это было на странице сайта, чтоб предварительно ПО можно было там искать, а уже после подключать выборочно.
Некоторые из них, судя по значкам, уже подключены.
fallen
Активный пользователь
Активный
07.03.2023
21:02
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
+3
войдите, чтобы ставить лайки
у меня ваще все просто.. залогинился, плюсанул комм, разлогинился ;)
xKDE
Активный пользователь
Активный
07.03.2023
21:28
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийfallenРодительский комментарий
0
войдите, чтобы ставить лайки
Опасный человек))
x230
Активный пользователь
Активный
07.03.2023
21:59
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийfallenРодительский комментарий
0
войдите, чтобы ставить лайки
Подозрительный.
origin
Активный пользователь
Активный
09.03.2023
08:04
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийfallenРодительский комментарий
0
войдите, чтобы ставить лайки
fallen Активный

Привет Милейший ! Вы все при штабе... ! ))
Большое Спасибо за идеи по АркоЛинукс, но вот сейчас пишу с новой версии EndeavourOS.

И ТОЛЬКО ваше мнение и критика по АркоЛинукс и EndeavourOS...

Одинокие...уже давно на АркоЛинукс ! ))
origin
Активный пользователь
Активный
11.03.2023
02:10
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийfallenРодительский комментарий
0
войдите, чтобы ставить лайки
origin вторично
для
fallen Подскажи Плиз...!

Привет Милейший ! Вы все при штабе... ! ))
Большое Спасибо за идеи по АркоЛинукс, но вот сейчас пишу с новой версии EndeavourOS.
И ТОЛЬКО ваше мнение и критика по АркоЛинукс и EndeavourOS...

Одинокие...уже давно на АркоЛинукс ! ))
igorborisov
Активный пользователь
Активный
13.03.2023
13:18
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийoriginРодительский комментарий
0
войдите, чтобы ставить лайки
Fallen разлогинился
fallen
Активный пользователь
Активный
18.03.2023
16:16
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийoriginРодительский комментарий
0
войдите, чтобы ставить лайки
здоров оригинал! да я хз, ни то ни то не пользую, даже Эрик вроде как на федорке в тихую сидит, пользуй что приятнее и не усложняй себе жись.. а тож она короткая епать.
чёт карма моя подтекать начала, видать весна.. оттепель.
srebrov
Активный пользователь
Активный
07.03.2023
20:57
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
В кальке можно ставить сторонние ebuild'ы используя локальный оверлей custom. Там команд раза в 2 меньше использовать тогда.
Minor748
Активный пользователь
Активный
07.03.2023
20:59
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийsrebrovРодительский комментарий
0
войдите, чтобы ставить лайки
Локальный — который сам под себя пишешь?
Есть такие, видел в сети, собственно, упомянул про это.
srebrov
Активный пользователь
Активный
07.03.2023
21:06
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
0
войдите, чтобы ставить лайки
Нет, я не про то. Там есть преднастроенный репозиторий. Кидаешь туда ebuild, создаешь Manifest, а далее emerge <program_name>
srebrov
Активный пользователь
Активный
07.03.2023
21:02
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийsrebrovРодительский комментарий
+5
войдите, чтобы ставить лайки
Вообще для начинающих изучать кальку рекомендую почитать:
https://dzen.ru/a/Yx4fG7CmAgaE3zqU
Minor748
Активный пользователь
Активный
07.03.2023
21:08
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийsrebrovРодительский комментарий
0
войдите, чтобы ставить лайки
Отложил в закладки, почитаю потом.
Anonymous
09.03.2023
10:44
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийsrebrovРодительский комментарий
+1
войдите, чтобы ставить лайки
Но это для разовой установки, отладки либо, если сам собираешься кастомный ebuild руками сопровождать. Подключение же оверлея это — подключение репозитория, скоторым далее играешь через стандартные средства portage.
Мне как-то пришлось из-за странных глюков встроенного видео на ноутбуке устанавливать локально старое ядро и старые, отсутствующие уже в репах, Иксы. Вот это было проще всего сделать как раз custom, накидав ebuild'ы вручную.
А с софтом, который нужно бы ещё и обновлять штатными средствами, я б так делать не рекомендовал.
julyfox
Активный пользователь
Активный
08.03.2023
15:32
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Лайкнул, вроде интересно.
Но главный вопрос - оно того стоит (я про сборку из ebuild-ов)?
Minor748
Активный пользователь
Активный
08.03.2023
16:18
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийjulyfoxРодительский комментарий
+2
войдите, чтобы ставить лайки
Безусловно, стоит, иначе я бы я не стал писать, поднимать тему и изучать вопрос. Но тут есть и противоположное мнение, что вполне логично

https://pingvinus.ru/note/ebuild-usage#c84750

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

https://pingvinus.ru/note/ebuild-usage#c84761
[аноним]
09.03.2023
16:59
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
В Кубунту громкость работает..
WIK21
11.03.2023
11:36
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Прошу прощенья, но в Калькулейт это не так делается) Там свой каталог для локальной репы. /var/calculate/repos/custom/app-emulation/startwine(взят для примера, у вас свой)/startwine-368.ebuild(название ebuild должно соответствовать названию предыдущего каталога). Мало того нужно еще отредактировать файл layout.conf который находится по пути /var/calculate/repos/custom/metadata/layout.conf Внести в этот файл запись masrers = gentoo . Только после этого приступаем к генерации манифеста ebuild /var/calculate/repos/custom/app-emulation/startwine/startwine-368.ebuild digest (startwine взят для примера) После проводим команду ebuild /var/calculate/repos/custom/app-emulation/startwine/startwine-368.ebuild fetch (Опять же это все проводится из под root) после чего выходим из root и под правами юзверя sudo -a emerge startwine . В общем то и все, а выше приведенный автором поста мануал подходит только для gentoo
xKDE
Активный пользователь
Активный
13.03.2023
10:12
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийWIK21Родительский комментарий
+1
войдите, чтобы ставить лайки
То, что в Кальке есть предназначенные для ручной сборки и сторонних оверлеев преднастроенные каталоги (где уже и layout.conf прописан) не отменяет мануала gentoo)).
Единственное, автор использует wget вместо предназначенного fetch, как Вы верно заметили.
Но вместо всего этого (fetch, unpack, compile, install, qmerge) достаточно выполнить:
# ebuild ляляля.build merge
Потому как ebuild ... merge - это есть emerge))) а кой где понадобиться ещё config.
Но для обучения по пунктам даже лучше!
Хотя я бы настоятельно рекомендовал использовать актуальные оверлеи и только при крайней необходимости собирать самим (речь об обычных пользователях, для квалифицированных - они сами знают, что делать).
xKDE
Активный пользователь
Активный
13.03.2023
13:05
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
0
войдите, чтобы ставить лайки
Тут я не внимательно посмотрел, автор wget использует для скачивания самого .ebuild файла, так что всё норм) исходники только не загружены остались)

Написать комментарий

Ваше имя:
Текст комментария:
  • Уважать других.
  • Не ругаться.
  • Без оскорблений.
  • Без грубости.
  • Не переходить на личности.
  • Писать на русском языке.
  • Без политики.
  • Без флуда.
Правила