/[packages]/updates/5/mysql-workbench/current/SPECS/mysql-workbench.spec
ViewVC logotype

Annotation of /updates/5/mysql-workbench/current/SPECS/mysql-workbench.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 406908 - (hide annotations) (download)
Sun Mar 31 23:00:34 2013 UTC (11 years ago) by juancho
Original Path: cauldron/mysql-workbench/current/SPECS/mysql-workbench.spec
File size: 9047 byte(s)
Excluded python mysql connector from mysql-utilities so it doesn't conflict with mysql-connector-python (bug #9421)
1 dmorgan 55928 %define build_java 1
2     %define build_autotools 1
3 dmorgan 56021 %define tartype gpl
4 dmorgan 56420 %define Werror_cflags %nil
5 dmorgan 56421 %define _disable_ld_no_undefined 1
6 fwang 133436 %define _default_patch_fuzz 3
7 dmorgan 55928 # commandline overrides:
8     # rpm -ba|--rebuild --with 'xxx'
9     %{?_with_java: %{expand: %%global build_java 1}}
10     %{?_without_java: %{expand: %%global build_java 0}}
11     %{?_with_autotools: %{expand: %%global build_autotools 1}}
12     %{?_without_autotools: %{expand: %%global build_autotools 0}}
13    
14 dmorgan 100059
15 juancho 339044 %global mw_version 5.2.45
16 juancho 406908 %define rel 8
17 dmorgan 100059
18 dmorgan 55928 Summary: Extensible modeling tool for MySQL 5.x
19 dmorgan 56016 Name: mysql-workbench
20 dmorgan 55928 Group: Databases
21 fwang 133436 Version: %{mw_version}
22 juancho 406908 Release: %mkrel 3
23 dmorgan 55928 License: GPL
24 dmorgan 56016 URL: http://wb.mysql.com
25     # 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
27     # http://dev.mysql.com/downloads/workbench/
28 mikala 82323 Source: http://gd.tuwien.ac.at/db/mysql/Downloads/MySQLGUITools/%{name}-%{tartype}-%{version}-src.tar.gz
29 dmorgan 56016 # don't build extension, use system one
30 juancho 308061 # !!! This patch use versioned soname (libmysqlcppconn.so.6) !!!
31 juancho 339044 Patch1: %{name}-5.2.45-cppconn.patch
32     # Use system ctemplate
33 juancho 308061 Patch2: %{name}-5.2.43-ctemplate.patch
34 juancho 339044 # Use system tinyxml
35 juancho 308061 Patch3: %{name}-5.2.41-tinyxml.patch
36 mikala 82323 Patch4: %{name}-5.2.33b-mysql55.patch
37 juancho 308061 #Use system antlr version
38     Patch5: %{name}-5.2.43-antlr.patch
39     Patch6: %{name}-gpl-5.2.31-mga-fix-ifconfig.patch
40 juancho 339044 # don't use bundled documentation, redirect to online doc
41     Patch7: %{name}-5.2.45-nodocs.patch
42    
43 dmorgan 56016 Obsoletes: mysql-workbench-oss < 5.2.30
44     Provides: mysql-workbench-oss
45 dmorgan 100004 Obsoletes: mysql-gui-tools < 5.1
46     Provides: mysql-gui-tools
47 dmorgan 100059 Obsoletes: mysql-administrator < 5.1
48     Provides: mysql-administrator
49 juancho 308061 BuildRequires: antlr3-C-devel
50 dmorgan 55928 BuildRequires: autoconf2.5
51     BuildRequires: boost-devel >= 1.35.0
52     BuildRequires: cairo-devel
53     BuildRequires: cairomm-devel
54     BuildRequires: ctemplate-devel >= 0.91
55     BuildRequires: expat-devel
56     BuildRequires: fdupes
57     BuildRequires: file
58     BuildRequires: freetype2-devel >= 2.1.10
59     BuildRequires: gettext
60     BuildRequires: gettext-devel
61     BuildRequires: glib2-devel
62     BuildRequires: glibmm2.4-devel
63     BuildRequires: gtk2-devel
64     BuildRequires: gtkhtml-3.14-devel
65     BuildRequires: gtkmm2.4-devel >= 2.6
66     BuildRequires: imagemagick
67 juancho 308061 BuildRequires: iodbc-devel
68 dmorgan 55928 BuildRequires: libext2fs-devel
69     BuildRequires: libfcgi-devel
70     BuildRequires: libfontconfig-devel
71     BuildRequires: libglade2.0-devel >= 2.5
72     BuildRequires: libgnome2-devel
73     BuildRequires: libgnomeprint-devel >= 2.2.0
74     BuildRequires: libpng-devel
75     BuildRequires: libsigc++2.0-devel
76     BuildRequires: libslang-devel
77     BuildRequires: libtool
78     BuildRequires: libuuid-devel
79     BuildRequires: libx11-devel
80     BuildRequires: libxext-devel
81     BuildRequires: libxml2-devel
82     BuildRequires: libxrender-devel
83     BuildRequires: libzip-devel
84     BuildRequires: lua5.1-devel
85     BuildRequires: mesagl-devel
86     BuildRequires: mesaglu-devel
87     BuildRequires: mysql-connector-c++-devel
88 dlucio 183887 BuildRequires: mariadb-devel >= 5.0
89 dmorgan 55928 BuildRequires: ncurses-devel
90     BuildRequires: openssl-devel
91     BuildRequires: pcre-devel >= 5.0
92     BuildRequires: pixman-devel >= 0.11.2
93     BuildRequires: pkgconfig
94     BuildRequires: python-devel
95     BuildRequires: readline-devel
96     BuildRequires: scintilla-devel
97     BuildRequires: termcap-devel
98     BuildRequires: sqlite3-devel
99     BuildRequires: libgnome-keyring-devel
100 ahmad 61371 BuildRequires: tinyxml-devel
101 dmorgan 55928 %if %{build_java}
102 ahmad 65768 BuildRequires: junit
103 dmorgan 55928 BuildRequires: eclipse-ecj
104 ahmad 65768 BuildRequires: gcj-tools
105     BuildRequires: jpackage-utils
106 dmorgan 55928 %endif
107 ahmad 65768 # requires mysql-client (for mysqldump and mysql cmdline client)
108     Requires: mysql-client
109     Requires: gnome-keyring
110     Requires: python-paramiko
111 spuhler 65753 Requires: python-pexpect
112 dmorgan 55928
113     %description
114     MySQL Workbench is modeling tool that allows you to design and generate MySQL
115     databases graphically.
116    
117     MySQL Workbench requires OpenGL and a 3D accelerated graphics card with at
118     least 16MB of memory.
119    
120 dmorgan 100059 %package -n mysql-utilities
121     Summary: Scripts for managing and administering MySQL servers
122     # Not yet published (else will be package separatly)
123     # see ext/mysql-utilities/CHANGES.txt
124     Version: 1.0.0
125 fwang 323830 Release: %mkrel 0.%{mw_version}.%{rel}
126 dmorgan 100059 BuildRequires: python-devel >= 2.4
127 fwang 308110 BuildRequires: python-sphinx >= 1.0
128 dmorgan 100059 Requires: mysql-connector-python
129    
130     %description -n mysql-utilities
131     MySQL Utilities contain a collection of scripts useful for managing
132     and administering MySQL servers.
133    
134 dmorgan 55928 %prep
135 fwang 133436 %setup -q -n mysql-workbench-gpl-%{mw_version}-src
136     %patch1 -p1 -b .cppconn
137     %patch2 -p1 -b .ctemplate
138 juancho 308061 %patch3 -p1 -b .tinyxml
139 mikala 82323 %patch4 -p0 -b .mysql55
140 juancho 308061 %patch5 -p1 -b .antlr
141 mikala 72282 %patch6 -p0 -b .ifconfig
142 juancho 320026 %patch7 -p1 -b .nodocs
143 dmorgan 55928
144     # lib64 fix
145     perl -pi -e "s|/lib/|/%{_lib}/|g" frontend/linux/workbench/program.cpp
146    
147 dmorgan 100059 touch -r COPYING .timestamp4rpm
148     %{__sed} -i -e 's/\r//g' COPYING
149     touch -r .timestamp4rpm COPYING
150 dmorgan 55928
151 dmorgan 100059 # we use System provided libraries
152     rm -rf ext/boost
153     rm -rf ext/curl
154     rm -rf ext/libsigc++
155     rm -rf ext/yassl
156 juancho 406908 rm -rf ext/connector-python
157 dmorgan 100059
158     # avoid "No such file" during configure
159     touch po/POTFILES.in
160    
161 dmorgan 55928 # ctemplete is now ctemplate and not google anymore
162     for i in `grep -Rl google .`; do
163     sed -i 's/google/ctemplate/g' $i;
164     done
165    
166     %build
167     #export CPPFLAGS="$CPPFLAGS `pkg-config --cflags scintilla`"
168    
169     %if %{build_autotools}
170     NOCONFIGURE=yes ./autogen.sh
171     %endif
172     %define _disable_ld_no_undefined 1
173 dmorgan 100059 export CXXFLAGS="$RPM_OPT_FLAGS -fpermissive"
174 juancho 339044 %configure2_5x --disable-debug \
175     --with-odbc-cflags="$(pkg-config --cflags libiodbc)" \
176     --with-odbc-libs="$(pkg-config --libs libiodbc)" \
177     --enable-mysql-utilities
178    
179 juancho 308061 #fgrep -rlZ pkglib_DATA --include Makefile.am . | xargs -0 sed -i 's/pkglib_DATA/pkgdata_DATA/g'
180 dmorgan 55928 # antibork
181     #find -type f -name Makefile | xargs perl -pi -e "s|-Wl,--as-needed||g"
182    
183     # use the shared libs
184     #find -type f -name Makefile | xargs perl -pi -e "s|%{_libdir}/python%{pyver}/config/libpython%{pyver}.a|-lpython%{pyver}|g"
185    
186     %make
187    
188 dmorgan 100059 pushd ext/mysql-utilities
189     %{__python} setup.py build_man
190     popd
191    
192 dmorgan 55928 %install
193    
194     %makeinstall_std
195    
196 dmorgan 100059 pushd ext/mysql-utilities
197     %{__install} --directory %{buildroot}%{_prefix}/man/man1
198     %{__python} setup.py install --skip-profile --root %{buildroot}
199    
200     %{__install} --directory %{buildroot}%{_mandir}
201     %{__mv} %{buildroot}%{_prefix}/man/man1 %{buildroot}%{_mandir}/man1
202     popd
203 dmorgan 55928 # construct a clean and correct wrapper
204     cat > %{buildroot}%{_bindir}/mysql-workbench << EOF
205     #!/bin/bash
206     export LD_LIBRARY_PATH="%{_libdir}/mysql-workbench:\$LD_LIBRARY_PATH"
207     export MWB_DATA_DIR="%{_datadir}/mysql-workbench"
208     export MWB_LIBRARY_DIR="%{_datadir}/mysql-workbench/libraries"
209     export MWB_MODULE_DIR="%{_libdir}/mysql-workbench/modules"
210     export MWB_PLUGIN_DIR="%{_libdir}/mysql-workbench/plugins"
211     export DBC_DRIVER_PATH="%{_libdir}/mysql-workbench"
212 juancho 339044 %{_libexecdir}/mysql-workbench-bin \$*
213 dmorgan 55928 EOF
214    
215     # fix some menu entries and stuff...
216     install -d %{buildroot}%{_miconsdir}
217     install -d %{buildroot}%{_iconsdir}
218     install -d %{buildroot}%{_liconsdir}
219    
220     install -d %{buildroot}%{_datadir}/applications
221     rm -f %{buildroot}%{_datadir}/applications/MySQLWorkbench.desktop
222 dmorgan 56019 cat > %{buildroot}%{_datadir}/applications/mysql-workbench.desktop << EOF
223 dmorgan 55928 [Desktop Entry]
224     Name=MySQL Workbench
225     Comment=MySQL Database Design Tool
226     Exec=%{_bindir}/mysql-workbench
227     Terminal=false
228     Type=Application
229     Icon=mysql-workbench
230     Categories=Database;Office;
231     EOF
232    
233     # make some icons
234     convert %{buildroot}%{_datadir}/mysql-workbench/images/MySQLWorkbench-48.png -resize 16x16 %{buildroot}%{_miconsdir}/mysql-workbench.png
235     convert %{buildroot}%{_datadir}/mysql-workbench/images/MySQLWorkbench-48.png -resize 32x32 %{buildroot}%{_iconsdir}/mysql-workbench.png
236     convert %{buildroot}%{_datadir}/mysql-workbench/images/MySQLWorkbench-48.png -resize 48x48 %{buildroot}%{_liconsdir}/mysql-workbench.png
237    
238     # cleanup
239     rm -f %{buildroot}%{_libdir}/mysql-workbench/*.*a
240     rm -f %{buildroot}%{_libdir}/mysql-workbench/lib*.so
241     rm -f %{buildroot}%{_libdir}/mysql-workbench/modules/*.*a
242     rm -f %{buildroot}%{_libdir}/mysql-workbench/plugins/*.*a
243    
244     %files
245 dmorgan 100059 %defattr(-, root, root, -)
246     # NEWS and ChangeLog are empty or outdated
247     %doc AUTHORS COPYING COPYING.LGPL README samples
248     %{_bindir}/%{name}
249 juancho 339044 %{_libexecdir}/%{name}-bin
250 dmorgan 100080 %{_datadir}/applications/mysql-workbench.desktop
251 dmorgan 100085 %{_miconsdir}/mysql-workbench.png
252     %{_iconsdir}/mysql-workbench.png
253     %{_liconsdir}/mysql-workbench.png
254 juancho 308061 %{_iconsdir}/hicolor/*
255 dmorgan 100059 %{_libdir}/%{name}
256     %{_datadir}/%{name}
257 juancho 308061 %{_datadir}/mime/packages/*
258     %{_datadir}/mime-info/*
259     #%exclude %{_datadir}/doc/%{name}
260 dmorgan 100059
261     %files -n mysql-utilities
262     %defattr(-, root, root, -)
263     %doc ext/mysql-utilities/*.txt
264 dlucio 184054 %{_bindir}/mysqldbcompare
265 dmorgan 100059 %{_bindir}/mysqldbcopy
266     %{_bindir}/mysqldbexport
267     %{_bindir}/mysqldbimport
268     %{_bindir}/mysqldiff
269     %{_bindir}/mysqldiskusage
270 juancho 308061 %{_bindir}/mysqlfailover
271 dmorgan 100059 %{_bindir}/mysqlindexcheck
272     %{_bindir}/mysqlmetagrep
273     %{_bindir}/mysqlprocgrep
274     %{_bindir}/mysqlreplicate
275 juancho 308061 %{_bindir}/mysqlrpladmin
276     %{_bindir}/mysqlrplcheck
277     %{_bindir}/mysqlrplshow
278 dmorgan 100059 %{_bindir}/mysqlserverclone
279 fwang 133440 %{_bindir}/mysqlserverinfo
280 juancho 308061 %{_bindir}/mysqluc
281 dmorgan 100059 %{_bindir}/mysqluserclone
282 juancho 308061 %{_bindir}/wbcopytables
283     %{python_sitelib}/mysql/*
284 dmorgan 100059 %{python_sitelib}/mysql_utilities*
285     %{_mandir}/man1/*
286     # empty file already provided by mysql-connector-python
287     %exclude %{python_sitelib}/mysql/__init*
288 juancho 406908 %exclude %{python_sitelib}/mysql/connector/*
289 juancho 339044

  ViewVC Help
Powered by ViewVC 1.1.30