создание .ebuild для lotus domino
MKV 2 июня, 2006 - 12:34
Доброго времени суток.
Делаю ebuild для lotus domino 7, и столкнулся с такой проблемой:
в дистрибутиве domino есть инсталлятор, он может брать настройки из файла script.dat
Настраиваю script.dat и в ebuild прописываю примерно ./install -script ./script.dat
Так вот при попытке это дело использовать, впадает ошибка доступа ACCESS VIOLATION.... (кажется так)
Это этот скрипт пытается создать папку /opt/ibm а портежи не дают ему этого сделать...
Как это побороть?
З.Ы. Если в script.dat задать пути относительно ${D}, то скрипт эти пути пропишет в разных настройках...
»
- Для комментирования войдите или зарегистрируйтесь

Аналогично!
Всё-таки есть единое информационное поле Земли! И одинаковые мысли приходят в голову совершенно разным людям!! Я тоже неделю назад попытался написать ебилд для lotus domino 7 и натолкнулся на те же самые грабли.
По хорошему, надо патчить скрипт install (или же что-то в tools/lib/*.pl). Однако, есть более простой, но очень грубый метод: http://devmanual.gentoo.org/function-reference/sandbox-functions/index.html
Я хочу попробовать (но пока ещё руки не дошли) примонтировать (или сделать симлинки)
/opt/ibm/lotus -> ${D}/opt/ibm/lotus
/local/notesdata -> ${D}/local/notesdata
и пусть инсталляционный скрипт думает, что пишет в /opt/ibm/lotus и /local/notesdata. А на самом деле все файлы будут писаться в соответсвующии поддиректории в ${D}. Конечно, предварительно надо будет разрешить запись в /opt/ibm/lotus и /local/notesdata с помощью addpredict (или addwrite)
:-) точно, есть....
Да, нужно попробовать с addpredict и addwrite....
напишу, что из этого выйдет....
addpredict и addwrite
В общем если разрешить запись с помощью addpredict и addwrite и подмонтировать, то все заработает почти как надо...
только как-то криво... приходиться в середине присоединения настраивать сервер... хотя если переменная DISPLAY не определена, он выдаст ошибку, все установиться и тогда можно настроить удаленно...
Хотя можно настраивать удаленно и при присоединении...
Видимо самый нормальный подход, это сделать пакет и его уже устанавливать на сервера.
Может, есть еще способы?
Re: addpredict и addwrite
Не понял. Какой сервер настраивать приходится? В какой середине? У меня ничего не надо. Иксы на тачке не установлены.
Всё нормально устанавливается в соответсвующие директории, потом делаешь
И дальше с виндов ставишь...
Может ты хочешь, чтобы в том же ебилде тебе установился готовый сервер с готовыми базами? Ну, это ИМХО не правильно. Должна ставиться только программа. А настраивать - это уже ручками.
Кстати, вот мой ебилд:
# Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils DESCRIPTION="IBM Lotus Domino server" HOMEPAGE="http://www-142.ibm.com/software/sw-lotus/products/product4.nsf/wdocs/dominohomepage" SRC_URI="c88r9na.tar" LICENSE="Private" SLOT="0" KEYWORDS="~x86" IUSE="" RESTRICT="fetch" DEPEND="virtual/libc >=dev-lang/perl-5*" RDEPEND="virtual/libc sys-libs/lib-compat" S=${WORKDIR}/linux/domino pkg_nofetch() { einfo "Please download the appropriate Lotus Domino archive (${SRC_URI})" einfo "from ${HOMEPAGE}" einfo "Then put the file in ${DISTDIR}" } pkg_setup() { mkdir -p /opt/ibm/lotus mkdir -p /local/notesdata enewgroup notes enewuser notes -1 /bin/sh /local/notesdata notes chown notes:notes /local/notesdata } src_unpack() { unpack ${A} cp -f ${FILESDIR}/script.dat ${T}/ } src_install() { addwrite /local/notesdata addwrite /opt/ibm/lotus addwrite /etc/mtab mkdir -p ${D}/opt/ibm/lotus mkdir -p ${D}/local/notesdata mount -o bind ${D}/local/notesdata /local/notesdata mount -o bind ${D}/opt/ibm/lotus /opt/ibm/lotus ${S}/install -script ${T}/script.dat umount /local/notesdata umount /opt/ibm/lotus dodir /etc/conf.d dodir /etc/init.d dodir /etc/env.d cp -f ${FILESDIR}/domino.conf ${D}/etc/conf.d/domino cp -f ${FILESDIR}/domino.init ${D}/etc/init.d/domino fperms 755 /etc/init.d/domino cp -f ${FILESDIR}/domino.env ${D}/etc/env.d/99domino }К нему надо ещё в директорию ${FILESDIR} запихать четыре файла:
1. Подготовленный script.dat
2. Три файлика из вот этого треда: http://forums.gentoo.org/viewtopic-t-37172.html (вот только domino.conf я сразу изменил - раскоментировал необходимые строчки)
Re: addpredict и addwrite
В файле script.dat есть параметр:
start_server_setup
если ему присвоить значение 2, то когда делаешь emerge этот "server -listen" запускается сразу после отработки скрипта install...
приходиться коннектиться программой serversetup и настраивать, потом emerge продолжается. А если в этом параметре у тебя что-то отличное от двойки, то скрипт install выдаст ошибку, что переменная DISPLAY не определена и установка пойдет дальше... последний случай, твой.
Что тут непонятно?
Готовый серврер НЕ надо :-)
Вот мой ебилд http://webfile.ru/980900
З.Ы. Тока я его еще не закончил…
странно, у меня
странно, у меня start_server_setup = 0. Вроде, из ошибок (вернее - предупреждений) только что "ваша система не поддерживаеся" :-)
На всякий случай, вот script.dat:
script_rev="6.0" # please do not change from user. otherwise it will break you$ installation_type = 2 template_install_option = 1 asp_install_option = 0 start_server_setup = 0 add_data_directories_only = 0 program_directory = "/opt/ibm/lotus" opt_lotus_softlink = 0 data_UNIX_user = "notes" data_UNIX_group = "notes" data_directories: "/local/notesdata" { # un-comment either of the following lines to override the defaults # data_UNIX_user = "notes" # data_UNIX_group = "notes" }