rkward-0.6.3

Сабж резко поменялся по сравнению с пред. версией, в сети ебилдов нет. Накатал по мотивам 0.6.1 и 9999 такое:

EAPI=5

KDE_DOC_DIRS="doc"
KDE_HANDBOOK="optional"
KDE_LINGUAS="ca cs da de el es fr it lt pl tr zh_CN"

inherit kde4-base

DESCRIPTION="IDE for the R-project"
HOMEPAGE="https://rkward.kde.org/"
SRC_URI="http://download.kde.org/stable/rkward/${PV}/src/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="4"
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
IUSE="debug"

DEPEND="
	dev-lang/R
	$(add_kdebase_dep katepart)"
RDEPEND="${DEPEND}"

src_configure() {
	# to have it compatible with R which had a bad R_HOME
	unset R_HOME
	kde4-base_src_configure
}

src_install() {
	kde4-base_src_install
	# avoid file collision with kate
	rm "${ED}"/usr/share/apps/katepart/syntax/r.xml || die
}

При сборке вылетает с такой руганью:

* Messages for package sci-mathematics/rkward-0.6.3:

 * ERROR: sci-mathematics/rkward-0.6.3::local_overlay failed (prepare phase):
 *   linguas dir "po" does not exist
 * 
 * Call stack:
 *     ebuild.sh, line   93:  Called src_prepare
 *   environment, line 3783:  Called kde4-base_src_prepare
 *   environment, line 2836:  Called enable_selected_linguas
 *   environment, line 1497:  Called _enable_selected_linguas_dir 'po'
 *   environment, line  490:  Called die
 * The specific snippet of code:
 *       [[ -d ${dir} ]] || die "linguas dir \"${dir}\" does not exist";
 * 
 * If you need support, post the output of `emerge --info '=sci-mathematics/rkward-0.6.3::local_overlay'`,
 * the complete build log and the output of `emerge -pqv '=sci-mathematics/rkward-0.6.3::local_overlay'`.
 * The complete build log is located at '/var/tmp/portage/sci-mathematics/rkward-0.6.3/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sci-mathematics/rkward-0.6.3/temp/environment'.
 * Working directory: '/var/tmp/portage/sci-mathematics/rkward-0.6.3/work/rkward-0.6.3'
 * S: '/var/tmp/portage/sci-mathematics/rkward-0.6.3/work/rkward-0.6.3'

...хотя директория "po" есть. Что характерно, 9999 из гита собирается нормально, но там порушено кое-что.
Помогите допилить, пожалуйста!

/

Если задача получить достаточно (в существенной части) работоспособную сборку, а ошибка в локализации, то напрашивается решение в начальном приближении локализацию выключить (в смысле «закомментировать»).

ЗЫ: И да, полный лог сборки тоже будет нелишним.

:wq
--
Live free or die

Спасибо, что откликнулись!

Вообще-то хотелось бы в багзиллу запилить с идеей намекнуть, что в portage пора, хотя бы как "~arch". Русской локализации нет, на КДЕшном сайте сам чёрт ногу сломит (хотел начать потихоньку переводить сам), так что для себя-то закомментить KDE_LINGUAS можно, но дело в принципе. Лог сборки: https://bpaste.net/show/10240e1552b3 (/var/tmp/portage/sci-mathematics/rkward-0.6.3/temp/build.log)

/

Принцип дело хорошее ☺
Правда по понятиям надо бы зафиксировать и довести до осознания разработчиками претензии к текущему слепку -9999.

Danhuu написал(а):
...хотя директория "po" есть.

По журналу валится на src_prepare().
man kde4-base.eclass прямо сообщает, что оная функция использует обработчики из kde4-functions.eclass.

Danhuu написал(а):
9999 из гита собирается нормально

Во-первых, s/git/svn/.
Во-вторых смотри упомянутую страницу руководства о документации в live-версиях кдеешных пакетов.

ЗЫ: Ты уверен, что ничего из зависимостей не потерял?

:wq
--
Live free or die

Anarchist

