LINUX.ORG.RU

EXPORT_FUNCTIONS - как это работает?

 


1

1

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

1) правильно я понял?
2) где описано само слово «EXPORT_FUNCTIONS», кто его обрабатывает?
это непосредственно синтаксис bash и надо читать руководство по нему,
или это какой-то фреймворк поверх (как он тогда называется и где по нему документация)?

init_6: portage на python парсит ebuild-ы и вызываемые ими eclass-ы и собирает из этого самый обычный скрипт на bash.
Это вкратце и не учитывая еще кучи веселухи как к примеру /etc/portage/bashrc :)

всё её внутренности отлично прописаны в PMS



Последнее исправление: StrongDollar (всего исправлений: 2)

Это для eclass, чтобы перезаписывать стандартные ф-ции в ebuild в зависимости от inherit. Понятно, приоритеты нужно как-то решать, вот о том и пишут.

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

перезаписывать

пишут на каком-то объекте-носителе записи. Что здесь в данном случае является поверхностью? Кто составляет и держит таблицы функций, в которые идёт перезапись?

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

где описано само слово «EXPORT_FUNCTIONS», кто его обрабатывает?

Кури /usr/lib/portage/python2.7/ebuild.sh

или это какой-то фреймворк поверх (как он тогда называется и где по нему документация)?

Этот «фреймворк» называется, внезапно portage. Часть portage написана на питоне, часть - на баше.

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

Кури /usr/lib/portage/python2.7/ebuild.sh

не могу, нет такого файла на диске. Где у него репозиторий, доступный через web?

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

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

Есть стандартный набор функций которые следуют в строго заданном порядке. Дальше есть eclass а по простому библиотека реализует этот стандартный набор функций для опрелеленного набора схожих программ... и ebuild и то и другое по сути на bash-е. portage на python парсит ebuild-ы и вызываемые ими eclass-ы и собирает из этого самый обычный скрипт на bash. Это вкратце и не учитывая еще кучи веселухи как к примеру /etc/portage/bashrc :)

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

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

Да, это так. Части, написанные на Python-е поддерживают работу как под Python 2 так и под Python 3.

не могу, нет такого файла на диске. Где у него репозиторий, доступный через web?

Тут

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

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

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

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

Ты нашёл кого спрашивать о потаённых внутренностях генты :-)

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

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

Ты нашёл кого спрашивать о потаённых внутренностях генты :-)

Я ваще к разработке gentoo не причастен и то знаю что всё её внутренности отлично прописаны в PMS так что разрабатывать хоть 100500 аналогов portage не проблема. Было-бы желание.

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

ооо, это надолго:

At this point there's still no ETA to resume the gitweb and http access. We're waiting on systems from a new sponsor to host these services.

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

если бы миллионы простых школьниковлюдей действительно пользовались бы гентой, а не alt-linux-ом, то в интернете было бы полно записей в блогах с шапками «как работает то и это изнутри, вдоль и поперек»

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

если бы миллионы простых школьниковлюдей действительно пользовались бы гентой, а не alt-linux-ом, то в интернете было бы полно записей в блогах с шапками «как работает то и это изнутри, вдоль и поперек»

Если тебе нужны шашечки читай PMS там всё просто от и до... а если тебе нужно ехать devmanual.gentoo.org содержит исчерпывающую информацию.

А если тебе надо дорыться просто до дамой сути вон оригинальный portage-v1.0 от самого создателя. Это считай что самые его первые шаги.

И как говорится успехов.

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

если бы миллионы простых школьников действительно пользовались бы гентой, а не alt-linux-ом

Это бы быстро скатило дистрибутив в г***о. Что хочет обычный пользователь Вася? Чтобы systemd был (вон, у Коли такой, и загружается быстро), Click packages и прочий шлак. Не будешь же ты обычному пользователю объяснять, что зато у нас subslot-ы и multilib допилили.

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

то в интернете было бы полно записей в блогах с шапками «как работает то и это изнутри, вдоль и поперек»

PMS исчерпывающе объясняет как оно ДОЛЖНО работать. Детали реализации можешь посмотреть в коде portage и paludis-а - они должны соответствовать PMS.

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