Написание & корректировка *.ebuild

Всем, Здравствуйте!
Когда-то в далёком 2012 году, я только начинал пробовать себя в Gentoo & Calculate-Linux и постарался осветить один из Важнейших принципов Open Source - Это когда За Основу берётся именно Философия Gentoo - Исходный код. И всё дальнейшее повествование базируется именно на этой основе. Плодить сущность я не стану в данной теме. Тем более, что уже была создана подобная и мной —> Создание ebuild - #39 by soustan . Обратите внимание на дату создания 2012 год. 10 лет от текущего момента! Что-то изменилось в части Open Source ? Что-то удалось настроить и внедрить в Gentoo & Calculate-Linux ? Стоит сказать, что многое всё же удалось, и тем более на фоне дикой конкуренции с тем самым заокеанским софтом, который не прекращает конкурировать с его же Создателем - Linux !
Так вот, в этой теме, я всё же предлагаю, на вполне стоящей основе (gentoo.org), делиться общими Правилами, описанными во всевозможных Инструкциях (в том числе и на данном ресурсе) Лично на мой взгляд - НЕ даёт ответа на вопрос, который является Принципиальным и определяющим, при Переходе на Gentoo / Calculate , уже использовании того или иного дистрибутива на основе описанных мной. А вопрос ведь “простой” -
Каким образом возможно написать *.ebuild “с нуля” ?
Начиная с уже имеющихся бинарных основ —> *deb & *.rpm - packages ! Про написание софта на основе исходного кода, видимо пока что стоит промолчать. Ибо этому, стоит посвятить отдельную Тему.
Друзья! Предлагаю присоединяться к данной теме, не направлением на известные ресурсы, например: https://devmanual.gentoo.org/ или Ebuild Writing – Gentoo Development Guide или подобные, Уважаемые и исходные ресурсы!
Но, например взять (знающему Специалисту !) конкретный пакет / софтину —> *.rpm , равно как и *.deb и до самых мельчайших подробностей описать, каким образом создавался конкретный *.ebuild —> на его основе ?
Конечно же возникнут вопросы ! Их будет великое множество !!
Однако, не за этим самым Мы ВСЕ здесь и собрались ?!
Считаю как и в предыдущем мною созданной (Крипто ПРО CSP) теме для обсуждения, Результатом —> Некую, написанную на РУССКОМ языке - Инструкцию, на основе которой, ЛЮБОЙ, пусть и не основательно разбирающийся в коде Специалист, сможет (если пожелает!) написать / скорректировать *.ebuild , как на основе *.rpm так и на основе *.deb .
Надеюсь, что для САМЫХ Умных - эта задача, не является трудоёмкой ? Однако, всё же и эти люди смогут поучаствовать в “русификации”, когда-то созданного скрипта —> .ebuild

С нуля писать тяжело - легче “копи-паст”.
Для начала можно подглядывать в имеющиеся ebuild и писать по аналогии.
После может прийти понимание.

Для одной, единственной, пользовательской системы в организации локально подготавливаю/ обновляю следующие:

  • браузер “Chromium-Gost”;
  • плагин “КриптоПро”;
  • агент администрирования “Kaspersky Security Center”.
1 Like

“заокеанский софт”, “на основе deb и rpm”, что у вас в голове?
В нормальном случае ебилд создаётся для исходников, если приходится использовать деб или рпм, то в 100% случаев это или кривые лапы разрабов, или проприетарщина.
Общие принцыпы написания описаны именно в тех мануалах, что приведены - других нет. Что обсуждать-то?

Некоторые моменты:

  • В частности, vim при запуске с ещё несуществующим файлом ебилда создаёт готовый шаблон для заполнения.
  • Следующие маны просто необходимы: man 5 ebuild по базе, а для eclass’ов ставим eclass-manpages.
  • repoman желательно освоить, помогает отлавливать оплошности (контроль качества)
  • Правда, некоторые вещи не прописаны в манах, их остаётся только гуглить; eapply (специально нагуглить трудно), eapi7-ver (встроенные функции будущего EAPI=7, бэкпортированные для EAPI=6), возможно что-то ещё.