Anarchist написал(а):
...зафиксировать и довести до осознания разработчиками претензии к текущему слепку -9999.

Идея неплоха, консоль с руганью там есть.

Anarchist написал(а):
По журналу валится на src_prepare().
man kde4-base.eclass прямо сообщает, что оная функция использует обработчики из kde4-functions.eclass.

Наверное, это важно, но, к сожалению, выше моего уровня образования :-(((

Anarchist написал(а):
Во-первых, s/git/svn/.

Э... причём тут svn??? https://quickgit.kde.org/?p=rkward.git

Anarchist написал(а):
Во-вторых смотри упомянутую страницу руководства о документации в live-версиях кдеешных пакетов.

Погляжу, конечно, но понимаю я в этом, как заяц в геометрии - так, из общей логики и скромного опыта самой примитивнейшей правки ебилдов под новую версию.

Anarchist написал(а):
ЗЫ: Ты уверен, что ничего из зависимостей не потерял?

Вот это - https://bpaste.net/show/6bd7f32fee75 - некогда слитое из gpo.zugaina.org (сейчас не находится) и подправленное на нынешний git, компилится и работает, хоть и с мелкими глюками (некоторые пути в хелпе не там ищет). Отсюда предполагаю, что не потерял.

Возможно, я неточно сформулировал свою просьбу: Уважаемые знатоки, если у вас найдётся время и желание, напишите, пожалуйста, rkward-0.6.3.ebuild, шоб он собирался! Я честно попытался методом тыка сделать сам - не вышло. Если конкретно укажете, почему именно - буду вдвойне признателен. ;-)))

Из общей логики подозреваю, что эта самая src_prepare() или помянутые тобой обработчики ищут po не там, где она есть на самом деле. То ли разработчики в сорцах её не туда засунули, то ли одно из пяти.

ЗЫ:

ulvhare@ipee200a ~ $ man kde4-base.eclass
Нет справочной страницы для kde4-base.eclass

ЗЗЫ:
https://devmanual.gentoo.org/eclass-reference/kde4-base.eclass/ говорит, что:

kde4-base_src_prepare
General pre-configure and pre-compile function for KDE4 applications. It also handles translations if KDE_LINGUAS is defined. See KDE_LINGUAS and enable_selected_linguas() and enable_selected_doc_linguas() in kde4-functions.eclass(5) for further details.

Смотрю "further details"
https://devmanual.gentoo.org/eclass-reference/kde4-functions.eclass/index.html говорит, что:

enable_selected_linguas
Enable translations based on LINGUAS settings and translations supported by the package (see KDE_LINGUAS). By default, translations are found in "${S}"/po but this default can be overridden by defining KDE_LINGUAS_DIR.

Т.е., если я правильно понял, po ищется в корне распакованных сорцов, а в реале оно rkward-0.6.3/i18n/po/. Так что надо прописать KDE_LINGUAS_DIR = "${S}/i18n/po"

/

Danhuu написал(а):
Anarchist написал(а):
По журналу валится на src_prepare().
man kde4-base.eclass прямо сообщает, что оная функция использует обработчики из kde4-functions.eclass.

Наверное, это важно, но, к сожалению, выше моего уровня образования :-(((

Прежде чем пилить ебилды полезно хотя бы ознакомиться с стандартной страницей руководства man 5 ebuild.
Она же даст минимум скиллов в использовании стандартной справочной подсистемы.

Danhuu написал(а):
Anarchist написал(а):
Во-первых, s/git/svn/.

Э... причём тут svn??? https://quickgit.kde.org/?p=rkward.git

Хороший вопрос, правильный.
При том, что, с учётом нижеприведённой оговорки, я смотрел на ебилд с https://rkward.kde.org/Binaries_and_Build_Scripts

Danhuu написал(а):
Anarchist написал(а):
ЗЫ: Ты уверен, что ничего из зависимостей не потерял?

Вот это - https://bpaste.net/show/6bd7f32fee75 - некогда слитое из gpo.zugaina.org (сейчас не находится) и подправленное на нынешний git, компилится и работает, хоть и с мелкими глюками (некоторые пути в хелпе не там ищет). Отсюда предполагаю, что не потерял.

В том, что смотрел я:

DEPEND=">=dev-lang/R-2.7.0
        dev-lang/php[cli]"
RDEPEND="${DEPEND}
        !<=sci-mathematics/rkward-0.5.0b"
Danhuu написал(а):
Возможно, я неточно сформулировал свою просьбу: Уважаемые знатоки, если у вас найдётся время и желание, напишите, пожалуйста, rkward-0.6.3.ebuild, шоб он собирался! Я честно попытался методом тыка сделать сам - не вышло. Если конкретно укажете, почему именно - буду вдвойне признателен. ;-)))

