Commit Graph

337 Commits

Author SHA1 Message Date
Gerald Combs c5e265f852 CMake: Deduplicate some version variables.
Use PROJECT_VERSION instead of VERSION. Prepend "PROJECT_" or
"LOG_PROJECT_" as needed to other variables. Remove the leftover unused
variables.
2022-06-07 16:04:17 -07:00
Gerald Combs 370c58f913 macOS: Add Logwolf packaging targets.
Rename the following build targets:

app_bundle to wireshark_app_bundle
dmg_package_prep to wireshark_dmg_prep
dmg_package to wireshark_dmg

Add logwolf_app_bundle, logwolf_dmg_prep, and logwolf_dmg targets and
packaging assets. Update the documentation.

We need to add a set of Logwolf version variables to CMake and
make-version.pl. Add a static logwolf-version attribute to
attributes.adoc in the mean time.
2022-05-26 20:29:20 +00:00
Gerald Combs c2fd505516 macOS: Even more Sparkle 2 signing fixes.
Sparkle's XPC services are only needed if we're sandboxing, so remove
them.

[skip ci]
2022-04-20 14:28:17 -07:00
Gerald Combs d024502c8b macOS: More Sparkle 2 signing fixes.
Sign our XPCs. Add another Brotli fixup.
2022-04-20 12:50:29 -07:00
Gerald Combs 486fd46fe9 macOS: Update our app bundle for Sparkle 2.
Update our application bundle script to handle Sparkle 2 and its assets.
2022-04-20 11:23:24 -07:00
Gerald Combs 167d44ea6d CMake+packaging: Create our macOS Frameworks directory in osx-app.sh. 2022-04-04 09:39:27 -07:00
Gerald Combs 211353c873 CMake+packaging: Add a logwolf_app_bundle target.
Add a logwolf_app_bundle target and update osx-app.sh to handle
different application bundle names.
2022-04-04 09:39:27 -07:00
Gerald Combs 5d3ffe9b57 More Logshark to Logwolf renaming. 2022-04-04 09:39:27 -07:00
Gerald Combs 245f988e9e Logshark: Add initial UI.
Add a separate UI application named "Logshark". It's currently a very
thin superclass of Wireshark, but that will change over time. Based on
work by Loris Degioanni.
2022-04-04 09:39:26 -07:00
Gerald Combs 2fdf85c6eb Create Wireshark and Logshark info plists.
Rename Info.plist.in to WiresharkInfo.plist.in and copy it to
LogsharkInfo.plist.in.
2022-04-04 09:39:26 -07:00
Gerald Combs 93d9b799b7 macOS: Fix our dSYM bundle name. 2022-03-05 15:49:01 -08:00
Gerald Combs 1677e0a8f9 Packaging: Ship macOS dSYMs in their own .dmg.
Create a Wireshark.dSYM bundle for our debugging symbols. Create a
separate .dmg for the dSYM bundle, similar to what we do for Windows.
`dwarfdump --uuid run/Wireshark.dSYM` returns what app

This reduces the size of the application bundle and .dmg quite a bit
(sizes measured with `du -sm`):

51	Wireshark 3.7.0 Intel 64.dmg
81	Wireshark dSYM 3.7.0 Intel 64.dmg
182	Wireshark.app
262	Wireshark.dSYM
2022-03-05 14:32:53 -08:00
Gerald Combs 0e427ac837 Packaging: Update our macOS notarization check.
It looks like altool changed its "info" argument from --eval-info to
--notarization-info at some point.
2022-02-22 18:36:35 -08:00
Stig Bjørlykke d8474fdee7 Happy New Year 2022 2022-01-01 14:08:38 +01:00
Gerald Combs 261d223a30 Packaging: Remove a macOS notarization wait.
Older versions of altool couldn't submit uploads concurrently. According
to

https://threadreaderapp.com/thread/1146464491288219653.html

