* [bug#34728] [PATCH] Update Wireshark to 3.0.0
@ 2019-03-04 10:03 Nicolas Goaziou
2019-03-11 21:34 ` Ludovic Courtès
0 siblings, 1 reply; 5+ messages in thread
From: Nicolas Goaziou @ 2019-03-04 10:03 UTC (permalink / raw)
To: 34728
[-- Attachment #1: Type: text/plain, Size: 561 bytes --]
Hello,
The following patch updates Wireshark to 3.0.0.
This change is not trivial. In particular, upstream switched build
system (GNU to CMake) and it seems to annoy `validate-runpath' phase.
I tried various things to make it pass, e.g., removing "INSTALL_RPATH"
settings in various "CMakeLists.txt", or re-build rpath, à la
"powertabeditor", to no avail.
Out of ideas, I disabled the phase. Wireshark seems to run anyway, even
though I didn't thoroughly tested it.
Let me know if you have better ideas.
Regards,
--
Nicolas Goaziou
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Update Wireshark to 3.0.0. --]
[-- Type: text/x-diff, Size: 5434 bytes --]
From dbaee4641e329bbdd44b0645acb4ec5a97ee5eaa Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Date: Sun, 3 Mar 2019 01:33:44 +0100
Subject: [PATCH] gnu: wireshark: Update to 3.0.0.
* gnu/packages/networking.scm (wireshark): Update to 3.0.0.
---
gnu/packages/networking.scm | 101 ++++++++++++++++++------------------
1 file changed, 50 insertions(+), 51 deletions(-)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index f7477230a6..ebfdcfc345 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -591,7 +591,7 @@ of the same name.")
(define-public wireshark
(package
(name "wireshark")
- (version "2.6.6")
+ (version "3.0.0")
(source
(origin
(method url-fetch)
@@ -599,59 +599,58 @@ of the same name.")
version ".tar.xz"))
(sha256
(base32
- "0qz8a1ays63712pq1v7nnw7c57zlqkcifq7himfv5nsv0zm36ya8"))))
- (build-system gnu-build-system)
- (inputs `(("c-ares" ,c-ares)
- ("glib" ,glib)
- ("gnutls" ,gnutls)
- ("libcap" ,libcap)
- ("libgcrypt" ,libgcrypt)
- ("libnl" ,libnl)
- ("libpcap" ,libpcap)
- ("libssh" ,libssh)
- ("libxml2" ,libxml2)
- ("lz4" ,lz4)
- ("lua" ,lua-5.2) ;Lua 5.3 unsupported
- ("krb5" ,mit-krb5)
- ("portaudio" ,portaudio)
- ("qtbase" ,qtbase)
- ("qtmultimedia" ,qtmultimedia)
- ("sbc" ,sbc)
- ("snappy" ,snappy)
- ("zlib" ,zlib)))
- (native-inputs `(("perl" ,perl)
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)
- ("qttools" ,qttools)))
+ "17h0ixq7yr6scscjkidaj3dh5x6dfd3f97ggdxlklkz9nbsk0kxw"))))
+ (build-system cmake-build-system)
(arguments
- `(#:configure-flags
- (list (string-append "--with-c-ares=" (assoc-ref %build-inputs "c-ares"))
- (string-append "--with-krb5=" (assoc-ref %build-inputs "krb5"))
- (string-append "--with-libcap=" (assoc-ref %build-inputs "libcap"))
- (string-append "--with-libssh=" (assoc-ref %build-inputs "libssh"))
- (string-append "--with-lua=" (assoc-ref %build-inputs "lua"))
- (string-append "--with-lz4=" (assoc-ref %build-inputs "lz4"))
- (string-append "--with-pcap=" (assoc-ref %build-inputs "libpcap"))
- (string-append "--with-portaudio="
- (assoc-ref %build-inputs "portaudio"))
- (string-append "--with-sbc=" (assoc-ref %build-inputs "sbc"))
- (string-append "--with-snappy=" (assoc-ref %build-inputs "snappy"))
- (string-append "--with-zlib=" (assoc-ref %build-inputs "zlib")))
- #:phases
+ `(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-source
+ (add-after 'unpack 'remove-failing-test
+ ;; Test 31/32 fails with errors like "Program reassemble_test is
+ ;; not available". Skipping it for now.
(lambda _
- ;; Fix build against Qt 5.11.
- (substitute* "ui/qt/packet_format_group_box.cpp"
- (("#include <QStyle>") "#include <QStyle>
-#include <QStyleOption>"))
- (substitute* "ui/qt/time_shift_dialog.cpp"
- (("#include <ui/time_shift.h>") "#include <ui/time_shift.h>
-#include <QStyleOption>"))
- (substitute* "ui/qt/wireless_frame.cpp"
- (("#include <QProcess>") "#include <QProcess>
-#include <QAbstractItemView>"))
- #t)))))
+ (substitute* "CMakeLists.txt"
+ (("suite_unittests" all) (string-append "# " all)))
+ #t)))
+ ;; "CMakeLists.txt" uses $ORIGIN, which seems to confuse
+ ;; `validate-runpath' phase.
+ ;;
+ ;; Errors are like the following:
+ ;; "/gnu/store/...wireshark-3.0.0/lib/wireshark/plugins/3.0/epan/ethercat.so:
+ ;; error: depends on 'libwireshark.so.12', which cannot be found in
+ ;; RUNPATH". That is, "/gnu/store/...wireshark-3.0.0./lib" doesn't
+ ;; seem to belong to RUNPATH.
+ ;;
+ ;; For now, we disable this phase, as Wireshark seems to run properly
+ ;; anyway.
+ #:validate-runpath? #f))
+ (inputs
+ `(("c-ares" ,c-ares)
+ ("glib" ,glib)
+ ("gnutls" ,gnutls)
+ ("libcap" ,libcap)
+ ("libgcrypt" ,libgcrypt)
+ ("libnl" ,libnl)
+ ("libpcap" ,libpcap)
+ ("libssh" ,libssh)
+ ("libxml2" ,libxml2)
+ ("lz4" ,lz4)
+ ("lua" ,lua-5.2) ;Lua 5.3 unsupported
+ ("krb5" ,mit-krb5)
+ ("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
+ ("qtsvg" ,qtsvg)
+ ("sbc" ,sbc)
+ ("snappy" ,snappy)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("bison" ,bison)
+ ("doxygen" ,doxygen)
+ ("flex" ,flex)
+ ("gettext" ,gettext-minimal)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)
+ ("qttools" ,qttools)))
(synopsis "Network traffic analyzer")
(description "Wireshark is a network protocol analyzer, or @dfn{packet
sniffer}, that lets you capture and interactively browse the contents of
--
2.21.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#34728] [PATCH] Update Wireshark to 3.0.0
2019-03-04 10:03 [bug#34728] [PATCH] Update Wireshark to 3.0.0 Nicolas Goaziou
@ 2019-03-11 21:34 ` Ludovic Courtès
2019-03-12 11:19 ` Nicolas Goaziou
0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2019-03-11 21:34 UTC (permalink / raw)
To: Nicolas Goaziou; +Cc: 34728
Hi Nicolas,
Nicolas Goaziou <mail@nicolasgoaziou.fr> skribis:
> The following patch updates Wireshark to 3.0.0.
>
> This change is not trivial. In particular, upstream switched build
> system (GNU to CMake) and it seems to annoy `validate-runpath' phase.
> I tried various things to make it pass, e.g., removing "INSTALL_RPATH"
> settings in various "CMakeLists.txt", or re-build rpath, à la
> "powertabeditor", to no avail.
>
> Out of ideas, I disabled the phase. Wireshark seems to run anyway, even
> though I didn't thoroughly tested it.
Weird.
>>From dbaee4641e329bbdd44b0645acb4ec5a97ee5eaa Mon Sep 17 00:00:00 2001
> From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
> Date: Sun, 3 Mar 2019 01:33:44 +0100
> Subject: [PATCH] gnu: wireshark: Update to 3.0.0.
>
> * gnu/packages/networking.scm (wireshark): Update to 3.0.0.
Overall LGTM! If you’re confident you can go ahead and push, no need to
wait until the update is outdated. ;-)
> + ;; "CMakeLists.txt" uses $ORIGIN, which seems to confuse
> + ;; `validate-runpath' phase.
> + ;;
> + ;; Errors are like the following:
> + ;; "/gnu/store/...wireshark-3.0.0/lib/wireshark/plugins/3.0/epan/ethercat.so:
> + ;; error: depends on 'libwireshark.so.12', which cannot be found in
> + ;; RUNPATH". That is, "/gnu/store/...wireshark-3.0.0./lib" doesn't
> + ;; seem to belong to RUNPATH.
What’s the RUNPATH on ethercat.so?
readelf -a ethercat.so | grep RUNPATH
And where is libwireshark.so.12?
‘validate-runpath’ does interpret $ORIGIN, but maybe there’s a but
there.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [bug#34728] [PATCH] Update Wireshark to 3.0.0
2019-03-11 21:34 ` Ludovic Courtès
@ 2019-03-12 11:19 ` Nicolas Goaziou
2019-03-13 10:10 ` Ludovic Courtès
0 siblings, 1 reply; 5+ messages in thread
From: Nicolas Goaziou @ 2019-03-12 11:19 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 34728
Hello,
Thank you for the review.
Ludovic Courtès <ludo@gnu.org> writes:
> Nicolas Goaziou <mail@nicolasgoaziou.fr> skribis:
>
>> + ;; "CMakeLists.txt" uses $ORIGIN, which seems to confuse
>> + ;; `validate-runpath' phase.
>> + ;;
>> + ;; Errors are like the following:
>> + ;; "/gnu/store/...wireshark-3.0.0/lib/wireshark/plugins/3.0/epan/ethercat.so:
>> + ;; error: depends on 'libwireshark.so.12', which cannot be found in
>> + ;; RUNPATH". That is, "/gnu/store/...wireshark-3.0.0./lib" doesn't
>> + ;; seem to belong to RUNPATH.
>
> What’s the RUNPATH on ethercat.so?
>
> readelf -a ethercat.so | grep RUNPATH
0x000000000000001d (RUNPATH) Bibliothèque runpath:[:/gnu/store/...-glibc-2.28/lib:/gnu/store/...-gcc-5.5.0-lib/lib:/gnu/store/...-glib-2.56.3/lib:/gnu/store/...-libpcap-1.9.0/lib:/gnu/store/...-libgcrypt-1.8.3/lib:/gnu/store/...-libgpg-error-1.32/lib:/gnu/store/...-gnutls-3.6.5/lib:/gnu/store/...-gcc-5.5.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../..]
> And where is libwireshark.so.12?
In "/gnu/store/...wireshark-3.0.0/lib".
I don't understand why this is getting removed.
> ‘validate-runpath’ does interpret $ORIGIN, but maybe there’s a but
> there.
Then my remark about $ORIGIN is wrong.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 5+ messages in thread
* [bug#34728] [PATCH] Update Wireshark to 3.0.0
2019-03-12 11:19 ` Nicolas Goaziou
@ 2019-03-13 10:10 ` Ludovic Courtès
2019-03-13 11:33 ` bug#34728: " Nicolas Goaziou
0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2019-03-13 10:10 UTC (permalink / raw)
To: Nicolas Goaziou; +Cc: 34728
Hi Nicolas,
Nicolas Goaziou <mail@nicolasgoaziou.fr> skribis:
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Nicolas Goaziou <mail@nicolasgoaziou.fr> skribis:
>>
>>> + ;; "CMakeLists.txt" uses $ORIGIN, which seems to confuse
>>> + ;; `validate-runpath' phase.
>>> + ;;
>>> + ;; Errors are like the following:
>>> + ;; "/gnu/store/...wireshark-3.0.0/lib/wireshark/plugins/3.0/epan/ethercat.so:
>>> + ;; error: depends on 'libwireshark.so.12', which cannot be found in
>>> + ;; RUNPATH". That is, "/gnu/store/...wireshark-3.0.0./lib" doesn't
>>> + ;; seem to belong to RUNPATH.
>>
>> What’s the RUNPATH on ethercat.so?
>>
>> readelf -a ethercat.so | grep RUNPATH
>
> 0x000000000000001d (RUNPATH) Bibliothèque runpath:[:/gnu/store/...-glibc-2.28/lib:/gnu/store/...-gcc-5.5.0-lib/lib:/gnu/store/...-glib-2.56.3/lib:/gnu/store/...-libpcap-1.9.0/lib:/gnu/store/...-libgcrypt-1.8.3/lib:/gnu/store/...-libgpg-error-1.32/lib:/gnu/store/...-gnutls-3.6.5/lib:/gnu/store/...-gcc-5.5.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../..]
Look, there’s no $ORIGIN in there! :-)
So the problem is really that /gnu/store/…-wireshark-3.0.0/lib is
missing.
That’s not a problem in practice because ethercat.so is a plugin, so
it’s dlopen’d by a process that already provides libwireshark. (It’s
still bad style IMO.)
Anyway you can keep #:validate-runpath? #f and adjust the comment.
Thank you,
Ludo’.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#34728: [PATCH] Update Wireshark to 3.0.0
2019-03-13 10:10 ` Ludovic Courtès
@ 2019-03-13 11:33 ` Nicolas Goaziou
0 siblings, 0 replies; 5+ messages in thread
From: Nicolas Goaziou @ 2019-03-13 11:33 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 34728-done
Hello,
Ludovic Courtès <ludo@gnu.org> writes:
> Look, there’s no $ORIGIN in there! :-)
Indeed. The supposed $ORIGIN issue was a guess of mine. I guessed it
wrong.
> So the problem is really that /gnu/store/…-wireshark-3.0.0/lib is
> missing.
>
> That’s not a problem in practice because ethercat.so is a plugin, so
> it’s dlopen’d by a process that already provides libwireshark. (It’s
> still bad style IMO.)
>
> Anyway you can keep #:validate-runpath? #f and adjust the comment.
I updated the comment, and pushed as
2b6ab17f7d61bcee92194d8b155a709481a95244.
Thank you.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-03-13 11:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-04 10:03 [bug#34728] [PATCH] Update Wireshark to 3.0.0 Nicolas Goaziou
2019-03-11 21:34 ` Ludovic Courtès
2019-03-12 11:19 ` Nicolas Goaziou
2019-03-13 10:10 ` Ludovic Courtès
2019-03-13 11:33 ` bug#34728: " Nicolas Goaziou
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).