LinuxForum.Fans
Тема

netacct-mysql Open suse мытарства из версии в версию (12.2)

Автор: leksstav 1 сообщений 2157 просмотров
#277106

Начиная с версии 11.3 заметил что devel-пакеты собираются без статических библиотек.
А мне для netacct-mysql нужен файл libmysqlclient.a

Сделал так
Установить пакет с исходным кодом mysql-community-server:

sudo zypper si mysql-community-server

Править /usr/src/packages/SPECS/mysql-community-server.spec:
1. Закомментировать строку 552 (rm -f %buildroot%_libdir/libmysqlclient*a).
2. После строки 809 (/usr/share/aclocal/mysql.m4) добавить

%_libdir/libmysqlclient*a

В этом же каталоге выполнить:
Код
rpmbuild -ba --target=x86_64 mysql-community-server.spec

или (в зависимости от архитектуры)
Код
rpmbuild -ba --target=i586 mysql-community-server.spec

В версии 12.1 добился того же чуть по другому

скачал отсюда
https://build.opensuse.org/package/files?package=mysql-community-server&project=home%3Atony2001%3Apinba%3AopenSUSE_12.1

suse-test-run
series
README.SuSE
README.debug
rc.mysql-multi
pinba_engine-1.0.0-dev.tar.gz
old-ssl.series
mysql.SuSEfirewall2
mysql-patches.tar.bz2
mysql-community-server.spec
mysql-community-server.changes
mysql-5.5.16.tar.bz2
mysql-5.5.15-arm.patch
install.inc
default_plugins.cnf
build.inc
baselibs.conf

положил их по пути /usr/src/packages/SOURCES
В файле install.inc есть такие вот строки которые удаляют что либо:

rm -f %buildroot%_libdir/libhsclient*
rm -f %buildroot%_bindir/hsclient*
rm -f %buildroot%_libdir/mysql/plugin/handlersocket.so
# remove most static libs (FIXME: don't build them at all...)
rm -f %buildroot%_libdir/libmysqlclient*a
rm -f %buildroot%_libdir/libmysqlservices*a
rm -f %buildroot%_libdir/mysql/*.a %buildroot%_libdir/mysql/*.la
rm -f %buildroot%_libdir/mysql/plugin/*a
# XXX: package these? The ndb tools are linked statically atm
rm -f %buildroot%_libdir/mysql/libndbclient.*
rm -f %{buildroot}/usr/share/mysql-test/mysql-test-run
rm -f %{buildroot}/usr/share/mysql-test/mtr
rm -f %{buildroot}%{_libdir}/mysql/plugin/daemon_example.ini

Я, закоментировал только строку rm -f %buildroot%_libdir/libmysqlclient*a

дал команду rpmbuild -ba --target=i586 mysql-community-server.spec

И все собралось прекрасно и заработало.

Проблемы появилась с выходом версии 12,2

Сделал тоже самое.
Скачал отсюда
https://build.opensuse.org/package/files?package=mysql-community-server&project=openSUSE%3A12.2

suse-test-run
series
README.SuSE
README.debug
rc.mysql-multi
mysql.SuSEfirewall2
mysql-patches.tar.bz2
mysql-community-server.spec
mysql-community-server.changes
mysql-5.5.25a.tar.bz2
install.inc
configuration-tweaks.tar.bz2
build.inc
baselibs.conf

mysql-5.5.25a.tar.bz2 скачал здесь
http://downloads.mysql.com/archives/mysql-...-5.5.25a.tar.gz

В процессе сборки выдает мне :

Requires: /bin/sh /usr/bin/perl libaio.so.1 libaio.so.1(LIBAIO_0.1) libaio.so.1(LIBAIO_0.4) libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.12) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libc.so.6(GLIBC_2.7) libcrypt.so.1 libcrypt.so.1(GLIBC_2.0) libcrypto.so.1.0.0 libdl.so.2 libdl.so.2(GLIBC_2.0) libdl.so.2(GLIBC_2.1) libgcc_s.so.1 libgcc_s.so.1(GLIBC_2.0) libm.so.6 libm.so.6(GLIBC_2.0) libm.so.6(GLIBC_2.1) libpthread.so.0 libpthread.so.0(GLIBC_2.0) libpthread.so.0(GLIBC_2.1) libpthread.so.0(GLIBC_2.2) libpthread.so.0(GLIBC_2.3.2) libreadline.so.6 librt.so.1 librt.so.1(GLIBC_2.2) libssl.so.1.0.0 libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) libstdc++.so.6(GLIBCXX_3.4) libz.so.1 libz.so.1(ZLIB_1.2.0)
Conflicts: otherproviders(mysql-tools)
Obsoletes: mysql-community-server_55-tools < 5.5.25a mysql-tools < 5.5.25a
Checking for unpackaged file(s): /usr/lib/rpm/check-files /usr/src/packages/BUILDROOT/mysql-community-server-5.5.25a-0.i386
error: Installed (but unpackaged) file(s) found:
/usr/lib/libmysqlclient.a
/usr/lib/libmysqlclient_r.a


RPM build errors:
Installed (but unpackaged) file(s) found:
/usr/lib/libmysqlclient.a
/usr/lib/libmysqlclient_r.a

Кто может подсказать как побороть данную беду ?

Войдите или зарегистрируйтесь, чтобы ответить.