HD Видеоконференции на OpenMCU



Увы, но поддержка форума прекращена и он работает в режиме read only. Если кто-то решит воскресить проект - то возможно и форум заработает. Если будут вопросы, то задавайте их в issue на github.

Автор Тема: ebuild-ы для gentoo  (Прочитано 6035 раз)

oldbay

  • Пользователь
  • **
  • Сообщений: 60
  • Карма: 4
ebuild-ы для gentoo
« : 04 Июня 2014, 16:56:45 »
Заинтересовался данным проектом.
Для простоты работы сделал 2 ebuild-а на gentoo = на версию 3.48 и git(999).
В зависимость к версии 3.48 создан ebuild на libyuv - по сути должен подключаться use флагом - но конфигуратор openmcu-ru в упор что то его пока не хочет видеть (буду разбираться дальше)

Из особенностей:
В configure.ac имеется команда ldconfig -v которая лезет во время конфигурации за пределы песочницы (попытка приобрести права на запись в /etc/ld.so.cache) - в результате сборка прерывалась.
Вылечено мерзким хаком
sed -i -e 's|ldconfig -v|ldconfig -r|g' configure.acпатч писать не стал - так как в git версии configure.ac может еще 100 раз поменяться

как работает:
Стартует как стандартный сервис OpenRC (rc-service openmcu-ru start)
можно добавть на автостарт (rc-update add openmcu-ru default)

upd:
добавлена защита каталогов с конфигами (недопущение затирания изменённых конфигов при обновлении)

upd 27.01.2015:
Новый ebuild для git версии >=4.0
добавлены USE флаги:
libjpeg-browser = для сбоки с --enable-libjpeg (по умолчанию disable)
zrtp = для сборки с --enable-libzrtp (по умолчанию disable)
« Последнее редактирование: 27 Января 2015, 14:35:26 от oldbay »

oldbay

  • Пользователь
  • **
  • Сообщений: 60
  • Карма: 4
Re: ebuild-ы для gentoo
« Ответ #1 : 04 Декабря 2014, 13:19:56 »
Некоторое время назад gentoo стало использовать gcc-4.8 для сборки мира
openmcu-ru этой версией компилятора собрать не получится (вернее: получится  - но работать система не будет)
посему:
нужно обязательно оставить установленным gcc версии 4.7
собирать с установленной в отделный слот (не дефолтной) версией gcc-4.7 можно двумя разными способами:

1) Ручной способ
проверяем текущую версию по умолчанию gcc:
# gcc-config -l
 [1] x86_64-pc-linux-gnu-4.7.3
 [2] x86_64-pc-linux-gnu-4.8.3 *
как видим установлена версия 4.8
переводим default версию в 4.7:
# gcc-config -f 1
 * Switching native-compiler to x86_64-pc-linux-gnu-4.7.3 ...
!!! Repository 'x-overlay' is missing masters attribute in '/opt/overlay/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
>>> Regenerating /etc/ld.so.cache...                                                                                                                                                                                            [ ok ]

 * If you intend to use the gcc from the new profile in an already
 * running shell, please remember to do:

 *   . /etc/profile
проверяем:
# gcc-config -l
 [1] x86_64-pc-linux-gnu-4.7.3 *
 [2] x86_64-pc-linux-gnu-4.8.3
собираем openmcu-ru:
# emerge openmcu-ru
!!! Repository 'x-overlay' is missing masters attribute in '/opt/overlay/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
WARNING: One or more repositories have missing repo_name entries:

/opt/overlay/profiles/repo_name

NOTE: Each repo_name entry should be a plain text file containing a
unique name for the repository on the first line.



 * IMPORTANT: 10 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.


These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ~] net-voip/openmcu-ru-999

Would you like to merge these packages? [Yes/No]
возвращаем gcc обратно(иначе при обновлениях мир не соберется):
# gcc-config -f 2
 * Switching native-compiler to x86_64-pc-linux-gnu-4.8.3 ...
!!! Repository 'x-overlay' is missing masters attribute in '/opt/overlay/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
>>> Regenerating /etc/ld.so.cache...                                                                                                                                                                                            [ ok ]

 * If you intend to use the gcc from the new profile in an already
 * running shell, please remember to do:

 *   . /etc/profile

