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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 339044 - (show annotations) (download)
Sat Jan 5 06:54:59 2013 UTC (11 years, 3 months ago) by juancho
Original Path: cauldron/mysql-workbench/current/SPECS/mysql-workbench.spec
File size: 9001 byte(s)
- Updated to 5.2.45
- Synced patches with Fedora
- General spec cleanup

1 %define build_java 1
2 %define build_autotools 1
3 %define tartype gpl
4 %define Werror_cflags %nil
5 %define _disable_ld_no_undefined 1
6 %define _default_patch_fuzz 3
7 # 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
15 %global mw_version 5.2.45
16 %define rel 5
17
18 Summary: Extensible modeling tool for MySQL 5.x
19 Name: mysql-workbench
20 Group: Databases
21 Version: %{mw_version}
22 Release: %mkrel 1
23 License: GPL
24 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 Source: http://gd.tuwien.ac.at/db/mysql/Downloads/MySQLGUITools/%{name}-%{tartype}-%{version}-src.tar.gz
29 # don't build extension, use system one
30 # !!! This patch use versioned soname (libmysqlcppconn.so.6) !!!
31 Patch1: %{name}-5.2.45-cppconn.patch
32 # Use system ctemplate
33 Patch2: %{name}-5.2.43-ctemplate.patch
34 # Use system tinyxml
35 Patch3: %{name}-5.2.41-tinyxml.patch
36 Patch4: %{name}-5.2.33b-mysql55.patch
37 #Use system antlr version
38 Patch5: %{name}-5.2.43-antlr.patch
39 Patch6: %{name}-gpl-5.2.31-mga-fix-ifconfig.patch
40 # don't use bundled documentation, redirect to online doc
41 Patch7: %{name}-5.2.45-nodocs.patch
42
43 Obsoletes: mysql-workbench-oss < 5.2.30
44 Provides: mysql-workbench-oss
45 Obsoletes: mysql-gui-tools < 5.1
46 Provides: mysql-gui-tools
47 Obsoletes: mysql-administrator < 5.1
48 Provides: mysql-administrator
49 BuildRequires: antlr3-C-devel
50 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: glitz-devel
64 BuildRequires: gtk2-devel
65 BuildRequires: gtkhtml-3.14-devel
66 BuildRequires: gtkmm2.4-devel >= 2.6
67 BuildRequires: imagemagick
68 BuildRequires: iodbc-devel
69 BuildRequires: libext2fs-devel
70 BuildRequires: libfcgi-devel
71 BuildRequires: libfontconfig-devel
72 BuildRequires: libglade2.0-devel >= 2.5
73 BuildRequires: libgnome2-devel
74 BuildRequires: libgnomeprint-devel >= 2.2.0
75 BuildRequires: libpng-devel
76 BuildRequires: libsigc++2.0-devel
77 BuildRequires: libslang-devel
78 BuildRequires: libtool
79 BuildRequires: libuuid-devel
80 BuildRequires: libx11-devel
81 BuildRequires: libxext-devel
82 BuildRequires: libxml2-devel
83 BuildRequires: libxrender-devel
84 BuildRequires: libzip-devel
85 BuildRequires: lua5.1-devel
86 BuildRequires: mesagl-devel
87 BuildRequires: mesaglu-devel
88 BuildRequires: mysql-connector-c++-devel
89 BuildRequires: mariadb-devel >= 5.0
90 BuildRequires: ncurses-devel
91 BuildRequires: openssl-devel
92 BuildRequires: pcre-devel >= 5.0
93 BuildRequires: pixman-devel >= 0.11.2
94 BuildRequires: pkgconfig
95 BuildRequires: python-devel
96 BuildRequires: readline-devel
97 BuildRequires: scintilla-devel
98 BuildRequires: termcap-devel
99 BuildRequires: sqlite3-devel
100 BuildRequires: libgnome-keyring-devel
101 BuildRequires: tinyxml-devel
102 %if %{build_java}
103 BuildRequires: junit
104 BuildRequires: eclipse-ecj
105 BuildRequires: gcj-tools
106 BuildRequires: jpackage-utils
107 %endif
108 # requires mysql-client (for mysqldump and mysql cmdline client)
109 Requires: mysql-client
110 Requires: gnome-keyring
111 Requires: python-paramiko
112 Requires: python-pexpect
113
114 %description
115 MySQL Workbench is modeling tool that allows you to design and generate MySQL
116 databases graphically.
117
118 MySQL Workbench requires OpenGL and a 3D accelerated graphics card with at
119 least 16MB of memory.
120
121 %package -n mysql-utilities
122 Summary: Scripts for managing and administering MySQL servers
123 # Not yet published (else will be package separatly)
124 # see ext/mysql-utilities/CHANGES.txt
125 Version: 1.0.0
126 Release: %mkrel 0.%{mw_version}.%{rel}
127 BuildRequires: python-devel >= 2.4
128 BuildRequires: python-sphinx >= 1.0
129 Requires: mysql-connector-python
130
131 %description -n mysql-utilities
132 MySQL Utilities contain a collection of scripts useful for managing
133 and administering MySQL servers.
134
135 %prep
136 %setup -q -n mysql-workbench-gpl-%{mw_version}-src
137 %patch1 -p1 -b .cppconn
138 %patch2 -p1 -b .ctemplate
139 %patch3 -p1 -b .tinyxml
140 %patch4 -p0 -b .mysql55
141 %patch5 -p1 -b .antlr
142 %patch6 -p0 -b .ifconfig
143 %patch7 -p1 -b .nodocs
144
145 # lib64 fix
146 perl -pi -e "s|/lib/|/%{_lib}/|g" frontend/linux/workbench/program.cpp
147
148 touch -r COPYING .timestamp4rpm
149 %{__sed} -i -e 's/\r//g' COPYING
150 touch -r .timestamp4rpm COPYING
151
152 # we use System provided libraries
153 rm -rf ext/boost
154 rm -rf ext/curl
155 rm -rf ext/libsigc++
156 rm -rf ext/yassl
157
158 # avoid "No such file" during configure
159 touch po/POTFILES.in
160
161 # 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 export CXXFLAGS="$RPM_OPT_FLAGS -fpermissive"
174 %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 #fgrep -rlZ pkglib_DATA --include Makefile.am . | xargs -0 sed -i 's/pkglib_DATA/pkgdata_DATA/g'
180 # 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 pushd ext/mysql-utilities
189 %{__python} setup.py build_man
190 popd
191
192 %install
193
194 %makeinstall_std
195
196 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 # 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 %{_libexecdir}/mysql-workbench-bin \$*
213 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 cat > %{buildroot}%{_datadir}/applications/mysql-workbench.desktop << EOF
223 [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 %defattr(-, root, root, -)
246 # NEWS and ChangeLog are empty or outdated
247 %doc AUTHORS COPYING COPYING.LGPL README samples
248 %{_bindir}/%{name}
249 %{_libexecdir}/%{name}-bin
250 %{_datadir}/applications/mysql-workbench.desktop
251 %{_miconsdir}/mysql-workbench.png
252 %{_iconsdir}/mysql-workbench.png
253 %{_liconsdir}/mysql-workbench.png
254 %{_iconsdir}/hicolor/*
255 %{_libdir}/%{name}
256 %{_datadir}/%{name}
257 %{_datadir}/mime/packages/*
258 %{_datadir}/mime-info/*
259 #%exclude %{_datadir}/doc/%{name}
260
261 %files -n mysql-utilities
262 %defattr(-, root, root, -)
263 %doc ext/mysql-utilities/*.txt
264 %{_bindir}/mysqldbcompare
265 %{_bindir}/mysqldbcopy
266 %{_bindir}/mysqldbexport
267 %{_bindir}/mysqldbimport
268 %{_bindir}/mysqldiff
269 %{_bindir}/mysqldiskusage
270 %{_bindir}/mysqlfailover
271 %{_bindir}/mysqlindexcheck
272 %{_bindir}/mysqlmetagrep
273 %{_bindir}/mysqlprocgrep
274 %{_bindir}/mysqlreplicate
275 %{_bindir}/mysqlrpladmin
276 %{_bindir}/mysqlrplcheck
277 %{_bindir}/mysqlrplshow
278 %{_bindir}/mysqlserverclone
279 %{_bindir}/mysqlserverinfo
280 %{_bindir}/mysqluc
281 %{_bindir}/mysqluserclone
282 %{_bindir}/wbcopytables
283 %{python_sitelib}/mysql/*
284 %{python_sitelib}/mysql_utilities*
285 %{_mandir}/man1/*
286 # empty file already provided by mysql-connector-python
287 %exclude %{python_sitelib}/mysql/__init*
288

  ViewVC Help
Powered by ViewVC 1.1.30