[Решено] Pinba зависимость от заголовочных файлов mysql

Пытаюсь переписать ебилд для pinba и наткнулся на зависимость от исходников mysql.

Нашел вариант ебилда для болеее ранней версии: https://github.com/uu/ubuilds/blob/master/dev-php/pinba/pinba-0.0.6.ebuild

Но такой вариант получения исходников мускула кажется кривоватым и у меня не работает:

pkg_setup() {
    # confutils_require_one mysql mariadb
    ebuild /usr/portage/dev-db/mysql/mysql-5.1.51.ebuild compile
    #mv /var/tmp/portage/dev-db/mysql-5.1.52/work
}

src_configure() {
    ebuild /
    local
    myconf="--with-mysql=/var/tmp/portage/dev-db/mysql-5.1.51/work/mysql/
    --with-protobuf --with-judy --with-event"
    myconf="${myconf} --libdir=/usr/$(get_libdir)/mysql/plugin"
    cd "pinba_engine-${PV}"
    #use libevent && myconf="${myconf} --with-event"
    econf ${myconf}
}

Есть ли какой-нибудь более вменяемый способ добраться до исходников?

(*)

Там про pinba_extension, до

Там про pinba_extension, до него я еще не добрался, т.к. завис на ебилде для pinba_engine

http://gpo.zugaina.org/Search

Не собирается, т.к. в

Не собирается, т.к. в /usr/include/mysql не хватает нужных файлов:
ha_pinba.cc:28:21: fatal error: field.h: No such file or directory

Для dev-db/mysql-5.1.62-r1:

# equery f mysql | fgrep .h
/usr/include/mysql/decimal.h
/usr/include/mysql/errmsg.h
/usr/include/mysql/keycache.h
/usr/include/mysql/m_ctype.h
/usr/include/mysql/m_string.h
/usr/include/mysql/my_alloc.h
/usr/include/mysql/my_attribute.h
/usr/include/mysql/my_compiler.h
/usr/include/mysql/my_config.h
/usr/include/mysql/my_dbug.h
/usr/include/mysql/my_dir.h
/usr/include/mysql/my_getopt.h
/usr/include/mysql/my_global.h
/usr/include/mysql/my_list.h
/usr/include/mysql/my_net.h
/usr/include/mysql/my_no_pthread.h
/usr/include/mysql/my_pthread.h
/usr/include/mysql/my_sys.h
/usr/include/mysql/my_xml.h
/usr/include/mysql/mysql.h
/usr/include/mysql/mysql_com.h
/usr/include/mysql/mysql_embed.h
/usr/include/mysql/mysql_time.h
/usr/include/mysql/mysql_version.h
/usr/include/mysql/mysqld_ername.h
/usr/include/mysql/mysqld_error.h
/usr/include/mysql/plugin.h
/usr/include/mysql/sql_common.h
/usr/include/mysql/sql_state.h
/usr/include/mysql/sslopt-case.h
/usr/include/mysql/sslopt-longopts.h
/usr/include/mysql/sslopt-vars.h
/usr/include/mysql/typelib.h
/usr/share/mysql/config.huge.ini

Для dev-db/mariadb-5.5.23:

# equery f mariadb | fgrep .h
/usr/include/mysql/auth_dialog_client.h
/usr/include/mysql/client_plugin.h
/usr/include/mysql/decimal.h
/usr/include/mysql/errmsg.h
/usr/include/mysql/innodb_priv.h
/usr/include/mysql/keycache.h
/usr/include/mysql/m_ctype.h
/usr/include/mysql/m_string.h
/usr/include/mysql/my_alloc.h
/usr/include/mysql/my_attribute.h
/usr/include/mysql/my_compiler.h
/usr/include/mysql/my_config.h
/usr/include/mysql/my_dbug.h
/usr/include/mysql/my_dir.h
/usr/include/mysql/my_getopt.h
/usr/include/mysql/my_global.h
/usr/include/mysql/my_list.h
/usr/include/mysql/my_net.h
/usr/include/mysql/my_pthread.h
/usr/include/mysql/my_sys.h
/usr/include/mysql/my_valgrind.h
/usr/include/mysql/my_xml.h
/usr/include/mysql/mysql.h
/usr/include/mysql/mysql_com.h
/usr/include/mysql/mysql_embed.h
/usr/include/mysql/mysql_time.h
/usr/include/mysql/mysql_version.h
/usr/include/mysql/mysqld_ername.h
/usr/include/mysql/mysqld_error.h
/usr/include/mysql/plugin.h
/usr/include/mysql/plugin_audit.h
/usr/include/mysql/plugin_auth.h
/usr/include/mysql/plugin_auth_common.h
/usr/include/mysql/plugin_ftparser.h
/usr/include/mysql/psi/mysql_file.h
/usr/include/mysql/psi/mysql_thread.h
/usr/include/mysql/psi/psi.h
/usr/include/mysql/psi/psi_abi_v1.h
/usr/include/mysql/psi/psi_abi_v2.h
/usr/include/mysql/service_debug_sync.h
/usr/include/mysql/service_my_snprintf.h
/usr/include/mysql/service_progress_report.h
/usr/include/mysql/service_thd_alloc.h
/usr/include/mysql/service_thd_wait.h
/usr/include/mysql/service_thread_scheduler.h
/usr/include/mysql/services.h
/usr/include/mysql/sql_common.h
/usr/include/mysql/sql_state.h
/usr/include/mysql/sslopt-case.h
/usr/include/mysql/sslopt-longopts.h
/usr/include/mysql/sslopt-vars.h
/usr/include/mysql/thread_pool_priv.h
/usr/include/mysql/typelib.h