Из общей логики подозреваю, что эта самая src_prepare() или помянутые тобой обработчики ищут po не там, где она есть на самом деле. То ли разработчики в сорцах её не туда засунули, то ли одно из пяти.

В нулевом приближении попробуй добавить в список включений упомянутый екласс.
Не получится — смотри дополнительные параметры.

Danhuu написал(а):
ulvhare@ipee200a ~ $ man kde4-base.eclass
Нет справочной страницы для kde4-base.eclass
$ equery b /usr/share/man/man5/kde4-base.eclass.5.bz2 
 * Searching for /usr/share/man/man5/kde4-base.eclass.5.bz2 ... 
app-portage/eclass-manpages-20150814 (/usr/share/man/man5/kde4-base.eclass.5.bz2)

Если выходишь на необходимость пиления ебилдов — предмет насущной необходимости.

:wq
--
Live free or die

Anarchist написал(а): ...я

Anarchist написал(а):
...я смотрел на ебилд с https://rkward.kde.org/Binaries_and_Build_Scripts

Взгляни там на дату ;-) Не к тебе претензии, а вот со стороны разрабов вывешивать заведомо устаревшие вещи - свинство. Mainstream, едрёна мышь, в глазах половины линукс-юзеров (и разрабов) Linux ≡ Ubuntu, а Gentoo - для красноглазых. Хотя глаза ломал я как раз вчера, пытаясь в Xubuntu завлаба выставить нативное dpi (в Gentoo - 5 минут гугления и 1 строчка конфига в DM). Ладно, это я ругаюсь, чем научным сотрудникам приходится вместо прямых обязанностей заниматься :-)

Anarchist написал(а):
В том, что смотрел я:

DEPEND=">=dev-lang/R-2.7.0
        dev-lang/php[cli]"
RDEPEND="${DEPEND}
        !<=sci-mathematics/rkward-0.5.0b"

В недрах git-овских коммитов у них было написано, что год-другой назад выпилили зависимость от php и окончательно перешли на javascript в конструкции плагинов. Наткнулся случайно. На нормальные changelog-и положено с прибором.

Anarchist написал(а):
$ equery b /usr/share/man/man5/kde4-base.eclass.5.bz2 
 * Searching for /usr/share/man/man5/kde4-base.eclass.5.bz2 ... 
app-portage/eclass-manpages-20150814 (/usr/share/man/man5/kde4-base.eclass.5.bz2)

Если выходишь на необходимость пиления ебилдов — предмет насущной необходимости.

А вот за это - огромное спасибо!!! Ни в хендбуке, ни в вики в разделах про ебилды и прочие напильники упоминаний о таком действительно важном пакете я не видел. Хотя, может, плохо смотрел. Всегда думал, что маны идут как составная часть пакета (здесь - portage).
Океюшки, практика - критерий истины, как писал бородатый классик из Трира. По результатам отпишусь.

.

Danhuu написал(а):
Anarchist написал(а):
...я смотрел на ебилд с https://rkward.kde.org/Binaries_and_Build_Scripts

Взгляни там на дату ;-)

Видел ☺

Danhuu написал(а):
Не к тебе претензии, а вот со стороны разрабов вывешивать заведомо устаревшие вещи - свинство.

Дело в том, что документирование — отдельная задача.
По ресурсоёмкости сопоставимая с собственно разработкой.

