1 |
%define build_java 1 |
%define build_java 1 |
2 |
%define build_autotools 1 |
%define build_autotools 1 |
3 |
%define tartype gpl |
%define tartype community |
4 |
%define Werror_cflags %nil |
%define Werror_cflags %nil |
5 |
%define _disable_ld_no_undefined 1 |
%define _disable_ld_no_undefined 1 |
6 |
%define _default_patch_fuzz 3 |
%define _default_patch_fuzz 3 |
12 |
%{?_without_autotools: %{expand: %%global build_autotools 0}} |
%{?_without_autotools: %{expand: %%global build_autotools 0}} |
13 |
|
|
14 |
|
|
15 |
%global mw_version 5.2.45 |
%global mw_version 6.0.6 |
16 |
%define rel 9 |
%define rel 1 |
17 |
|
|
18 |
Summary: Extensible modeling tool for MySQL 5.x |
Summary: Extensible modeling tool for MySQL 5.x |
19 |
Name: mysql-workbench |
Name: mysql-workbench |
20 |
Group: Databases |
Group: Databases |
21 |
Version: %{mw_version} |
Version: %{mw_version} |
22 |
Release: %mkrel 4 |
Release: %mkrel %{rel} |
23 |
License: GPL |
License: GPL |
24 |
URL: http://wb.mysql.com |
URL: http://wb.mysql.com |
25 |
# Upstream has a mirror redirector for downloads, so the URL is hard to |
# Upstream has a mirror redirector for downloads, so the URL is hard to |
26 |
# represent statically. You can get the tarball by following a link from |
# represent statically. You can get the tarball by following a link from |
27 |
# http://dev.mysql.com/downloads/workbench/ |
# http://dev.mysql.com/downloads/workbench/ |
28 |
Source: http://gd.tuwien.ac.at/db/mysql/Downloads/MySQLGUITools/%{name}-%{tartype}-%{version}-src.tar.gz |
Source: http://gd.tuwien.ac.at/db/mysql/Downloads/MySQLGUITools/%{name}-%{tartype}-%{version}-nodocs-src.tar.gz |
29 |
# don't build extension, use system one |
# don't build extension, use system one |
30 |
# !!! This patch use versioned soname (libmysqlcppconn.so.6) !!! |
# !!! This patch use versioned soname (libmysqlcppconn.so.6) !!! |
31 |
Patch1: %{name}-5.2.45-cppconn.patch |
Patch1: %{name}-5.2.45-cppconn.patch |
46 |
Provides: mysql-gui-tools |
Provides: mysql-gui-tools |
47 |
Obsoletes: mysql-administrator < 5.1 |
Obsoletes: mysql-administrator < 5.1 |
48 |
Provides: mysql-administrator |
Provides: mysql-administrator |
49 |
|
Obsoletes: mysql-utilities |
50 |
BuildRequires: antlr3-C-devel |
BuildRequires: antlr3-C-devel |
51 |
BuildRequires: autoconf2.5 |
BuildRequires: autoconf2.5 |
52 |
BuildRequires: boost-devel >= 1.35.0 |
BuildRequires: boost-devel >= 1.35.0 |
99 |
BuildRequires: sqlite3-devel |
BuildRequires: sqlite3-devel |
100 |
BuildRequires: libgnome-keyring-devel |
BuildRequires: libgnome-keyring-devel |
101 |
BuildRequires: tinyxml-devel |
BuildRequires: tinyxml-devel |
102 |
|
BuildRequires: pcrecpp-devel |
103 |
|
BuildRequires: vsqlite++-devel |
104 |
%if %{build_java} |
%if %{build_java} |
105 |
BuildRequires: junit |
BuildRequires: junit |
106 |
BuildRequires: eclipse-ecj |
BuildRequires: eclipse-ecj |
135 |
and administering MySQL servers. |
and administering MySQL servers. |
136 |
|
|
137 |
%prep |
%prep |
138 |
%setup -q -n mysql-workbench-gpl-%{mw_version}-src |
%setup -q -n mysql-workbench-%{tartype}-%{mw_version}-nodocs-src |
139 |
%patch1 -p1 -b .cppconn |
#patch1 -p1 -b .cppconn |
140 |
%patch2 -p1 -b .ctemplate |
#patch2 -p1 -b .ctemplate |
141 |
%patch3 -p1 -b .tinyxml |
#patch3 -p1 -b .tinyxml |
142 |
%patch4 -p0 -b .mysql55 |
#patch4 -p0 -b .mysql55 |
143 |
%patch5 -p1 -b .antlr |
#patch5 -p1 -b .antlr |
144 |
%patch6 -p0 -b .ifconfig |
#patch6 -p0 -b .ifconfig |
145 |
%patch7 -p1 -b .nodocs |
#patch7 -p1 -b .nodocs |
146 |
|
|
147 |
# lib64 fix |
# lib64 fix |
148 |
perl -pi -e "s|/lib/|/%{_lib}/|g" frontend/linux/workbench/program.cpp |
perl -pi -e "s|/lib/|/%{_lib}/|g" frontend/linux/workbench/program.cpp |
151 |
%{__sed} -i -e 's/\r//g' COPYING |
%{__sed} -i -e 's/\r//g' COPYING |
152 |
touch -r .timestamp4rpm COPYING |
touch -r .timestamp4rpm COPYING |
153 |
|
|
|
# we use System provided libraries |
|
|
rm -rf ext/boost |
|
|
rm -rf ext/curl |
|
|
rm -rf ext/libsigc++ |
|
|
rm -rf ext/yassl |
|
|
rm -rf ext/connector-python |
|
|
|
|
|
# avoid "No such file" during configure |
|
|
touch po/POTFILES.in |
|
|
|
|
|
# ctemplete is now ctemplate and not google anymore |
|
|
for i in `grep -Rl google .`; do |
|
|
sed -i 's/google/ctemplate/g' $i; |
|
|
done |
|
|
|
|
154 |
%build |
%build |
155 |
#export CPPFLAGS="$CPPFLAGS `pkg-config --cflags scintilla`" |
#export CPPFLAGS="$CPPFLAGS `pkg-config --cflags scintilla`" |
156 |
|
%cmake .. |
157 |
|
|
158 |
|
|
159 |
%if %{build_autotools} |
%if %{build_autotools} |
160 |
NOCONFIGURE=yes ./autogen.sh |
#NOCONFIGURE=yes ./autogen.sh |
161 |
%endif |
%endif |
162 |
%define _disable_ld_no_undefined 1 |
%define _disable_ld_no_undefined 1 |
163 |
export CXXFLAGS="$RPM_OPT_FLAGS -fpermissive" |
export CXXFLAGS="$RPM_OPT_FLAGS -fpermissive" |
|
%configure2_5x --disable-debug \ |
|
|
--with-odbc-cflags="$(pkg-config --cflags libiodbc)" \ |
|
|
--with-odbc-libs="$(pkg-config --libs libiodbc)" \ |
|
|
--enable-mysql-utilities |
|
164 |
|
|
165 |
#fgrep -rlZ pkglib_DATA --include Makefile.am . | xargs -0 sed -i 's/pkglib_DATA/pkgdata_DATA/g' |
#fgrep -rlZ pkglib_DATA --include Makefile.am . | xargs -0 sed -i 's/pkglib_DATA/pkgdata_DATA/g' |
166 |
# antibork |
# antibork |
171 |
|
|
172 |
%make |
%make |
173 |
|
|
|
pushd ext/mysql-utilities |
|
|
%{__python} setup.py build_man |
|
|
popd |
|
174 |
|
|
175 |
%install |
%install |
176 |
|
touch LICENSE.mysql |
177 |
|
pushd build |
178 |
%makeinstall_std |
%makeinstall_std |
|
|
|
|
pushd ext/mysql-utilities |
|
|
%{__install} --directory %{buildroot}%{_prefix}/man/man1 |
|
|
%{__python} setup.py install --skip-profile --root %{buildroot} |
|
|
|
|
|
%{__install} --directory %{buildroot}%{_mandir} |
|
|
%{__mv} %{buildroot}%{_prefix}/man/man1 %{buildroot}%{_mandir}/man1 |
|
179 |
popd |
popd |
180 |
|
|
181 |
# construct a clean and correct wrapper |
# construct a clean and correct wrapper |
182 |
cat > %{buildroot}%{_bindir}/mysql-workbench << EOF |
cat > %{buildroot}%{_bindir}/mysql-workbench << EOF |
183 |
#!/bin/bash |
#!/bin/bash |
187 |
export MWB_MODULE_DIR="%{_libdir}/mysql-workbench/modules" |
export MWB_MODULE_DIR="%{_libdir}/mysql-workbench/modules" |
188 |
export MWB_PLUGIN_DIR="%{_libdir}/mysql-workbench/plugins" |
export MWB_PLUGIN_DIR="%{_libdir}/mysql-workbench/plugins" |
189 |
export DBC_DRIVER_PATH="%{_libdir}/mysql-workbench" |
export DBC_DRIVER_PATH="%{_libdir}/mysql-workbench" |
190 |
%{_libexecdir}/mysql-workbench-bin \$* |
%{_bindir}/mysql-workbench-bin \$* |
191 |
EOF |
EOF |
192 |
|
|
193 |
# fix some menu entries and stuff... |
# fix some menu entries and stuff... |
209 |
EOF |
EOF |
210 |
|
|
211 |
# make some icons |
# make some icons |
212 |
convert %{buildroot}%{_datadir}/mysql-workbench/images/MySQLWorkbench-48.png -resize 16x16 %{buildroot}%{_miconsdir}/mysql-workbench.png |
convert %{buildroot}%{_datadir}/mysql-workbench/images/MySQLWorkbench-128.png -resize 16x16 %{buildroot}%{_miconsdir}/mysql-workbench.png |
213 |
convert %{buildroot}%{_datadir}/mysql-workbench/images/MySQLWorkbench-48.png -resize 32x32 %{buildroot}%{_iconsdir}/mysql-workbench.png |
convert %{buildroot}%{_datadir}/mysql-workbench/images/MySQLWorkbench-128.png -resize 32x32 %{buildroot}%{_iconsdir}/mysql-workbench.png |
214 |
convert %{buildroot}%{_datadir}/mysql-workbench/images/MySQLWorkbench-48.png -resize 48x48 %{buildroot}%{_liconsdir}/mysql-workbench.png |
convert %{buildroot}%{_datadir}/mysql-workbench/images/MySQLWorkbench-128.png -resize 48x48 %{buildroot}%{_liconsdir}/mysql-workbench.png |
215 |
|
|
216 |
# cleanup |
# cleanup |
217 |
rm -f %{buildroot}%{_libdir}/mysql-workbench/*.*a |
rm -f %{buildroot}%{_libdir}/mysql-workbench/*.*a |
224 |
# NEWS and ChangeLog are empty or outdated |
# NEWS and ChangeLog are empty or outdated |
225 |
%doc AUTHORS COPYING COPYING.LGPL README samples |
%doc AUTHORS COPYING COPYING.LGPL README samples |
226 |
%{_bindir}/%{name} |
%{_bindir}/%{name} |
227 |
%{_libexecdir}/%{name}-bin |
%{_bindir}/%{name}-bin |
228 |
|
/etc/ld.so.conf.d/mysql-workbench.conf |
229 |
|
%{_bindir}/wbcopytables |
230 |
%{_datadir}/applications/mysql-workbench.desktop |
%{_datadir}/applications/mysql-workbench.desktop |
231 |
%{_miconsdir}/mysql-workbench.png |
%{_miconsdir}/mysql-workbench.png |
232 |
%{_iconsdir}/mysql-workbench.png |
%{_iconsdir}/mysql-workbench.png |
238 |
%{_datadir}/mime-info/* |
%{_datadir}/mime-info/* |
239 |
#%exclude %{_datadir}/doc/%{name} |
#%exclude %{_datadir}/doc/%{name} |
240 |
|
|
|
%files -n mysql-utilities |
|
|
%defattr(-, root, root, -) |
|
|
%doc ext/mysql-utilities/*.txt |
|
|
%{_bindir}/mysqldbcompare |
|
|
%{_bindir}/mysqldbcopy |
|
|
%{_bindir}/mysqldbexport |
|
|
%{_bindir}/mysqldbimport |
|
|
%{_bindir}/mysqldiff |
|
|
%{_bindir}/mysqldiskusage |
|
|
%{_bindir}/mysqlfailover |
|
|
%{_bindir}/mysqlindexcheck |
|
|
%{_bindir}/mysqlmetagrep |
|
|
%{_bindir}/mysqlprocgrep |
|
|
%{_bindir}/mysqlreplicate |
|
|
%{_bindir}/mysqlrpladmin |
|
|
%{_bindir}/mysqlrplcheck |
|
|
%{_bindir}/mysqlrplshow |
|
|
%{_bindir}/mysqlserverclone |
|
|
%{_bindir}/mysqlserverinfo |
|
|
%{_bindir}/mysqluc |
|
|
%{_bindir}/mysqluserclone |
|
|
%{_bindir}/wbcopytables |
|
|
%{python_sitelib}/mysql/* |
|
|
%{python_sitelib}/mysql_utilities* |
|
|
%{_mandir}/man1/* |
|
|
# empty file already provided by mysql-connector-python |
|
|
%exclude %{python_sitelib}/mysql/__init* |
|
|
%exclude %{python_sitelib}/mysql/connector/* |
|
|
|
|