Как правильно переопределить функцию src_install()?
Anarchist 22 Августа, 2011 - 11:11
Обрадовался появлению в дереве x11-libs/openmotif
(особенно радостным известием оказалось то, что OpenCDE тоже есть).
Не смотря на некоторую экзотичность (система сборки ориентирована на FreeBSD, какой ебилд можно посмотреть?) сама сборка проблем не составила:
opencde/files/config.Mk.patch
:
--- opencde/config.Mk.orig 2011-08-16 17:42:50.000000000 +0400 +++ opencde/config.Mk 2011-08-16 17:43:20.000000000 +0400 @@ -1,5 +1,5 @@ # Available platforms:- FREEBSD LINUX OTHER -PLATFORM=FREEBSD +PLATFORM=LINUX PREFIX=/usr/local
opencde-6.2.0.ebuild
:
# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI=3 inherit eutils autotools DESCRIPTION="OpenCDE is a free implementation of the Open Group's Common Desktop Environment" HOMEPAGE="http://devio.us/~kpedersen/" SRC_URI="http://devio.us/~kpedersen/releases/${PN}-620.tar.gz" RESTRICT="mirror" LICENSE="GPL" SLOT="0" KEYWORDS="~x86" IUSE="" DEPEND="x11-libs/openmotif x11-proto/printproto x11-libs/libXp x11-base/xorg-server" RDEPEND="${DEPEND}" src_prepare() { epatch "${FILESDIR}/config.Mk.patch" mv ${WORKDIR}/${PN} ${S} }
В таком виде собирает нормально, но стандартная функция src_install()
закономерно обламывается:
>>> Install opencde-6.2.0 into /var/tmp/portage/x11-wm/opencde-6.2.0/image/ category x11-wm make -j2 DESTDIR=/var/tmp/portage/x11-wm/opencde-6.2.0/image/ install mkdir -p /usr/local mkdir -p /usr/local/share mkdir -p /usr/local/etc ACCESS DENIED mkdir: /usr/local/etc mkdir: невозможно создать каталог <</usr/local/etc>>: Отказано в доступе make: *** [install] Ошибка 1 emake failed >>> Completed installing opencde-6.2.0 into /var/tmp/portage/x11-wm/opencde-6.2.0/image/ --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE "/var/log/sandbox/sandbox-3397.log" VERSION 1.0 FORMAT: F - Function called FORMAT: S - Access Status FORMAT: P - Path as passed to function FORMAT: A - Absolute Path (not canonical) FORMAT: R - Canonical Path FORMAT: C - Command Line F: mkdir S: deny P: etc A: /usr/local/etc R: /usr/local/etc C: mkdir -p /usr/local/etc --------------------------------------------------------------------------------
После отработки src_compile()
временный рабочий каталог выглядит следующим образом:
ls /var/tmp/portage/x11-wm/opencde-6.2.0/work/opencde-6.2.0/ ./ bin/ doc/ include/ Makefile* share/ ../ config.Mk* etc/ lib/ README src/
ЗЫ: Что с http://devmanual.gentoo.org/ebuild-writing/ ?
»
- Для комментирования войдите или зарегистрируйтесь
Тут не src_install виноват, а
Тут не src_install виноват, а то, что собрано оно не для установки в ${DESTDIR}.
> ЗЫ: Что с http://devmanual.gentoo.org/ebuild-writing/ ?
Ничего.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Варианты:1)патчить
Варианты:
1)патчить билд-систему
2) вместо make install доинс,долиб,добин , ....
3) рассказать апстриму о существовании автотулзов, смаке, ...
как вариант смотреть продукты мозиллы - nss, nspr, mozldap ..
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
/
Можно поподробнее про этот пункт (в смысле: что/где читать)?
Пункты два и три в очереди. :)
:wq
--
Live free or die
ман patch make diff :-S
ман {svn,hg,git},patch make diff :-S
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
/
Это ответ на вопрос "как?".
Меня же на данном этапе больше интересует вопрос "что?".
:wq
--
Live free or die
make, autotools
make, autotools
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
там нет автотулсов; хотя...
там нет автотулсов; хотя... если он их напишет ...
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)