Danhuu написал(а):
Mainstream, едрёна мышь, в глазах половины линукс-юзеров (и разрабов) Linux ≡ Ubuntu, а Gentoo - для красноглазых.

Собственное мнение даже о своих потребностях — штука тоже не то, чтобы дешёвая.

Danhuu написал(а):
Хотя глаза ломал я как раз вчера, пытаясь в Xubuntu завлаба выставить нативное dpi (в Gentoo - 5 минут гугления и 1 строчка конфига в DM). Ладно, это я ругаюсь, чем научным сотрудникам приходится вместо прямых обязанностей заниматься :-)

Интуитивно-понятный™ графический интерфейс?
Это мы ещё не дошли до задачи переносимости (конвертации) настроек…

Danhuu написал(а):
В недрах git-овских коммитов у них было написано, что год-другой назад выпилили зависимость от php и окончательно перешли на javascript в конструкции плагинов. Наткнулся случайно. На нормальные changelog-и положено с прибором.

Вопрос традиции решения задачи в рамках технологии.
Я тоже не так давно удивлялся несоответствием содержания журнала изменений содержимому каталога с ебилдами пакета. Потом выяснилось, что после перевода дерева на git вся история в git'е.

Danhuu написал(а):
Anarchist написал(а):
$ equery b /usr/share/man/man5/kde4-base.eclass.5.bz2 
 * Searching for /usr/share/man/man5/kde4-base.eclass.5.bz2 ... 
app-portage/eclass-manpages-20150814 (/usr/share/man/man5/kde4-base.eclass.5.bz2)

Если выходишь на необходимость пиления ебилдов — предмет насущной необходимости.

А вот за это - огромное спасибо!!! Ни в хендбуке, ни в вики в разделах про ебилды и прочие напильники упоминаний о таком действительно важном пакете я не видел.

Здесь полезно вспомнить прекрасную историю с утверждением формата офф. вики (фиксирующего первичность языка единственной демократически-легитимной империи и «отсутствие» совершенно ничтожной «проблемы кодировок»). Особенно занимательно этот факт смотрится на фоне наблюдений академика П.А. Кропоткина (смотри курс лекций по русской литературе) с иллюстрацией в виде истории лженауки кибернетики.

Danhuu написал(а):
Хотя, может, плохо смотрел. Всегда думал, что маны идут как составная часть пакета (здесь - portage).

Ну дык базовые страницы руководства (emerge, portage, ebuild) там есть.
А упомянутый пакет — это уже расширение разработчика.

:wq
--
Live free or die

/

Danhuu написал(а):
Т.е., если я правильно понял, po ищется в корне распакованных сорцов, а в реале оно rkward-0.6.3/i18n/po/. Так что надо прописать KDE_LINGUAS_DIR = "${S}/i18n/po"

Использование полных путей может привести к сюрпризам в процессе эксплуатации.
Потому, с учётом текущего каталога (man 5 ebuild → «src_prepare: … Initial working directory: $S») я бы сначала попробовал значение "i18n/po".

:wq
--
Live free or die

Изменил

Изменил ебилд:


EAPI=5

KDE_DOC_DIRS="doc"
KDE_HANDBOOK="optional"
KDE_LINGUAS="ca cs da de el es fr it lt pl tr zh_CN"
KDE_LINGUAS_DIR="i18n/po"

inherit kde4-base

DESCRIPTION="IDE for the R-project"
HOMEPAGE="https://rkward.kde.org/"
SRC_URI="http://download.kde.org/stable/rkward/${PV}/src/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="4"
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
IUSE="debug"

DEPEND="
	dev-lang/R
	$(add_kdebase_dep katepart)"
RDEPEND="${DEPEND}"

src_configure() {
	# to have it compatible with R which had a bad R_HOME
	unset R_HOME
	kde4-base_src_configure
}

src_install() {
	kde4-base_src_install
	# avoid file collision with kate
	rm "${ED}"/usr/share/apps/katepart/syntax/r.xml || die
}

Теперь валится с вообще непонятной руганью: https://bpaste.net/show/bf96ad4f0d9a

/

