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

  ViewVC Help
Powered by ViewVC 1.1.30