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

  ViewVC Help
Powered by ViewVC 1.1.30