создание .ebuild для lotus domino

Доброго времени суток.

Делаю 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

MKV написал(а):
приходиться в середине присоединения настраивать сервер...

Не понял. Какой сервер настраивать приходится? В какой середине? У меня ничего не надо. Иксы на тачке не установлены.

Всё нормально устанавливается в соответсвующие директории, потом делаешь

# su - notes
$ server -listen

И дальше с виндов ставишь...

Может ты хочешь, чтобы в том же ебилде тебе установился готовый сервер с готовыми базами? Ну, это ИМХО не правильно. Должна ставиться только программа. А настраивать - это уже ручками.

Кстати, вот мой ебилд:

# 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"
}

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".