Danhuu написал(а):
Теперь валится с вообще непонятной руганью: https://bpaste.net/show/bf96ad4f0d9a

Как это «непонятной»?!?
Всё ясно показано.
По умолчанию, как ты сам вычитал, для локализации ищется каталог po в корне (в смысле: в текущем рабочем каталоге, ${S}).
Но там его нэма…

ЗЫ:

$ diff -Naur rkward-0.6.3.ebuild rkward-0.6.3-r1.ebuild
--- rkward-0.6.3.ebuild	2015-11-27 13:42:38.045138604 +0300
+++ rkward-0.6.3-r1.ebuild	2015-11-27 13:42:24.940926446 +0300
@@ -6,7 +6,7 @@
 KDE_DOC_DIRS="doc"
 KDE_HANDBOOK="optional"
 KDE_LINGUAS="ca cs da de el es fr it lt pl tr zh_CN"
-KDE_LINGUAS_DIR="i18n/po"
+KDE_LINGUAS_DIR="i18n"
 
 inherit kde4-base

И можно переходить к следующей части марлезонского балета ☺

ЗЗЫ: Начиная ЕМНИП с EAPI 4 вместо kde4-base_src_configure и прочих kde4-base_src_install можно писать просто default.

:wq
--
Live free or die

Ура! Заработало! (с)Матроскин

Таки да, оно собралось и заработало, спасибо за помощь!
Теперь собраться с силами и запилить баги в багзиллы ☺. В самой программе в стабильной версии глюков в хелпе меньше (2 из 5 замеченных в git-версии), но лог их беднее. Основные свои функции прекрасно выполняют обе версии.

/

Danhuu написал(а):
Теперь собраться с силами и запилить баги в багзиллы ☺.

Мелко ☺
Надо ставить цель коммита в дерево ☺

Тема «=sci-mathematics/rkward-0.6.3 version bump».
Прикладываешь с ненулевой вероятностью не сам ебилд, а

$ diff -Naur rkward-0.6.1.ebuild rkward-0.6.3.ebuild

При отсутствии желаемой реакции в течение недели можно ловить товарища Pinkbyte. Он у нас вожатый proxy.

Danhuu написал(а):
В самой программе в стабильной версии глюков в хелпе меньше (2 из 5 замеченных в git-версии), но лог их беднее.

Здесь уже вопросы к апстриму.
Ну и если полагаешь правильным, к тому же багу можно приложить и рабочий ебилд live-версии.

:wq
--
Live free or die

Anarchist написал(а): ЗЗЫ:

Anarchist написал(а):
ЗЗЫ: Начиная ЕМНИП с EAPI 4 вместо kde4-base_src_configure и прочих kde4-base_src_install можно писать просто default.

Потыкался в devmanual, man и неск. ебилдов из kde-apps, не нашёл такого. Можешь ткнуть конкретно?

.

Danhuu написал(а):
Anarchist написал(а):
ЗЗЫ: Начиная ЕМНИП с EAPI 4 вместо kde4-base_src_configure и прочих kde4-base_src_install можно писать просто default.

Потыкался в devmanual, man и неск. ебилдов из kde-apps, не нашёл такого. Можешь ткнуть конкретно?

Могу.
Ибо интерес в культуре работы с традиционной справочной подсистемой.

Кстати, я был не вполне точен:
$ man 5 ebuild:

…
HELPER FUNCTIONS
   Phases:
       default
              Calls  the  default  phase  function  implementation for the currently executing phase. This function is supported
              beginning with EAPI 2.
…

Update: Извини, был не прав. default является синонимом умолчательной реализации функции и не переопределяется (т.е. не является синонимом переопределённой в еклассе реализации функции фазы).
Т.е. в текущей действительности переопределения стандартных функций правильные.

:wq
--
Live free or die

/

В качестве дополнительного квеста по ебилдингу вместе с заделом могу рекомендовать попробовать зопилить универсальный ебилд (позволяющий получить -9999 версию простым переименованием).
В качестве примера можно посмотреть на =dev-db/tora-9999.

:wq
--
Live free or die

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

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