2)Автоматический способ

Широко известный в узких кругах генто-хакер megobaks написал кастыль позволяющий применять различные(установленные) версии gcc при сборки отдельных пакетов:
https://www.linux.org.ru/forum/development/6975216#comment-6975253
https://www.linux.org.ru/forum/general/6975613/

Смысл кастыля:
добавляем (или изменяем) файл: /etc/portage/bashrc
if [ -f ${ROOT}/etc/portage/package.compilers ]; then
  while read target ver; do
   if [ "${target}" = "${CATEGORY}/${PN}" ]; then
    MY_GCC="$(find /usr/$MACHTYPE/gcc-bin/ -name "$ver*")"
    export ROOTPATH="${MY_GCC}:${ROOTPATH}"
    export PATH="${MY_GCC}:${PATH}"
    export LIBRARY_PATH="$(gcc-config -L):${LIBRARY_PATH}"
   fi
  done < ${ROOT}/etc/portage/package.compilers
fi

добавляем конфиг: /etc/portage/package.compilers
формат конфига <пакет> <версия gcc>
net-voip/openmcu-ru 4.7.3

После этого openmcu-ru (или любой другой выбранный пакет) будет собираться с нужной версией gcc


kay27

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3068
  • Карма: 58
Re: ebuild-ы для gentoo
« Ответ #2 : 04 Декабря 2014, 16:25:15 »
По сборке с 4.8 есть уже одна тема: http://openmcu.ru/forum/index.php/topic,474.0.html
И есть решение: http://openmcu.ru/forum/index.php/topic,474.msg7501.html#msg7501

oldbay

  • Пользователь
  • **
  • Сообщений: 60
  • Карма: 4
Re: ebuild-ы для gentoo
« Ответ #3 : 27 Января 2015, 14:25:23 »
В связи с изменениями в сборочных сценариях для версии 4.0 и выше: изменён ебилд для гит версии openmcu-ru

Появились USE флаги:
libjpeg-browser устанавливается для сбоки с --enable-libjpeg. При сборке указывается что это libjpeg для браузера - что за зсерь и с чем его едят, мне пока не ведомо... но оно собирается

zrtp нужен для сборки с --enable-libzrtp, из за "мутной" лицензии libzrtp поддержка zrtp "по умолчанию" убрана разработчиками openmcu-ru. В любом случае, с ключём сырцы собираются - zrtp работает.

п.с:
Отдельный пакет для релиза 4.0 пока не делал - в будущем буду делать пакеты для релизов, исходя из гит версии с фиксацией релизного коммита. 
« Последнее редактирование: 27 Января 2015, 14:30:39 от oldbay »

xak

  • Разработчик
  • Ветеран
  • *****
  • Сообщений: 1791
  • Карма: 58
Re: ebuild-ы для gentoo
« Ответ #4 : 27 Января 2015, 15:25:48 »
libjpeg используется для браузера и логотипа(если jpeg). Если без libjpeg, то эти функции выполняет ffmpeg.

Добавил для 4.0/4.1 файл "readme" со ссылкой на эту тему, и на другие темы связанные со сборкой.
http://openmcu.ru/public/OpenMCU-ru/4.1/

oldbay

  • Пользователь
  • **
  • Сообщений: 60
  • Карма: 4
Re: ebuild-ы для gentoo
« Ответ #5 : 27 Января 2015, 15:29:20 »
libjpeg используется для браузера и логотипа(если jpeg). Если без libjpeg, то эти функции выполняет ffmpeg.

Понятно, спасибо!

morgoved

  • Новичок
  • *
  • Сообщений: 1
  • Карма: 0
Re: ebuild-ы для gentoo
« Ответ #6 : 11 Октября 2016, 15:35:23 »
чет так и не понял где искать ебилд для 4,1? и вообще где-то ебилд более менее нормальный)
может поделитесь?

schmel

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 574
  • Карма: 30
Re: ebuild-ы для gentoo
« Ответ #7 : 18 Октября 2016, 17:44:15 »
Для новых версий ebuild нет.
Вскоре попробую сделать рефакторинг и автоматизированные сборки пакетов под linux. Но для debian based и RHEL based.
Нужный человек не в том месте может перевернуть мир (Gman, Half-Life2)