that's no longer the case for version 4.0 and later. Remove our hacky
concurrency check.
2021-12-01 15:43:15 -08:00
Gerald Combs 54ef97cc01 Packaging: Specify host architectures in our macOS Extras packages.
Add 'hostArchitectures="arm64,x86_64"' to the ChmodBPF and path_helper
distribution XML files. "arm64" isn't specified in

https://developer.apple.com/library/archive/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html

but seems to be correct:

https://developer.apple.com/forums/thread/667672
https://stackoverflow.com/questions/11487596/making-macos-installer-packages-which-are-developer-id-ready

Blind attempt at fixing #17757.
2021-11-30 09:24:02 -08:00
Gerald Combs 64275ff196 macOS: Update some comments in osx-app.sh. 2021-11-15 09:26:20 -08:00
Gerald Combs e3159ae631 macOS: Add a workaround for libpcre2.
Work around an issue with libpcre2 similar to what we do for libsnappy
and libssh.
2021-11-14 17:06:38 -08:00
Gerald Combs 348d356594 Packaging: Update the macOS notarization failure error message.
Apple provides a status page for various developer services at
https://developer.apple.com/system-status/, including the status of the
Developer ID Notary Service. Show the URL notarization fails so that
troubleshooting is easier.
2021-09-01 10:24:58 -07:00
Gerald Combs 28c4c947c0 GitLab CI: Enable macOS Arm notarization.
Enable code signing & notarization in the macOS Arm Package job. Add
"needs: []". Verify the .dmg after notarizing it.
2021-08-25 20:40:29 +00:00
Gerald Combs d2979e1976 GitLab CI: Initial macOS Arm build.
Add a "macOS Arm Package" job to .gitlab-ci.yml. Fixup a check in
osx-dmg.sh.
2021-08-24 21:22:41 +00:00
Gerald Combs ffc5522a35 Packaging: "Acorn RISC Machine" was a long time ago.
Use "Arm 64" instead of "ARM 64" for our .dmg names.
2021-05-31 07:41:32 +00:00
Gerald Combs a714805628 macOS: Name our .dmgs according to our architecture.
In osx-dmg.sh, add "ARM 64" or "Intel 64" to our .dmg name depending on
the architecture of Wireshark.app/Contents/MacOS/Wireshark.
2021-05-30 17:32:32 +00:00
Guy Harris 5d39e36198 doc: Clean up lists of file types.
Add missing entries, regularize the descriptions, etc..

Note that pcap and pcapng are the native formats.

Fix various issues.

Update the editcap -F output to match urrent reality.

While we're at it, sort the libwiretap modules, putting observer.c in
the right place.
2021-03-13 10:02:02 +00:00
Guy Harris e0afa7f2a4 Observer is now a product of Viavi.
JDSU bought Network Instruments, and then split into Viavi and Lumentum,
with Viavi getting Observer.
2021-03-11 20:02:14 +00:00
Stig Bjørlykke 85bf15fd76 Happy New Year 2021 2021-01-01 11:36:23 +00:00
Gerald Combs b3352bd639 macOS: Force dark mode support.
We initially disabled dark mode support in Info.plist when we didn't
support it very well, and later passively enabled it depending on our
SDK version. Go ahead and force it on since we officially support dark
mode. Closes #17098.
2020-12-22 19:37:22 +00:00
Gerald Combs bf45e8c3f1 macOS: Add a workaround for libsnappy.
Work around an issue with libsnappy similar to what we do with libssh.
2020-12-16 21:31:29 +00:00
Gerald Combs 59483604de macOS: Switch ChmodBPF to zsh.
Switch the ChmodBPF script to /bin/zsh since it

- Has known behavior, unlike /bin/sh, which execs whatever
  /private/var/select/sh points to.

- Supports 'read -n 0' and other nice features.

- Is unlikely to be deprecated, since it was made the default shell in
  Catalina[1].

