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

  ViewVC Help
Powered by ViewVC 1.1.30