# Работа с mono в gentoo

## ArsenShnurkov

Как правильно писать ebuild-ы ?

Посмотрел несколько готовых для примера, есть у меня вопросы:

1) почему в ебилде dev-dotnet/log4net регистрация в gac выполняется на фазе src_install(). Правильно ли я понимаю, что если ставить из бинарного пакета, то регистрация в GAC выполнена не будет, надо было прописывать ее в pkg_preinst() ?

2) почему в ебилде dev-dotnet/mysql-connector-net регистрация в GAC выполняется не при помощи обертки egacinstall, как при этом обрабатываются ошибки?

Где прочитать описание пары ebegin .. eend

вот тут их описания нет:

http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=1

* промержил app-portage/eclass-manpages,

образовался файл /usr/share/man/man5/eutils.eclass.5.bz2

но команды man eutils и man eutils.class ничего не показывают,

как пользоваться - непонятно.

* прочитал man man - не помогло.

* запустил

man /usr/share/man/man5/eutils.eclass.5.bz2

вроде бы помогло, но и там описания пары ebegin..eend не нашел

описания некоторых классов вообще нет (go-mono, например)

описание mono.eclass поражает наличием единственной строчки текста

3) в ебилде dev-dotnet/edtftpnet ошибки при регистрации в GAC вообще не проверяются, используется абсолютный путь до утилиты регистрации (а вдруг он не такой?)

или все-таки как-то проверяются bash-ем ?

https://bugs.gentoo.org/show_bug.cgi?id=372447

https://bugs.gentoo.org/show_bug.cgi?id=372449

https://bugs.gentoo.org/show_bug.cgi?id=372451

https://bugs.gentoo.org/show_bug.cgi?id=372453

Так же мне не ясно, как регистрировать dll-ки для соединения с базами данных в файле machine.config

вот например, если мне нужен ebuild для mysql-connector-net, чтобы он dll-ку регистрировал в machine.config,

то что мне надо делать?

https://bugs.gentoo.org/show_bug.cgi?id=334927

----------

## Etal

Я .NET-ом никогда не пользовался, поэтому вопросы о mono я ответить не могу.

 *ArsenShnurkov wrote:*   

> Как правильно писать ebuild-ы ?

 

Описание ebuild-ов здесь: http://devmanual.gentoo.org

Более подробную документацию можно получить в /usr/share/doc/portage-2.2.0_alpha41/html/index.html если «doc» USE flag включен для portage-а. ($ USE=doc emerge -a portage)

 *ArsenShnurkov wrote:*   

> Где прочитать описание пары ebegin .. eend
> 
> вот тут их описания нет:
> 
> http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=1
> ...

  */usr/share/doc/portage-2.2.0_alpha41/html/ch06s02.html#package-ebuild-helper-functions-output-ebegin wrote:*   

> ebegin
> 
> Like einfo, we output a helpful message and then hint that the following operation may take some time to complete. Once the task is finished, you need to call eend.
> 
> eend
> ...

 

 *ArsenShnurkov wrote:*   

> описания некоторых классов вообще нет (go-mono, например)
> 
> описание mono.eclass поражает наличием единственной строчки текста
> 
> 

 

eclass-manpages выглядит устарелым. Описание классов можно найти в самой имплементации: /usr/portage/eclass/go-mono.eclass

----------