- Exists in older macOS releases, unlike dash[2].

Closes #16826.

[1]https://support.apple.com/en-us/HT208050
[2]https://scriptingosx.com/2020/06/about-bash-zsh-sh-and-dash-in-macos-catalina-and-beyond/
2020-09-18 16:34:24 +00:00
Michael Schmitt 34ff98c860 Assign access_bpf to GID less than 500
When installing ChmodBPF on macOS, assign the access_bpf group to the first
free GID greater than 100, rather to the default which starts at 500. Using
a GID less than 500 hides it in the System Preferences Users & Groups pane.

Bug: 6402
Change-Id: I62ed63bc64cb2721880467ffd0dc290ea57c8461
Reviewed-on: https://code.wireshark.org/review/37676
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2020-07-15 16:52:47 +00:00
Gerald Combs 290ddeeed4 macOS: Make the dmg_package target fail noisily.
Change-Id: I479c9f13b9695d78d47b698a14cda0989724c639
Reviewed-on: https://code.wireshark.org/review/36270
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Tested-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2020-03-03 17:22:30 +00:00
Gerald Combs 574aa22870 macOS: Fix a sanity check.
Change-Id: I1ae61bcc70f5994661b88d6a3c1a93e038b6b6cf
Reviewed-on: https://code.wireshark.org/review/36199
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2020-02-26 21:52:21 +00:00
Gerald Combs 47bd34873b macOS: Add a sanity check.
Check the file permissions in our application bundle.

Ping-Bug: 16407
Change-Id: I41c9dc903f764ea74b6f34a21ecb99d44bd1658f
Reviewed-on: https://code.wireshark.org/review/36193
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2020-02-26 21:03:08 +00:00
Gerald Combs 9266a27264 macOS: Remove a version check from osx-app.sh.
In osx-app.sh, $VERSION used to hold the minor version of the OS. We no
longer set it and it's probably safe to assume that we're building on
Lion or later, so remove it.

Change-Id: I8e85cd7c2fe2162019c7c436b7865be95d4a33e2
Reviewed-on: https://code.wireshark.org/review/36039
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2020-02-06 17:52:32 +00:00
Gerald Combs dd4b562df2 macOS: Add a disk volume icon.
Add a badge icon (custom removable disk icon) for our disk image volume.

Change-Id: If2a88efb76061bbf72ddc9844435429d20da6183
Reviewed-on: https://code.wireshark.org/review/35867
Reviewed-by: Jaap Keuter <jaap.keuter@xs4all.nl>
Petri-Dish: Jaap Keuter <jaap.keuter@xs4all.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2020-01-20 07:50:46 +00:00
Gerald Combs 9a5eb26b28 macOS: Force-sign Sparkle's AutoUpdate.app.
Sparkle's AutoUpdate.app has its own signature, which fails Apple's
notarization requirements.

Change-Id: I5fc5490a3e7ef63dd84fe59369ddd8cf42ddeff6
Reviewed-on: https://code.wireshark.org/review/35813
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2020-01-14 21:26:08 +00:00
Stig Bjørlykke 5ba082d51d Happy New Year 2020
Change-Id: Ic569e499d40def9397203510a121ff17a495ba9a
Reviewed-on: https://code.wireshark.org/review/35616
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2020-01-01 08:57:21 +00:00
Gerald Combs fd6cf89f21 macOS: More ChmodBPF signing updates.
Run osx-extras.sh before building the ChmodBPF installer package.

Change-Id: Iec3f88da86e48b5aac385369c7e68f23babc4c34
Reviewed-on: https://code.wireshark.org/review/35491
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-12-18 17:35:49 +00:00
Gerald Combs 8dd407d97c macOS: Sign the ChmodBPF script.
Add macosx/osx-extras.sh, which can be used to sign the ChmodBPF script.

