Accepting request 244989 from network:utilities

experimental Qt UI for wireshark
split UI into wireshark-ui-{gtk,qt}

OBS-URL: https://build.opensuse.org/request/show/244989
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/wireshark?expand=0&rev=85
This commit is contained in:
Ludwig Nussel 2014-08-18 09:24:05 +00:00 committed by Git OBS Bridge
commit 18048f3b59
3 changed files with 143 additions and 7 deletions

View File

@ -0,0 +1,57 @@
From: Andreas Stieger <andreas.stieger@gmx.de>
Date: Fri, 8 Aug 2014 19:50:24 +0200
Subject: [PATCH] Qt: Fix when build with Qt < 4.8.0
Upstream: Committed
References: https://www.wireshark.org/lists/wireshark-dev/201408/msg00074.html https://code.wireshark.org/review/#/c/3508/ https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commitdiff;h=020d0f89637faab8ec0e25e07d64eb66d96c2a72
Declared minimum requirement is Qt 4.6.0.
QFont.styleName is not available in Qt < 4.8
Fails on SLE11 with libqt4-devel-4.6.3-5.25.5:
[ 567s] qt_ui_utils.cpp: In function 'void smooth_font_size(QFont&)':
[ 567s] qt_ui_utils.cpp:58: error: 'class QFont' has no member named 'styleName'
---
ui/qt/font_color_preferences_frame.cpp | 8 +++++++-
ui/qt/qt_ui_utils.cpp | 4 ++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/ui/qt/font_color_preferences_frame.cpp b/ui/qt/font_color_preferences_frame.cpp
index e9f4a5d..38c894c 100644
--- a/ui/qt/font_color_preferences_frame.cpp
+++ b/ui/qt/font_color_preferences_frame.cpp
@@ -81,9 +81,15 @@ void FontColorPreferencesFrame::updateWidgets()
{
int margin = style()->pixelMetric(QStyle::PM_LayoutLeftMargin);
+#if QT_VERSION < QT_VERSION_CHECK(4, 8, 0)
ui->fontPushButton->setText(
- cur_font_.family() + " "/* + cur_font_.styleName() + " "*/ +
+ cur_font_.family() + " " +
QString::number(cur_font_.pointSizeF(), 'f', 1));
+#else
+ ui->fontPushButton->setText(
+ cur_font_.family() + " " + cur_font_.styleName() + " " +
+ QString::number(cur_font_.pointSizeF(), 'f', 1));
+#endif
ui->fontSampleLineEdit->setFont(cur_font_);
QString line_edit_ss = QString("QLineEdit { margin-left: %1px; }").arg(margin);
diff --git a/ui/qt/qt_ui_utils.cpp b/ui/qt/qt_ui_utils.cpp
index 8ad29d2..f4a0621 100644
--- a/ui/qt/qt_ui_utils.cpp
+++ b/ui/qt/qt_ui_utils.cpp
@@ -55,7 +55,11 @@ QString gchar_free_to_qstring(gchar *glib_string) {
void smooth_font_size(QFont &font) {
QFontDatabase fdb;
+#if QT_VERSION < QT_VERSION_CHECK(4, 8, 0)
+ QList<int> size_list = fdb.smoothSizes(font.family(), "");
+#else
QList<int> size_list = fdb.smoothSizes(font.family(), font.styleName());
+#endif
if (size_list.size() < 2) return;
--
1.7.9.5

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Sun Aug 17 16:08:46 UTC 2014 - andreas.stieger@gmx.de
- Build experimental UI wireshark-qt:
* add wireshark-1.12.0-qt-QFont-stylename.patch
to support building with Qt 4.6 on SLE 11
* split UI into wireshark-ui-gtk and wireshark-ui-qt to reduce
dependencies, one of which is required by the main package
- remove unknown configure option --with-python
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Aug 13 22:03:39 UTC 2014 - andreas.stieger@gmx.de Wed Aug 13 22:03:39 UTC 2014 - andreas.stieger@gmx.de

View File

@ -20,6 +20,8 @@
%define use_caps 0 %define use_caps 0
%define use_gtk3 0%{?suse_version} > 1140 %define use_gtk3 0%{?suse_version} > 1140
%bcond_without gtk
%bcond_without qt
Name: wireshark Name: wireshark
Version: 1.12.0 Version: 1.12.0
@ -37,14 +39,24 @@ Patch1: wireshark-1.2.0-disable-warning-dialog.patch
Patch2: wireshark-1.2.0-geoip.patch Patch2: wireshark-1.2.0-geoip.patch
Patch4: wireshark-1.10.0-enable_lua.patch Patch4: wireshark-1.10.0-enable_lua.patch
Patch5: wireshark-1.10.0-authors-pod2man.patch Patch5: wireshark-1.10.0-authors-pod2man.patch
Patch6: wireshark-1.12.0-qt-QFont-stylename.patch
BuildRequires: bison BuildRequires: bison
BuildRequires: cairo-devel BuildRequires: cairo-devel
BuildRequires: flex BuildRequires: flex
%if 0%{?use_gtk3} %if %{with gtk}
%if 0%{use_gtk3}
BuildRequires: gtk3-devel >= 3.0.0 BuildRequires: gtk3-devel >= 3.0.0
%else %else
BuildRequires: gtk2-devel >= 2.12.0 BuildRequires: gtk2-devel >= 2.12.0
%endif %endif # use_gtk3
%endif # with gtk
%if %{with qt}
%if 0%{?suse_version} >= 1220
BuildRequires: pkgconfig(QtCore) >= 4.6.0
%else
BuildRequires: libqt4-devel >= 4.6.0
%endif # 12.20
%endif # with qt
BuildRequires: krb5-devel BuildRequires: krb5-devel
BuildRequires: libcap-devel BuildRequires: libcap-devel
BuildRequires: libcares-devel BuildRequires: libcares-devel
@ -80,6 +92,7 @@ Recommends: GeoIP
%if 0%{?suse_version} >= 1230 %if 0%{?suse_version} >= 1230
BuildRequires: gpg-offline BuildRequires: gpg-offline
%endif %endif
Requires: wireshark-ui = %{version}
%description %description
Wireshark is a free network protocol analyzer for Unix and Windows. It Wireshark is a free network protocol analyzer for Unix and Windows. It
@ -106,6 +119,32 @@ and detail information for each packet. Wireshark has several powerful
features, including a rich display filter language and the ability to features, including a rich display filter language and the ability to
view the reconstructed stream of a TCP session. view the reconstructed stream of a TCP session.
%if %{with gtk}
%package ui-gtk
Summary: A Network Traffic Analyser - GTK+ UI
Group: Productivity/Networking/Diagnostic
Requires: %{name} = %{version}
Provides: %{name}-ui = %{version}
%description ui-gtk
This package contains the classic GTK+ UI of Wireshark.
%endif
%if %{with qt}
%package ui-qt
Summary: A Network Traffic Analyser - Qt UI
Group: Productivity/Networking/Diagnostic
Requires: %{name} = %{version}
Provides: %{name}-ui = %{version}
%description ui-qt
This package contains the newer Qt based UI for Wireshark.
%endif
%prep %prep
%{?gpg_verify: %gpg_verify %{S:2}} %{?gpg_verify: %gpg_verify %{S:2}}
# The publisher doesn't sign the source tarball, but a signatures file containing multiple hashes. # The publisher doesn't sign the source tarball, but a signatures file containing multiple hashes.
@ -117,14 +156,17 @@ echo "`grep %{name}-%{version}.tar.bz2 %{S:2} | grep SHA1 | head -n1 | cut -d= -
%patch2 -p1 %patch2 -p1
%patch4 -p1 %patch4 -p1
%if %{with gtk}
sed -i 's/^Icon=wireshark.png$/Icon=wireshark/' wireshark.desktop sed -i 's/^Icon=wireshark.png$/Icon=wireshark/' wireshark.desktop
# run as root on 11.3 and older - bnc#349782 # run as root on 11.3 and older - bnc#349782
%if ! %{use_caps} %if ! %{use_caps}
%patch1 -p1 %patch1 -p1
sed -i 's!^Exec=wireshark!Exec=/usr/bin/xdg-su -c /usr/bin/wireshark!' wireshark.desktop sed -i 's!^Exec=wireshark!Exec=/usr/bin/xdg-su -c /usr/bin/wireshark!' wireshark.desktop
%endif %endif
%endif # with gtk
%patch5 -p1 %patch5 -p1
%patch6 -p1
%build %build
@ -133,18 +175,26 @@ sed -i 's!^Exec=wireshark!Exec=/usr/bin/xdg-su -c /usr/bin/wireshark!' wireshark
%if 0%{?suse_version} < 1220 %if 0%{?suse_version} < 1220
--without-zlib \ --without-zlib \
%endif %endif
%if %{with gtk}
%if 0%{?use_gtk3} %if 0%{?use_gtk3}
--with-gtk3=yes \ --with-gtk3=yes \
--with-gtk2=no \ --with-gtk2=no \
%else %else
--with-gtk3=no \ --with-gtk3=no \
--with-gtk2=yes \ --with-gtk2=yes \
%endif
%else
--with-gtk3=no \
--with-gtk2=no \
%endif # with gtk
%if %{with qt}
--with-qt=yes \
%else
--with-qt=no \
%endif %endif
--with-ssl \ --with-ssl \
--with-gnutls=yes \ --with-gnutls=yes \
--with-gcrypt=yes \ --with-gcrypt=yes \
--with-python \
--with-qt=no \
--with-plugins=%{_libdir}/%{name}/plugins/%{version} --with-plugins=%{_libdir}/%{name}/plugins/%{version}
make %{?_smp_mflags} make %{?_smp_mflags}
@ -152,7 +202,9 @@ make %{?_smp_mflags}
%install %install
make DESTDIR=%{buildroot} install make DESTDIR=%{buildroot} install
find %{buildroot} -name "*.la" -delete -print find %{buildroot} -name "*.la" -delete -print
%if %{with gtk}
ln -fs wireshark %{buildroot}%{_bindir}/ethereal ln -fs wireshark %{buildroot}%{_bindir}/ethereal
%endif
ln -fs tshark %{buildroot}%{_bindir}/tethereal ln -fs tshark %{buildroot}%{_bindir}/tethereal
install -d -m 0755 %{buildroot}%{_sysconfdir} install -d -m 0755 %{buildroot}%{_sysconfdir}
install -d -m 0755 %{buildroot}%{_mandir}/man1/ install -d -m 0755 %{buildroot}%{_mandir}/man1/
@ -179,11 +231,13 @@ install -m 644 wiretap/*.h "${IDIR}/wiretap"
install -m 644 wsutil/*.h "${IDIR}/wsutil" install -m 644 wsutil/*.h "${IDIR}/wsutil"
install -m 644 ws_symbol_export.h "${IDIR}/" install -m 644 ws_symbol_export.h "${IDIR}/"
%if %{with gtk}
install -D -m 0644 image/wsicon48.png %{buildroot}%{_datadir}/pixmaps/wireshark.png install -D -m 0644 image/wsicon48.png %{buildroot}%{_datadir}/pixmaps/wireshark.png
install -D -m 0644 wireshark.desktop %{buildroot}%{_datadir}/applications/wireshark.desktop install -D -m 0644 wireshark.desktop %{buildroot}%{_datadir}/applications/wireshark.desktop
%if 0%{?suse_version} %if 0%{?suse_version}
%suse_update_desktop_file %{name} %suse_update_desktop_file %{name}
%endif %endif
%endif
%clean %clean
rm -rf %{buildroot} rm -rf %{buildroot}
@ -203,11 +257,8 @@ getent group wireshark >/dev/null || groupadd wireshark
%doc AUTHORS COPYING NEWS README README.linux README.vmware %doc AUTHORS COPYING NEWS README README.linux README.vmware
%doc %{_mandir}/man1/[^i]* %doc %{_mandir}/man1/[^i]*
%doc %{_mandir}/man4/* %doc %{_mandir}/man4/*
%{_datadir}/applications/wireshark.desktop
%{_datadir}/pixmaps/wireshark.png
%{_bindir}/ethereal %{_bindir}/ethereal
%{_bindir}/tethereal %{_bindir}/tethereal
%{_bindir}/wireshark
%{_bindir}/editcap %{_bindir}/editcap
%{_bindir}/tshark %{_bindir}/tshark
%{_bindir}/mergecap %{_bindir}/mergecap
@ -233,4 +284,22 @@ getent group wireshark >/dev/null || groupadd wireshark
%{_includedir}/wireshark %{_includedir}/wireshark
%{_libdir}/lib*.so %{_libdir}/lib*.so
%if %{with gtk}
%files ui-gtk
%defattr(-,root,root)
%{_bindir}/wireshark
%{_datadir}/applications/wireshark.desktop
%{_datadir}/pixmaps/wireshark.png
%endif
%if %{with qt}
%files ui-qt
%defattr(-,root,root)
%{_bindir}/wireshark-qt
%endif
%changelog %changelog