diff --git a/cmake_3-20_compatibility_1.patch b/cmake_3-20_compatibility_1.patch new file mode 100644 index 0000000..59c9d49 --- /dev/null +++ b/cmake_3-20_compatibility_1.patch @@ -0,0 +1,31 @@ +commit 22cf2cb345b16f9783165e9cfc80ed9a97a11ca0 +Author: João Valverde +Date: Mon Mar 29 01:32:20 2021 +0100 + + CMake: Set CMake Policy CMP0071 to NEW + + This policy says: "Since version 3.10, CMake processes regular and GENERATED + source files in AUTOMOC and AUTOUIC. In earlier CMake versions, only regular + source files were processed. GENERATED source files were ignored silently." + + We are currently running AUTOMOC/RCC/UIC on too many files unnecessarily and + that should be improved. CMake 3.20 introduced some changes related with this + that broke the build (issue #17314) and need further investigation. + + Meanwhile setting this policy to NEW shouldn't break anything and silences + some noisy CMake warnings. + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 99ce96ba3c..fc2d491783 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,6 +24,9 @@ endif() + if(POLICY CMP0069) + cmake_policy(SET CMP0069 NEW) + endif() ++if(POLICY CMP0071) ++ cmake_policy(SET CMP0071 NEW) ++endif() + if(POLICY CMP0074) + cmake_policy(SET CMP0074 NEW) + endif() diff --git a/cmake_3-20_compatibility_2.patch b/cmake_3-20_compatibility_2.patch new file mode 100644 index 0000000..33a6b49 --- /dev/null +++ b/cmake_3-20_compatibility_2.patch @@ -0,0 +1,45 @@ +commit 4adb329c48fdc708f3911e9e785304cb7d1ad6ab +Author: Gerald Combs +Date: Fri Mar 26 12:52:01 2021 -0700 + + CMake: Enable AUTO{MOC,UIC,RCC} earlier. + + Enable CMAKE_AUTOMOC, CMAKE_AUTOUIC, and CMAKE_AUTORCC before searching + for Qt packages. This is apparently required for CMake 3.20.0 and later. + Fixes #17314. + + (cherry picked from commit be2b0fc810fb2f2a80e471138dc29f0cbe87b209) + + Conflicts: + ui/qt/CMakeLists.txt + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fc96707896..e99d486711 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1094,6 +1094,10 @@ ws_find_package(Systemd BUILD_sdjournal HAVE_SYSTEMD) + + # Build the Qt GUI? + if(BUILD_wireshark) ++ set(CMAKE_AUTOMOC ON) ++ set(CMAKE_AUTOUIC ON) ++ set(CMAKE_AUTORCC ON) ++ + # Untested, may not work if CMAKE_PREFIX_PATH gets overwritten + # somewhere. The if WIN32 in this place is annoying as well. + if(WIN32) +diff --git a/ui/qt/CMakeLists.txt b/ui/qt/CMakeLists.txt +index 20f46802a1..85993a1c71 100644 +--- a/ui/qt/CMakeLists.txt ++++ b/ui/qt/CMakeLists.txt +@@ -611,10 +611,6 @@ include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} + ) + +-set(CMAKE_AUTOMOC TRUE) +-set(CMAKE_AUTOUIC TRUE) +-set(CMAKE_AUTORCC TRUE) +- + if(NOT Qt5Widgets_VERSION VERSION_LESS "5.9") + # Drop the file modification time of source files from generated files + # to help with reproducible builds. We do not use QFileInfo.lastModified diff --git a/wireshark-0008-move-glib.patch b/wireshark-0008-move-glib.patch new file mode 100644 index 0000000..a0ae21f --- /dev/null +++ b/wireshark-0008-move-glib.patch @@ -0,0 +1,312 @@ +diff --git a/caputils/capture_ifinfo.h b/caputils/capture_ifinfo.h +index e063134b74..9965703538 100644 +--- a/caputils/capture_ifinfo.h ++++ b/caputils/capture_ifinfo.h +@@ -11,12 +11,12 @@ + #ifndef __CAPTURE_IFINFO_H__ + #define __CAPTURE_IFINFO_H__ + ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif /* __cplusplus */ + +-#include +- + /* + * Explicitly set the interface_type enum values as these values are exposed + * in the preferences gui.interfaces_hidden_types string. +diff --git a/epan/dissectors/dissectors.h b/epan/dissectors/dissectors.h +index b9f4c6b0ff..6f83b01b7c 100644 +--- a/epan/dissectors/dissectors.h ++++ b/epan/dissectors/dissectors.h +@@ -11,12 +11,12 @@ + #ifndef __DISSECTOR_REGISTER_H__ + #define __DISSECTOR_REGISTER_H__ + ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif /* __cplusplus */ + +-#include +- + typedef struct _dissector_reg { + const char *cb_name; + void (*cb_func)(void); +diff --git a/epan/epan.h b/epan/epan.h +index 1f6a52fa27..f646c1fc95 100644 +--- a/epan/epan.h ++++ b/epan/epan.h +@@ -10,11 +10,12 @@ + #ifndef __EPAN_H__ + #define __EPAN_H__ + ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif /* __cplusplus */ + +-#include + #include + #include + #include +diff --git a/epan/prefs.h b/epan/prefs.h +index 1fc560ccdc..1814f53a80 100644 +--- a/epan/prefs.h ++++ b/epan/prefs.h +@@ -11,12 +11,12 @@ + #ifndef __PREFS_H__ + #define __PREFS_H__ + ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif /* __cplusplus */ + +-#include +- + #include + #include + +diff --git a/epan/value_string.h b/epan/value_string.h +index 03551e31f4..548ec6a7ae 100644 +--- a/epan/value_string.h ++++ b/epan/value_string.h +@@ -11,11 +11,12 @@ + #ifndef __VALUE_STRING_H__ + #define __VALUE_STRING_H__ + ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif /* __cplusplus */ + +-#include + #include "ws_symbol_export.h" + #include "wmem/wmem.h" + +diff --git a/epan/wmem/wmem_user_cb_int.h b/epan/wmem/wmem_user_cb_int.h +index 3045d943ab..7232241c81 100644 +--- a/epan/wmem/wmem_user_cb_int.h ++++ b/epan/wmem/wmem_user_cb_int.h +@@ -12,11 +12,12 @@ + #ifndef __WMEM_USER_CB_INT_H__ + #define __WMEM_USER_CB_INT_H__ + ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif /* __cplusplus */ + +-#include + #include "wmem_user_cb.h" + + WS_DLL_LOCAL +diff --git a/ui/packet_range.h b/ui/packet_range.h +index 6e7d34d118..2e5dad62af 100644 +--- a/ui/packet_range.h ++++ b/ui/packet_range.h +@@ -14,12 +14,12 @@ + #ifndef __PACKET_RANGE_H__ + #define __PACKET_RANGE_H__ + ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif /* __cplusplus */ + +-#include +- + #include + #include + +diff --git a/ui/recent.h b/ui/recent.h +index 3d6d1c9cdb..5ae5852bb4 100644 +--- a/ui/recent.h ++++ b/ui/recent.h +@@ -12,11 +12,12 @@ + #ifndef __RECENT_H__ + #define __RECENT_H__ + ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif /* __cplusplus */ + +-#include + #include + #include "epan/timestamp.h" + #include "ui/ws_ui_util.h" +diff --git a/ui/rtp_media.h b/ui/rtp_media.h +index 04290f6aee..e144ac571e 100644 +--- a/ui/rtp_media.h ++++ b/ui/rtp_media.h +@@ -15,6 +15,8 @@ + #ifndef __RTP_MEDIA_H__ + #define __RTP_MEDIA_H__ + ++#include ++ + /** @file + * "RTP Player" dialog box common routines. + * @ingroup main_ui_group +@@ -24,8 +26,6 @@ + extern "C" { + #endif /* __cplusplus */ + +-#include +- + /****************************************************************************/ + /* INTERFACE */ + /****************************************************************************/ +diff --git a/ui/rtp_stream.h b/ui/rtp_stream.h +index e368a792bf..b683f16ba7 100644 +--- a/ui/rtp_stream.h ++++ b/ui/rtp_stream.h +@@ -14,6 +14,8 @@ + #ifndef __RTP_STREAM_H__ + #define __RTP_STREAM_H__ + ++#include ++ + /** @file + * "RTP Streams" dialog box common routines. + * @ingroup main_ui_group +@@ -24,7 +26,6 @@ extern "C" { + #endif /* __cplusplus */ + + #include "tap-rtp-analysis.h" +-#include + #include + + #include "cfile.h" +diff --git a/ui/voip_calls.h b/ui/voip_calls.h +index 0fc71f180f..cfd791d6f8 100644 +--- a/ui/voip_calls.h ++++ b/ui/voip_calls.h +@@ -22,6 +22,8 @@ + #ifndef __VOIP_CALLS_H__ + #define __VOIP_CALLS_H__ + ++#include ++ + /** @file + * "VoIP Calls" dialog box common routines. + * @ingroup main_ui_group +@@ -31,7 +33,6 @@ + extern "C" { + #endif /* __cplusplus */ + +-#include + #include + + #include "epan/address.h" +diff --git a/wsutil/file_util.h b/wsutil/file_util.h +index 565b9d46e3..e9942f3c5b 100644 +--- a/wsutil/file_util.h ++++ b/wsutil/file_util.h +@@ -11,6 +11,8 @@ + #ifndef __FILE_UTIL_H__ + #define __FILE_UTIL_H__ + ++#include ++ + #include "config.h" + + #include "ws_symbol_export.h" +@@ -19,8 +21,6 @@ + extern "C" { + #endif /* __cplusplus */ + +-#include +- + #ifdef _WIN32 + #include /* for _read(), _write(), etc. */ + #include +diff --git a/wsutil/plugins.h b/wsutil/plugins.h +index 49c221ef5e..9eaa0e41ea 100644 +--- a/wsutil/plugins.h ++++ b/wsutil/plugins.h +@@ -11,13 +11,13 @@ + #ifndef __PLUGINS_H__ + #define __PLUGINS_H__ + ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif /* __cplusplus */ + +-#include + #include +- + #include "ws_symbol_export.h" + + typedef void (*plugin_register_func)(void); +diff --git a/ui/taps.h b/ui/taps.h +index 4078e6d..d083519 100644 +--- a/ui/taps.h ++++ b/ui/taps.h +@@ -11,12 +11,12 @@ + #ifndef __TAP_REGISTER_H__ + #define __TAP_REGISTER_H__ + ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif /* __cplusplus */ + +-#include +- + typedef struct _tap_reg { + const char *cb_name; + void (*cb_func)(void); +diff --git a/epan/epan_dissect.h b/epan/epan_dissect.h +index f288682..6bce465 100644 +--- a/epan/epan_dissect.h ++++ b/epan/epan_dissect.h +@@ -10,11 +10,12 @@ + #ifndef EPAN_DISSECT_H + #define EPAN_DISSECT_H + ++#include "epan.h" ++ + #ifdef __cplusplus + extern "C" { + #endif /* __cplusplus */ + +-#include "epan.h" + #include "tvbuff.h" + #include "proto.h" + #include "packet_info.h" +diff --git a/epan/conversation.h b/epan/conversation.h +index 2da42db..9457336 100644 +--- a/epan/conversation.h ++++ b/epan/conversation.h +@@ -12,6 +12,7 @@ + #define __CONVERSATION_H__ + + #include "ws_symbol_export.h" ++#include "packet.h" /* for conversation dissector type */ + + #ifdef __cplusplus + extern "C" { +@@ -46,8 +47,6 @@ extern "C" { + /* Flags to handle endpoints */ + #define USE_LAST_ENDPOINT 0x08 /* Use last endpoint created, regardless of type */ + +-#include "packet.h" /* for conversation dissector type */ +- + /* Types of port numbers Wireshark knows about. */ + typedef enum { + ENDPOINT_NONE, /* no endpoint */ diff --git a/wireshark.changes b/wireshark.changes index 401623f..7e50c93 100644 --- a/wireshark.changes +++ b/wireshark.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed Mar 31 15:43:15 UTC 2021 - Robert Frohl + +- cmake 3.20 compatibility (boo#1184110) + add cmake_3-20_compatibility_1.patch and cmake_3-20_compatibility_2.patch + +------------------------------------------------------------------- +Tue Mar 30 18:45:45 UTC 2021 - Neal Gompa + +- Add patch from Fedora to fix build with glib2-2.68 + + Patch: wireshark-0008-move-glib.patch + ------------------------------------------------------------------- Thu Mar 11 07:40:14 UTC 2021 - Robert Frohl diff --git a/wireshark.spec b/wireshark.spec index 27b5b3d..3f42f46 100644 --- a/wireshark.spec +++ b/wireshark.spec @@ -36,6 +36,10 @@ URL: https://www.wireshark.org/ Source: https://www.wireshark.org/download/src/%{name}-%{version}.tar.xz Source2: https://www.wireshark.org/download/SIGNATURES-%{version}.txt#/%{name}-%{version}.tar.xz.asc Source3: https://www.wireshark.org/download/gerald_at_wireshark_dot_org.gpg#/wireshark.keyring +Patch1: cmake_3-20_compatibility_1.patch +Patch2: cmake_3-20_compatibility_2.patch +# Source: https://src.fedoraproject.org/rpms/wireshark/blob/f8e39e79bf25d6c3fb3f333e58f27165cc959781/f/wireshark-0008-move-glib.patch +Patch8: wireshark-0008-move-glib.patch Patch10: wireshark-0001-dumpcap-permission-denied.patch BuildRequires: bison BuildRequires: flex @@ -171,9 +175,8 @@ This package contains the Qt based UI for Wireshark. echo "`grep %{name}-%{version}.tar.xz %{SOURCE2} | grep SHA1 | head -n1 | cut -d= -f2` %{SOURCE0}" | sha1sum -c echo "`grep %{name}-%{version}.tar.xz %{SOURCE2} | grep SHA256 | head -n1 | cut -d= -f2` %{SOURCE0}" | sha256sum -c -%setup -q +%autosetup -p1 sed -i 's/^Icon=wireshark.png$/Icon=wireshark/' wireshark*.desktop -%patch10 -p1 %build %cmake -DCMAKE_INSTALL_LIBDIR='%{_lib}/'