[Решено] Pinba зависимость от заголовочных файлов mysql
            GiDiS 17 октября, 2012 - 10:12
    
    
    
Пытаюсь переписать ебилд для 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}
}
Есть ли какой-нибудь более вменяемый способ добраться до исходников?
» 
  - Для комментирования войдите или зарегистрируйтесь


(*)
http://www.google.ru/search?q=pinba-9999.ebuild+slepnoga
Там про pinba_extension, до
Там про pinba_extension, до него я еще не добрался, т.к. завис на ебилде для pinba_engine
http://gpo.zugaina.org/Search
http://gpo.zugaina.org/Search?search=pinba
Не собирается, т.к. в
Не собирается, т.к. в /usr/include/mysql не хватает нужных файлов:
ha_pinba.cc:28:21: fatal error: field.h: No such file or directory
Для dev-db/mysql-5.1.62-r1:
Для dev-db/mariadb-5.5.23:
ebuild
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 не чешутся её исправлять, нам приходится выдумывать вот такие велосипеды с квадратными колёсами.