For a CMake build done in a subdirectory of the source directory, the
equivalent of "make distclean" is "rm -rf {that subdirectory}". Make it
so.
When uninstalling the stuff snappy installs with "rm -rf", use $DO_RM,
so it's done with sudo iff /usr/local isn't writable by us, just as
"make uninstall" is done with $DO_MAKE_UNINSTALL so it's done with sudo
iff /usr/local isn't writable by us.
Fix up the list of what to remove, now that we're building snappy as a
shared library, so that it removes shared libraries rather than the
non-existent static library.
Update a comment while we're at it, as Lua isn't the only dependency
that doesn't support "make uninstall".
(cherry picked from commit 7d01e3a74e)
The older versions of snappy apparently used autotools and build a
shared library by default; for example, Wireshark 3.2.6 for macOS is
built with snappy, and includes a snappy dynamic library in the app
bundle.
The current version uses CMake and does *not* build a shared library by
default. Instead, it builds a static library, which, when you try to
link it to a C-only shared library...
...does not work.
The linker sees that you're statically linking in a bunch of C++ .o
files and gets upset because it can't find C++ standard library routines
used by that code.
If it's a dynamic library, the library was itself already linked with
the C++ standard library, so the external references to that library
from the snappy library are already marked as having been resolved to
the extent that they're expected to be in the C++ standard library at
run time - and, when the dynamic snappy library is built, it's marked as
depending on the C++ standard library, so the run time linker will, when
it loads the snappy dynamic library, see that the C++ standard library
is required and will load it if it hasn't already been loaded.
(cherry picked from commit e92119c608)
Or a distclean target, for that matter.
Do the best we can.
(libpcap and tcpdump support both autotools and CMake, and Wireshark
uses only CMake; all of them support an uninstall target in CMake. Go
forth, read what they did, and sin no more.)
(cherry picked from commit 504f2ea42a)
GNU libtool has a libtool program and a libtoolize program.
The development tools for NeXTStEP, apparently, had a libtool program as
well, and the current version of the development tools for the current
version of NeXTStEP, generally known as "Xcode for macOS", still have
that program.
This means that we do some renaming after installing GNU libtool, so
that its "libtool" becomes "glibtool" and its "libtoolize" becomes
"glibtoolize".
That meant we had to compensate for that when running autoreconf when
building and installing minizip.
It turns out we have to do that when running autogen.sh when building
and installing GLib as well.
(cherry picked from commit 2ecb606142)
Enable PKCS #11 support in macOS builds with macos-setup.sh (already
supported on macOS via Homebrew and on all other OSes with GnuTLS 3.4
or greater) by installing p11-kit (and its dependency libtasn1) and
building nettle and GnuTLS against it.
(cherry picked from commit fe1f947540)
Update versions of xz, lzip, gettext, libgpg, libgpg-error, libgcrypt, gnutls and gmp
to newest releases.
Also update glib but only to last version with autotools support - meson build is left
for another time.
Current versions of glib require a libpcre with unicode enabled which the Catalina system
version does not provide, so install the current version of libpcre as well.
Update some additional tools to commit 3a42bf0de2b9e35efcc3cea38153ab95cb71b352:
brotli, libmaxminddb, lz4, and snappy
(backported from commit 77e9d7d3f9)
These are the versions being used to build 3.4, so we're updating this
so that the 3.4 source tree's macos-setup.sh can be used to set up the
build environment for 3.4.
[skip ci]
It's minizip-$installed_minizip_version-done, not
zlib-$installed_minizip_version-done; the tarball is
zlib-$installed_minizip_version.tar.gz, because it's a contributed file
in the zlib package, but we don't use zlib in the name of the -done
file.
[skip ci]
(cherry picked from commit 0cdbdcc5a4)
It has no configure script, so there's no need for "make distclean", and
the Makefile supplied with it has no "make distclean" rule; just do
"make clean".
[skip ci]
(cherry picked from commit 806f524a10)
Big Sur goes to 11, and it appears that next year's (San Juan Capistrano?)
will go to 12, and so on.
Split version numbers into major and minor, and do version-number
comparison (alas, whilst CMake has that built in, the Bourne shell
doesn't, and neither does the Bourne-again shell).
This should fix issue #17043.
(cherry picked from commit 8e2815bfc0)
In uninstall_autoconf, when running uninstall subfunctions, pass the
arguments to the subfunctions.
When uninstalling Ninja, remove the "we've finished installing this"
indicator file.
Get rid of a debugging "set +x".
(cherry picked from commit 9fbf79c045)
Fix/update/expand some comments.
Do uninstalls for dependencies using CMake more similarly.
For LZ4, as it comes with a Makefile rather than any
autotools/CMake/etc. configuration, "make distclean" might not be
necessary, so, as it's not supported, just do "make clean".
For libssh, do all removes in the uninstall in a single command, and use
$DO_RM, so that it uses sudo iff /usr/local isn't writable by us. In
addition, remove the build directory as the equivalent of "make
distclean".
As with libssh, so with brotli.
(backported from commit 02c5f50009)
It's possible to play opus payload with libopus (https://opus-codec.org/).
Closes#16882.
Helped-by: Pascal Quantin <pascal.quantin@gmail.com>
Signed-off-by: Lin Sun <lin.sun@zoom.us>
Signed-off-by: Yuanzhi Li <ryanlee@mail.ustc.edu.cn>
Add ui/urls.h to define some URLs on various of our websites. Use the
GitLab URL for the wiki. Add a macro to generate wiki URLs.
Update wiki URLs in comments etc.
Use the #defined URL for the docs page in
WelcomePage::on_helpLabel_clicked; that removes the last user of
topic_online_url(), so get rid of it and swallow it up into
topic_action_url().
This is required for WireGuard decryption.
Change-Id: I8d27ac198a8bac161c1675e87c3685c8d73c9246
Reviewed-on: https://code.wireshark.org/review/36129
Reviewed-by: Gerald Combs <gerald@wireshark.org>
- mkdir on macos 10.14.6 doesn't have a -f parameter
- set file ownership on tar extraction
Change-Id: I5d6341aba02b56abe0c1aa48e68c4c1b6af15379
Reviewed-on: https://code.wireshark.org/review/35115
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
Add support for automatic updates using the Sparkle framework. Add
FindSparkle.cmake and associated CMake plumbing. Add a public key and
other info to Info.plist.in. Add ui/macosx/sparkle_bridge.{h,m}, which
wraps the Sparkle API. Make code that's specific to WinSparkle
Windows-only.
Add Sparkle installation steps to the macos-setup scripts. Sparkle
prints a warning if your bundle is unsigned (which is the case during
development) so disable installing it by default.
Updating here takes a long time. We might be able to fix that by
shipping our DSYMs separately.
Change-Id: I6cc6671db5657dadc514bda6bf6e1c8bbc9468a5
Reviewed-on: https://code.wireshark.org/review/35090
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
The macos-setup.sh script does some tests against the major, minor and
micro values of the requested Qt version. Add 13 as an allowed minor
value.
Change-Id: Ic0ac7af82ce1fb0cddc8f86d8f6bdae43c2edac6
Reviewed-on: https://code.wireshark.org/review/33786
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Let's suggest using cmake's Ninja generator if we're going to
suggest using ninja.
Change-Id: Ibc48bf0e2039c2bbc0d11d7b194bc7094c1e0ebf
Reviewed-on: https://code.wireshark.org/review/32399
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Configure GMP with --enable-fat. Neither --with-libgcrypt nor
--without-p11-kit appear to be supported, so don't pass those flags.
Change-Id: Ib96e805064b95be72d5fa3bd28057a5092064d8a
Reviewed-on: https://code.wireshark.org/review/32190
Reviewed-by: Gerald Combs <gerald@wireshark.org>
liblzma is used by libxml2, which is used by libwireshark, so we need
it. It's build by xz, so we need to do the xz build with the
minimum-version and SDK flags.
liblz4 does its builds in its own unique way; it appears we need to set
MOREFLAGS to include the relevant flas.
libssh is built with CMake, so you have to do special magic to set the
SDK path; do it by running cmake with the MACOSX_DEPLOYMENT_TARGET and
SDKROOT environment variables.
Change-Id: Ia588632e5047c4a8a22fe6ef3a0844cfe7722df2
Reviewed-on: https://code.wireshark.org/review/32171
Reviewed-by: Guy Harris <guy@alum.mit.edu>
If a minimum version number is specified, we need them all built with
that and with the selected SDK.
Change-Id: I84b98c67c64da12d3a3b234a41991675a71aeb82
Reviewed-on: https://code.wireshark.org/review/32156
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Libxml2 2.9.9 was recently released and fixes a couple of security
flaws.
Change-Id: I59865a35c97e05d7bf41ca9b7688c3dd89507a66
Reviewed-on: https://code.wireshark.org/review/31578
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Recent Qt installations include the entire 3-tuple version string
(e.g. 5.9.7) for the parent folder name directly above the clang_64
folder. Use the entire version string when constructing the
recommended build environment export statements.
Change-Id: I779d487a3b794dde57214639a79727edb111835f
Reviewed-on: https://code.wireshark.org/review/30983
Reviewed-by: Anders Broman <a.broman58@gmail.com>
JSON-GLib was added in v2.9.0rc0-201-g511c2e166a, but is no longer
necessary since we have a home-grown JSON dumper (wsutil/json_dumper.h).
Remove the remaining traces and additionally remove GObject from
FindGLIB2.cmake since it was only added for JSON-GLib.
Change-Id: If9dfd2c60cec130f98109d100bdb6618bde06ba0
Reviewed-on: https://code.wireshark.org/review/30733
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Update the following versions:
CMake: 3.7.2 to 3.12.4
Qt: 5.9.5 to 5.9.7 (Current LTS)
libxml2: 2.9.4 to 2.9.7 (2.9.4 has security issues)
c-ares: 1.12.0 to 1.15.0 (1.12.0 has security issues)
libssh: 0.7.4 to 0.8.5 (0.7.4 has security issues)
Change-Id: Ia97b436981705a4d99c0b0a2f238738e18394d45
Reviewed-on: https://code.wireshark.org/review/30589
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Remove unused variables found by shellcheck. Remove a dead check for
10.5 (which we no longer support) which enables 32-bit builds (which we
no longer support).
Change-Id: I8f987f31025c74d27e46c7f74f514857ec8cdd3b
Reviewed-on: https://code.wireshark.org/review/30549
Reviewed-by: Anders Broman <a.broman58@gmail.com>