Почему-то возникает ощющение, что вы хотите скомпилировать “сферического коня в вакууме”. Узнать (или сразу знать) всё обо всём. Понятно, что у вас мотивация другая, но последовательность действий (кол-во и качество текста здесь на форуме) как бы намекает.
Звиняйте, это ответ не только вам, нои топикпастеру.

Ну, общее на то и общее, почти как изучение ЯП без представления, что именно писать, отрабатывая навыки.

  • А топик старт я даже до конца не осилил :slight_smile:

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

P.S. Если у кого есть софт на примете, без ебилда, на его примере разобрать создание скрипта и написание самого ебилда

Уважаемый, RodionD, Я так понимаю, что Вы не готовы, что-либо предложить, в части НЕ manual-ов, о которых Вы пишите. А конкретно, взять любой из пакетов “проприентарщины”, и написать к нему *.ebuild. При этом, если Вы читали мой предложенный вариант и исходный пост, то смысл написания, того и / или иного ebuild-a(скрипта), именно в том, что дать пояснения, что в нём представляет каждая из строк!? И конечно же, для тех кто не во всём понимает суть написанного в скрипте, то почитать соответствующий man (в этом смысле ссылка на bugs.gentoo.org , wiki.installgentoo.com, and other links). Таким образом, как это мне представляется, появится возможность ответить на весьма “простой” вопрос:

  • Каким образом, осуществить запуск того или иного приложения, уже запускаемого в системах (*.rpm, *.deb) по крайней мере в Calculate-Linux ?
  • Считаю Основным именно тот момент, что на текущий момент имеется сравнительно мало запускаемых приложений, конкретно в Calculate-Linux. И уж тем более мало таких Специалистов, которые по примеру реализации такого направления как КриптоПРО CSP - Проявляют в самом деле реализацию проекта! В отличии от самого разработчика компании КриптоПРО. Ответы на вопрос - Почему так ? НЕ интересен!!! конечным Пользователям / администраторам / Лицам принимающим Решения, об использовании той или иной системы Linux. Тем более в текущей ситуации: Импортозамещения, Очередной смены формации на планете и подобным катаклизмам. Работает или НЕ работает ?! Быть или НЕ быть ?! Вот в чём вопрос! /Шекспир, Гамлет/
  • По мимо того, что появляется некий man, которого на текущий момент - НЕТ! А те что есть на известных ресурсах, НЕ отвечают на мною поставленный вопрос. И при этом не важно, у кого и насколько “кривые руки”. Эти рассуждения - считаю пустой болтовнёй! При этом НЕТ движения в сторону реализации запуска, тех или иных приложений. После чего конкретно про Calculate пишут… Мол… это не запускается или это… приложение так же пока что не доступно.
  • Таким образом, есть на мой взгляд Часть первая и Принципиальная - Приложение Запускается и не отваливается конкретно в системе Calculate-Linux.
  • А есть и Часть вторая, вероятные ошибки, которые не позволяют в каком либо из сценариев, всё таки появляться неким bug-ам.
    Вместе с этим, появятся многие вопросы к исходникам… НО, это уже совсем другая история.
    Суммируя, ещё раз прошу: Давайте двигаться в части РЕАЛИЗАЦИИ ЗАПУСКА ПРИЛОЖЕНИЙ - Конкретно в Calculate-Linux !!!
    Занимающихся пустой болтавнёй —> [OFFTOP]

Полагаете, стоит обратиться к администраторам КалькВики, с этой целью ?

Уважаемый, AlexOmskiy!
У Вас какие-то конкретные предложения, в части реализации, предложенного мною направления по *.ebuild ? Или Вы в очередной раз “на поболтать” ? Если так, то очень прошу не засорять Тему!

Первое, пользуемся поиском:

Второе: Никто вам не даст однозначной инструкции как сделать ебилд для deb\rpm, потому как это пакеты от других пакетных менеджеров, есть базовая инструкция от генты по написанию ебилдов, там есть часть про использование deb\rpm, всё остальное это кропотливое изучение нужного вам пакета, разрешение зависимостей и т.д. Мало того, примерно в 50% случаев эти пакеты не установятся в систему, т.к. будут неразрешимые зависимсти или пакет захочет поменять системные файлы своими, что черевато поломкой рабочей системы и т.д., так же, но уже в 90% случаев пакет не встанет, если требует модуль ядра, который был собран для другой системы и не предоставляет сырцы этого модуля. Ну и вишенка на торте - systemd, если без него пакет не работает то будьте добры ломать кальку через колено и вкорячивать в неё systemd. Готовы? Дерзайте.

Отвечу так. Если у Вас нет конкретных предложений и уж тем более разбора конкретного *.ebuild —> по зависимостям ? То с какой целью Вы пишите здесь то, что Вы пишете ? Засорить этот топик и Тему ? Или какой-то иной у Вас интерес ? Пустое бла-бла-бла и разъяснения каким образом функционирует Gentoo / Calculate-Linux, в описываемой Вами части - беспредметно! Ибо, лично мною многие моменты понимаются вполне адекватно. Инструкций - так же хватает.
Суммирую: Отсутствует, конкретные предложение и тем более разбор конкретного *.build ? —> Прошу НЕ засорять Тему!

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

P.S. Возможно попинать разрабов КриптоПРО, предложить самостоятельно поддерживать пакет для Кальки.

Какого мануала вы хотите?
В общем случае ебилд по установке rpm выглядит так:

EAPI 8

inherit unpacker

SRC_URI="<path to rmp>.rpm"

Всё.
Больше ничего не нужно. Всё остальное зависит от конкретного пакета и дополняется только при попытке запустить его на вашей системе.

Пакет для генты есть, я давал ссылку на тему на форуме.

Повторяюсь!
Я в исходном запросе описал Задачу. И не в “общем” случае. а в конкретном - частном.
То есть - берем отдельный пакет(*.deb or *.rpm) / приложение(видимо интереснее на примере чего-то не особенно сложного, т.е. не вызывающего большого количества зависимостей) и пишем для него *.ebuild. Или берем уже существующее / работоспособное приложение в Calculate-Linux и на примере его, поясняем, что из себя представляет, та или иная строка в *.ebuild .
Или как например в ближайшем моём примере, был вот такой *.ebuild, однако, с такой-то версии, в нём произошли изменения(…), ввиду того, что изменился исходник *.deb . Поэтому необходимо скорректировать такие-то строки непосредственно в скрипте.
Тем, кому я пишу эти строки и без моих пояснений - ВСЁ ПОНЯТНО! Я же, ещё раз пытаюсь достучаться до тех, кто в состоянии потратить время, и разложить ЛЮБОЙ из скриптов - построчно! С ответами на вопрос: Откуда взялось - ЭТО(…)? И почему необходимо в этой строке(…) учитывать вот ЭТО(…) Правило ?!
Если же Вам всё же трудно отделить “общие случаи” от частных ?
То опять же - С какой целью Вы перепечатываете в данной теме основы, которые много раз уже описаны?
Примеры / Решения <—> Описания / Ответы на вопрос - почему именно так / Что изменилось ?

Как раз таки с поддержкой КриптоПРО, благодаря долгой и кропотливой работе ztime и многих других Коллег по Цеху - это приложение успешно функционирует в Кальке. Моя же тема - другая! Описал см.выше

Опять же, в общем случае ответ на ваш вопрос такой: “Не использовать rpm\deb в системе”.
Что само собой сделает ненужной вашу “Задачу”.

Уже просили, например:

У Вас, Уважаемый - текста - много, от слова очень А предложений / Решений - я пока так и не увидел. Смысл Вами написанного, поясните ? Вы считаете - “ненужной эту Задачу” - Ну так и считайте дальше.
" Никто вам не даст однозначной инструкции как сделать ебилд для deb\rpm", а я и не просил, да и не может быть ничего однозначного. Почитайте, если сможете конечно ещё раз мой первый / исходный пост!
И всё таки призываю Вас либо писать здесь - по существу, либо писать где-то в другом месте… Сеть - довольно объёмная штука!