Description:
The current code don't build on mandriva 2009.0 at all
How to repeat:
Install mandriva 2009.0 i586.
Then building with this spec file you will get a lot of undefined references to lua and internal libraries functions.
Plus it don't build because hardcoded /usr/lib/php5/lib/libphp5.a file not present at all on mandriva packages.
Spec file content :
%define libname %mklibname 0
%define ver alpha
Summary: Extensible modeling tool for MySQL 5.0
Name: mysql-workbench
Group: Databases
Version: 5.1.4
Release: %mkrel 0.%{ver}.1
License: GPL
URL: http://www.mysql.com/products/workbench/
Source: ftp://ftp.mysql.com/pub/mysql/download/gui-tools/%{name}-%{version}-%{ver}.tar.bz2
Patch: mysql-workbench-5.1.4-alpha-buildfix.patch
BuildRequires: autoconf2.5
BuildRequires: automake
BuildRequires: readline-devel
BuildRequires: libtool
BuildRequires: libzip1-devel
BuildRequires: libxml2-devel
BuildRequires: libsigc++2.0-devel
BuildRequires: libglade2.0-devel >= 2.5
BuildRequires: libgtkmm2.4-devel >= 2.6
BuildRequires: libgnome32-devel >= 1.4
BuildRequires: libmesaglu1-devel
BuildRequires: mysql-devel >= 5.0
BuildRequires: liblua-devel
BuildRequires: pcre-devel >= 5.0
BuildRequires: gcc-c++
BuildRequires: libgnome2-devel
BuildRequires: libpango1.0-devel
BuildRequires: libcairo-devel >= 1.3.12
BuildRequires: libglitz-devel
BuildRequires: gtk2-devel
BuildRequires: libctemplate-devel
BuildRequires: libpython2.5-devel
BuildRequires: libfcgi0-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
MySQL Workbench is modeling tool that allows you to design and generate MySQL
databases graphically.
MySQL Workbench requires OpenGL and a 3D accelerated graphics card with at
least 16MB of memory.
This is MySQL Workbench %{wb_realversion}.
%prep
%setup -q -n %{name}-%{version}-%{ver}
%patch -p0
# strip away annoying ^M
find . -type f|xargs file|grep 'CRLF'|cut -d: -f1|xargs perl -p -i -e 's/\r//'
find . -type f|xargs file|grep 'text'|cut -d: -f1|xargs perl -p -i -e 's/\r//'
export CPPFLAGS="-D_GNU_SOURCE=1"
# workbench
sh ./autogen.sh \
--prefix=%{_prefix} \
--bindir=%{_bindir} \
--sbindir=%{_sbindir} \
--sysconfdir=%{_sysconfdir} \
--datadir=%{_datadir} \
--includedir=%{_includedir} \
--libdir=%{_libdir} \
--libexecdir=%{_libexecdir} \
--localstatedir=%{_localstatedir}/lib \
--mandir=%{_mandir} \
--enable-pcheaders \
--enable-php-modules \
--enable-readline \
--enable-fastcgi \
--enable-python-modules
%configure2_5x \
--enable-pcheaders \
--enable-php-modules \
--enable-readline \
--enable-fastcgi \
--enable-python-modules
%build
%make
%install
rm -rf %{buildroot}
%makeinstall_std
# fix some menu entries and stuff...
install -d %{buildroot}%{_miconsdir}
install -d %{buildroot}%{_iconsdir}
install -d %{buildroot}%{_liconsdir}
rm -f %{buildroot}%{_datadir}/applications/MySQLWorkbench.desktop
cat > %{buildroot}%{_datadir}/applications/mysql-workbench.desktop << EOF
[Desktop Entry]
Name=MySQL Workbench
Comment=MySQL Database Design Tool
Exec=%{_bindir}/mysql-workbench
Terminal=false
Type=Application
Icon=mysql-workbench
Categories=X-MandrivaLinux-MoreApplications-Databases;GTK;Database;Development;Application;
EOF
# make some icons
cp %{buildroot}%{_datadir}/mysql-workbench/images/MySQLWorkbench-16.png %{buildroot}%{_miconsdir}/mysql-workbench.png
cp %{buildroot}%{_datadir}/mysql-workbench/images/MySQLWorkbench-32.png %{buildroot}%{_iconsdir}/mysql-workbench.png
cp %{buildroot}%{_datadir}/mysql-workbench/images/MySQLWorkbench-48.png %{buildroot}%{_liconsdir}/mysql-workbench.png
%if %mdkversion < 200900
%post -n mysql-workbench
%update_menus
%endif
%if %mdkversion < 200900
%postun -n mysql-workbench
%clean_menus
%endif
%clean
rm -rf %{buildroot}
%files
%defattr(-, root, root)
%doc mysql-workbench/COPYING
%doc mysql-workbench/ChangeLog
%doc mysql-workbench/README.linux
%attr(0755,root,root) %{_bindir}/grtshell
%attr(0755,root,root) %{_bindir}/mysql-workbench
%attr(0755,root,root) %{_bindir}/mysql-workbench-bin
%{_datadir}/mysql-workbench/*
%{_datadir}/mysql-workbench/images/*
%{_datadir}/mysql-workbench/modules/data/*
%{_datadir}/applications/mysql-workbench.desktop
%{_iconsdir}/mysql-workbench.png
%{_liconsdir}/mysql-workbench.png
%{_miconsdir}/mysql-workbench.png
%{_libdir}/mysql-workbench/*.so.*
%{_libdir}/mysql-workbench/modules/*.so.*
%{_libdir}/mysql-workbench/plugins/*.so.*
%exclude %{_libdir}/mysql-workbench/*.so
%exclude %{_libdir}/mysql-workbench/*.a
%exclude %{_libdir}/mysql-workbench/*.la
%exclude %{_libdir}/mysql-workbench/modules/*.so
%exclude %{_libdir}/mysql-workbench/modules/*.a
%exclude %{_libdir}/mysql-workbench/modules/*.la
%exclude %{_libdir}/mysql-workbench/plugins/*.so
%exclude %{_libdir}/mysql-workbench/plugins/*.a
%exclude %{_libdir}/mysql-workbench/plugins/*.la
%changelog
* Wed Oct 15 2008 Raphaël Gertz <rapsys@free.fr> 5.1.4-1.alpha.0mdv2009.1
- 5.1.4-alpha4
- initial Mandriva package
Suggested fix:
Apply this patch :
diff -urNp configure.in.orig configure.in
--- configure.in.orig 2008-10-15 22:29:09.145592501 +0200
+++ configure.in 2008-10-15 23:02:23.455591149 +0200
@@ -218,7 +218,7 @@ if test $enable_php = yes; then
AC_MSG_RESULT(not found)
else
# php-config --prefix ?
- PHP_LIBS="/usr/lib/php5/lib/libphp5.a -L[$(php-config --extension-dir)] $PHP_LIBS"
+ PHP_LIBS="-L[$(php-config --extension-dir)] $PHP_LIBS -llua"
PHP_CFLAGS=[$(php-config --includes)]
ENABLED_MODULES="$ENABLED_MODULES -DENABLE_PHP_MODULES"
AC_MSG_RESULT($PHP_LIBS)
diff -urNp frontend/linux/sqlide/Makefile.am.orig frontend/linux/sqlide/Makefile.am
--- frontend/linux/sqlide/Makefile.am.orig 2008-11-06 22:40:40.000000000 +0100
+++ frontend/linux/sqlide/Makefile.am 2008-11-23 15:45:50.486454303 +0100
@@ -15,3 +15,6 @@ INCLUDES=@GLIB_CFLAGS@ @SIGC_CFLAGS@ @GR
libsqlide_la_SOURCES=\
sql_editor_fe.cpp
+
+SCINTILLA_LIBS=$(top_srcdir)/ext/scintilla/gtk/libscintilla.la
+libsqlide_la_LDFLAGS=$(SCINTILLA_LIBS)
diff -urNp backend/wbcanvas/Makefile.am.orig backend/wbcanvas/Makefile.am
--- backend/wbcanvas/Makefile.am.orig 2008-11-06 22:40:39.000000000 +0100
+++ backend/wbcanvas/Makefile.am 2008-11-23 15:45:26.959451949 +0100
@@ -54,3 +54,5 @@ libcanvasbe_la_SOURCES=\
../objimpl/workbench.logical/workbench_logical_Model.cpp\
../objimpl/workbench.logical/workbench_logical_View.cpp
+CANVAS_LIBS=$(top_srcdir)/library/canvas/src/libmdcanvas.la
+libcanvasbe_la_LDFLAGS=$(CANVAS_LIBS) -lGL
diff -urNp backend/grt/Makefile.am.orig backend/grt/Makefile.am
--- backend/grt/Makefile.am.orig 2008-11-06 22:40:38.000000000 +0100
+++ backend/grt/Makefile.am 2008-11-23 15:45:04.316714077 +0100
@@ -27,3 +27,5 @@ libgrtbe_la_SOURCES=\
tree_model.cpp\
ui_form.cpp
+GRT_LIBS=$(top_srcdir)/library/grt/src/libgrt.la
+libgrtbe_la_LDFLAGS=$(GRT_LIBS) -luuid
diff -urNp library/grt/src/Makefile.am.orig library/grt/src/Makefile.am
--- library/grt/src/Makefile.am.orig 2008-11-06 22:40:41.000000000 +0100
+++ library/grt/src/Makefile.am 2008-11-23 15:45:15.418459707 +0100
@@ -41,7 +41,8 @@ libgrt_la_SOURCES=\
diff/grtdiff.cpp\
diff/grtlistdiff.cpp
-
+CANVAS_LIBS=$(top_srcdir)/library/utilities/src/libguiutil.la
+libgrt_la_LDFLAGS=$(CANVAS_LIBS) -llua
if BUILD_JAVA
# no extra sources