Bug: 15782
Change-Id: I9929dd6db067f8bc1097faac28ab9467f5a89a82
Reviewed-on: https://code.wireshark.org/review/35481
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-12-18 05:32:44 +00:00
Gerald Combs 17bb0b7eb1 macOS: Switch ChmodBPF back from bash to sh.
The default shell in macOS 10.15 is zsh[1]. Bash appears to be included
for now, but it might be a good idea to start migrating away from it
just in case it's removed at some point in the future.

[1]https://support.apple.com/en-ca/HT208050

Change-Id: Ibe4338105d8fa1a590f84543489255ade71920d6
Reviewed-on: https://code.wireshark.org/review/35216
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-11-26 22:43:56 +00:00
Gerald Combs 56ed5d49f4 macOS: Use the correct path when building our app bundle.
Use the correct path to the Wireshark executable when finding
dependencies and adding debugging symbols.

Change-Id: Iefafa9d453ce60e77853f2d125769826b4d702c0
Reviewed-on: https://code.wireshark.org/review/35202
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-11-25 02:10:02 +00:00
Gerald Combs 7cc5f4c45f CMake: Work correctly without Sparkle.
Set or clear SPARKLE_LIBRARIES and SPARKLE_INCLUDE_DIRS in
FindSparkle.cmake, similar to what we do in other modules. Use them
instead of SPARKLE_LIBRARY and SPARKLE_INCLUDE_DIR.

Change-Id: I023c711edd6a44421aadf85413da3207d9b08e64
Reviewed-on: https://code.wireshark.org/review/35097
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-11-15 22:34:06 +00:00
Gerald Combs 1cc5b68ac9 macOS: Application bundle fixes.
Copy Sparkle.framework correctly. Force signing so that we replace
Sparkle's signature with ours.

In osx-app.sh, don't sign a file or framework if it's already signed.

Fix the osx-dmg.sh usage message while we're here.

Change-Id: I697073d234958e1d8386650935a132237ad88f64
Reviewed-on: https://code.wireshark.org/review/35095
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-11-15 20:14:36 +00:00
Gerald Combs 02057200fd macOS: Add support for automatic updates using Sparkle.
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>
2019-11-15 18:39:04 +00:00
Guy Harris a13d168916 Fix name of the "remove Wireshark from PATH" package.
Bug: 16200
Change-Id: I0e9ab373eb3f7f533fe1ae9bf0448b66b4cdf522
Reviewed-on: https://code.wireshark.org/review/35056
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-11-12 03:37:47 +00:00
Gerald Combs 5acf14d5c0 macOS: Remove an exit code check.
Change-Id: I2b9d576bf6d5c49dcfa716abb00f80ea067328db
Reviewed-on: https://code.wireshark.org/review/34953
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-11-04 13:48:07 +00:00
Gerald Combs 89890097bd macOS: Properly sign our extra packages.
Use productsign to sign product archives.

Change-Id: I40fd329e6f2b0abc49f1b4b0247eae380de8101b
Reviewed-on: https://code.wireshark.org/review/34951
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-11-04 13:33:53 +00:00
Gerald Combs 2dca23f836 macOS: Remove no-longer-relevant documentation.
Change-Id: I628395a761291a105fdc1ef79ce05db0b00a4ab3
Reviewed-on: https://code.wireshark.org/review/34630
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-09-26 23:22:19 +00:00
Gerald Combs af793b19d0 macOS: Sign our .dmg.
Add osx-dmg.sh back and make it a simple wrapper around dmgbuild and
codesign.

Change-Id: I0baa21fd971aa1b06e1a6700881cd7625dffff35
Reviewed-on: https://code.wireshark.org/review/34629
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-09-26 17:52:43 +00:00
Gerald Combs 75dc0933c6 macOS: Sign our extra packages.
Change-Id: If2e28e4708f1d71fa4e7b549a2ba021557711d4e
Reviewed-on: https://code.wireshark.org/review/34627
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-09-25 23:20:01 +00:00