ebuild

ebuild /usr/portage/dev-db/mysql/mysql-5.1.51.ebuild compile

За такое в коде ебилда надо руки отрывать. Вместе с позвоночником!

Нейтральность - высшее достижение сознания!

Так я про то же и говорю:

Так я про то же и говорю: криво!

А как по другому, бегло пробежался по документации, но вариантов решения не нашел.

Тыкните кто-нить в нужное место)

.

Pinkbyte написал(а):
ebuild /usr/portage/dev-db/mysql/mysql-5.1.51.ebuild compile

За такое в коде ебилда надо руки отрывать.

Только меня здесь интересует ЧТО (согласно замыслу ебилдописателя) должна была делать эта конструкция?
И при выполнении каких условий оно могло работать?

:wq
--
Live free or die

Правильный вариант - положить

Правильный вариант - положить ебилд на mysql в свой оверлей и заставить в конце ставить все сырцы и скомпиленные бинари в /usr/src, т.к. pinba требует ИМЕННО такую-же версию mysql, собранную ИМЕННО с теми же опциями конфигурации что и та, которая будет запущена

Нейтральность - высшее достижение сознания!

man FEATURES= keepsource не

man FEATURES= keepsource не оно ?
алсо

mysql_config 
Usage: /usr/bin/mysql_config [OPTIONS]
Options:
        --cflags         [-I/usr/include/mysql -DHAVE_ERRNO_AS_DEFINE=1 -DUNIV_LINUX -DUNIV_LINUX]
        --include        [-I/usr/include/mysql]
        --libs           [-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--enable-new-dtags -Wl,--sort-common -rdynamic -L/usr/lib64/mysql -lmysqlclient -L/usr//lib64 -lz -lcrypt -lnsl -lm -L/usr/lib64/ -lssl -lcrypto]
        --libs_r         [-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--enable-new-dtags -Wl,--sort-common -rdynamic -L/usr/lib64/mysql -lmysqlclient_r -L/usr//lib64 -lz -lpthread -lcrypt -lnsl -lm -lpthread -L/usr/lib64/ -lssl -lcrypto]
        --plugindir      [/usr/lib64/mysql/plugin]
        --socket         [/var/run/mysqld/mysqld.sock]
        --port           [0]
        --version        [5.1.62]
        --libmysqld-libs [-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--enable-new-dtags -Wl,--sort-common -rdynamic -L/usr/lib64/mysql -lmysqld -ldl -L/usr//lib64 -lz -lpthread -lcrypt -lnsl -lm -lpthread -lrt -L/usr/lib64/ -lssl -lcrypto]

не спасет русских демократов ? :)

ну и да version_installed или как то так

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 ;)

исходники нужны в любом

исходники нужны в любом случае, причем той же версии и также сконфигурированные. Заголовочных файлов и mysql_config этой хрени не хватает. Насчет keepsource посмотрю...

Нейтральность - высшее достижение сознания!

FEATURES=keepsource не нашел,

FEATURES=keepsource не нашел, есть keepwork:

keepwork
 Do not delete the ${WORKDIR} directory after the merge process. ${WORKDIR} can then be reused since this feature disables most of the clean phase that runs prior to each build. Due to lack of proper cleanup, this feature can interfere with normal emerge operation and therefore it should not be left enabled for more than a short period of time.

Можно в /etc/portage/env/dev-db/mysql прописать KEYWORDS="keepwork", только при обновлении мускула временная папка будет загаживаться

Вот что получилось, вроде

Вот что получилось, вроде работает (по крайней мере собралось и поставилось))):

https://github.com/GiDiS/gentoo-repo/blob/master/dev-php/pinba_engine/pinba_engine-1.0.0.ebuild

костыльно, но для

костыльно, но для собственного применения пойдет
Не костыль слишком затратен - нужно убедить мэйнтэйнеров dev-db/mysql добавить еще один USE-флаг который, скажем, будет ставить сырцы в /usr/src

Нейтральность - высшее достижение сознания!

Проще, и правильнее, имхо,

Проще, и правильнее, имхо, сабж пропатчить

У меня для этого даже патч

У меня для этого даже патч был когда-то: http://dev.daylessday.org/diff/mysql_install_headers.diff
Только он уже устарел, т.к. с тех пор MySQL полностью перешли на сборку с помощью cmake.
Проблема, в общем-то, описана тут: http://bugs.mysql.com/bug.php?id=44722 и пока mysql-s не чешутся её исправлять, нам приходится выдумывать вот такие велосипеды с квадратными колёсами.

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

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