Commit Graph

48 Commits

Author SHA1 Message Date
Gerald Combs c253dda269 CMake+Packaging: Add a logwolf_dmg target. 2022-06-08 17:39:54 +00:00
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 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 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
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 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 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 b789895c1b macOS: Use dmgbuild to build our .dmg.
Scripting the Finder in order to lay out our disk image assumes that we
have access to the Finder. This might not be the case on our builder,
and it arguably shoudn't be.

Switch from using a Bash script + AppleScript to build and lay out our
.dmg to using dmgbuild, which creates our .DS_Store directly using
Python's ds_store module.

Change-Id: I2e4a9dd89bc8297c9cbd9df7aa8d3a44447bde85
Reviewed-on: https://code.wireshark.org/review/34623
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-09-25 21:31:22 +00:00
Gerald Combs b1416fda0a macOS: Disable arrange_dmg.applescript.
arrange_dmg.applescript is failing on the macOS builder, so comment it
out for now.

Change-Id: Ibe7bf249623832954e9f67d241513b549dff990c
Reviewed-on: https://code.wireshark.org/review/34621
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-09-25 16:57:20 +00:00
Gerald Combs ac4f3c0f4d macOS: Make Wireshark.app drag-installable.
Create ChmodBPF installer and uninstaller packages using pkgbuild and
productbuild. Place them in Wireshark.app/Resources/Extras.

Add a path_helper installer and uninstaller which respectively add and
remove /etc/*paths.d/Wireshark.

Remove the PackageMaker and utility-launcher assets and build targets.

Show a message in the main welcome screen if we don't have capture
permissions. Add an link which launches the ChmodBPF installer.

Add a "macOS Extras" item to About → Folders.

Migrate "Read me first" from RTF to Asciidoctor, which lets us add links
and looks like our other documentation.

Rename dmg_set_style.scpt to arrange_dmg.applescript and make it plain
text. Always run it in osx-dmg.sh.

Bug: 6991
Bug: 12593
Bug: 11399
Ping-Bug: 16074
Change-Id: I7b6aa89aae2be522b4141b0d44e8142dec749e90
Reviewed-on: https://code.wireshark.org/review/31047
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-09-25 16:26:31 +00:00
Gerald Combs ef0ef16c30 macOS: Try to work around .dmg packaging issues.
The new macOS builder sometimes fails due to busy disk images. Try to
work around the issue by adding a sleep (in case the culprit is
Spotlight) and by forcibly detaching disk images.

Change-Id: I65bd46420e7ae69d03b7c9a15a2bb0385a1cedff
Reviewed-on: https://code.wireshark.org/review/32035
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-02-14 20:33:01 +00:00
Gerald Combs 81338f1664 macOS: Packaging and code signing updates.
Sign our bundle as described in Apple's Code Signing Guide. Enable the
Hardened Runtime when signing.

Look for packagemaker in our PATH before checking specific locations.

Switch from zlib to bzip2 compression for our .dmg. Sign our .dmg.

To do: Notarization.

Change-Id: Ia6556e67998ff247dd3d77d6f040773e070f66cc
Reviewed-on: https://code.wireshark.org/review/32032
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-02-14 19:03:17 +00:00
Gerald Combs 6fef7cdc84 MacOS: Bundle and packaging updates
Update the code signing portions of the packaging scripts to match newer
versions of macOS.

Change-Id: I5e03611d8db61416955e797edcadfcff1404cc38
Reviewed-on: https://code.wireshark.org/review/31996
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-02-12 21:04:19 +00:00
Gerald Combs 5009f98c3a macOS: Fix a .dmg build path.
Fix the "Read me first" path.

Change-Id: I6d1a13a26db2023a30b7ae72caca86500d00f5b7
Reviewed-on: https://code.wireshark.org/review/31064
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-12-16 19:55:26 +00:00
Gerald Combs e13d8be962 CMake: Make sure we use the same minimum macOS version everywhere.
Add a MIN_MACOS_VERSION variable. Update it and sanity check it
according to CMAKE_OSX_DEPLOYMENT_TARGET and our Qt version. Use it to
set our minimum macOS version in various places.

Change-Id: Icaf0dbe463f34d182986868021e2b56d2239da38
Reviewed-on: https://code.wireshark.org/review/31048
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-12-15 07:38:08 +00:00
Gerald Combs 4905983845 More shellcheck checks and fixes.
Remove a libtool check while we're here.

Change-Id: I813add2031480f34ce89f268b541f8939016c2c7
Reviewed-on: https://code.wireshark.org/review/28066
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-06-07 18:11:12 +00:00
Gerald Combs 4aa049019a OS X: Remove GTK+ packaging.
Remove the GTK+-specific bits from packaging/macosx.

Change-Id: I8f7d909f971e60723e421005fdf46de967c69533
Reviewed-on: https://code.wireshark.org/review/14431
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-03-14 16:09:42 +00:00
Gerald Combs 7199fc7cab OS X: Integrate CMake and osx-dmg.sh
Change-Id: Ide608f5e73ecd40c67a6b1c0e16f11233cd49c9d
Reviewed-on: https://code.wireshark.org/review/10694
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-10-01 16:26:25 +00:00
Guy Harris dab9c85cb3 Fix syntax.
Change-Id: Icc18cd7369bae21629aafd5631a373485ef75dea
Reviewed-on: https://code.wireshark.org/review/5081
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-11-02 19:26:41 +00:00
Guy Harris 66e204fd93 Handle packagemaker being an ordinary command in /usr/bin.
Change-Id: Ic804a0fdb4dc450683f57be4814a347e20ecd401
Reviewed-on: https://code.wireshark.org/review/5079
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-11-02 18:38:02 +00:00
Guy Harris 70cab47fe1 Fix syntax, add a check for failure to find PackageMaker, make sure it's a file.
Change-Id: Id5bb23a8c5ebd8a63a51029de541cd32e484029c
Reviewed-on: https://code.wireshark.org/review/5078
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-11-02 18:10:58 +00:00
Guy Harris 4f94c9e9bf Handle PackageMaker a bit better.
Look for the binary in various places, rather than looking for
particular directories and adding them to the path.  That lets us use
the PackageMaker binary from the PackageMaker.app bundle (it can either
be run as a GUI app or from the command line), so you don't have to have
a symlink to it from one of the directories in question.

Change-Id: I1ad701291698544f96d419663f0b4a669876d2f1
Reviewed-on: https://code.wireshark.org/review/5077
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-11-02 17:26:23 +00:00
Gerald Combs 0c444f315f OS X: Fix osx-dmg.sh bundle binary path.
Change-Id: Ia7c59de4f8b59dda9dbc484b8fa9ae0c3d88d594
Reviewed-on: https://code.wireshark.org/review/4905
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-10-22 04:02:45 +00:00
Gerald Combs 86386243cd Make the "-qt" option the default in the OS X packaging scripts.
Change-Id: I1e404c342d06381be71735ff6fbc47e9b2b13899
Reviewed-on: https://code.wireshark.org/review/4895
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-10-21 16:16:56 +00:00
Guy Harris 63dc1299ae Get rid of some stuff left over from the days of drag-install.
We're not using the Utilities directory; don't create it and don't fill
it in.

Change-Id: I7ba66b415a2e5a6aff77d4bdb57b2ca176bcd789
Reviewed-on: https://code.wireshark.org/review/2009
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-06 21:40:40 +00:00
Alexis La Goutte 757aa33220 Continue to remove $Id$ from top of file
(Using sed : sed -i '/^\# \$Id\$/,+1 d') (start with dash)

Change-Id: Ia4b5a6c2302f6a531f6a86c1ec3a2f8205c8c2dd
Reviewed-on: https://code.wireshark.org/review/881
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-31 18:48:06 +00:00
Gerald Combs d111d15be2 "productsign" should work now. Remove "codesign".
svn path=/trunk/; revision=53243
2013-11-10 21:53:03 +00:00
Gerald Combs 1fc8fd9ba2 Be exceedingly diligent about checking OS X package signatures.
svn path=/trunk/; revision=53242
2013-11-10 21:44:50 +00:00
Gerald Combs 2965a6bf25 Add missing backslash.
svn path=/trunk/; revision=53212
2013-11-10 01:52:06 +00:00
Gerald Combs 04a7231d91 More packaging updates.
Specify "Application" or "Installer" code signing identities as needed.
Switch back to productbuild for the package. That seems to be the
correct utility to use. Give the package an ID. Package signing is still
broken but this appears to be closer to being correct.

svn path=/trunk/; revision=53211
2013-11-10 01:31:25 +00:00
Gerald Combs f50535856a Fix argument order.
svn path=/trunk/; revision=53209
2013-11-10 00:39:09 +00:00
Gerald Combs e8106d01c9 Try switching back to codesign.
svn path=/trunk/; revision=53208
2013-11-10 00:24:56 +00:00
Gerald Combs 9f163b787d Sign the right file.
svn path=/trunk/; revision=53203
2013-11-09 19:22:42 +00:00
Gerald Combs 970b0a0245 Older versions of productsign don't support "--force" or "--verbose".
svn path=/trunk/; revision=53202
2013-11-09 19:00:19 +00:00
Gerald Combs c7f980342e Try to simplify package signing.
According to the packagemaker man page, '--target 10.5' will produce a
flat package. Use it instead of pkgutil.

svn path=/trunk/; revision=53201
2013-11-09 18:39:58 +00:00
Gerald Combs 3a21ccdeba Try to perform package signing as described at
http://stackoverflow.com/questions/11487596/making-os-x-installer-packages-like-a-pro-xcode4-developer-id-mountain-lion-re

We *might* have to switch away from packagemaker in order to be able to
sign packages properly.

svn path=/trunk/; revision=53199
2013-11-09 17:52:54 +00:00
Gerald Combs 2dd3a651e6 Code signing updates.
Sign executables, libraries, frameworks, plugins, and bundles as per the
Code Signing Guide. Check our work with spctl. Use "bundle" to
differentiate what we're doing with the package script.

svn path=/trunk/; revision=52746
2013-10-21 20:06:14 +00:00
Gerald Combs c4dcd0ca24 If CODE_SIGN_IDENTITY is set use it to sign the app bundle and the
installer package. Add commented-out code to sign the .dmg as well in
case Apple supports that in the future.

svn path=/trunk/; revision=52633
2013-10-15 23:03:48 +00:00
Guy Harris 438f4be98a More debugging.
svn path=/trunk/; revision=52376
2013-10-05 09:13:14 +00:00
Guy Harris b9eecb6f28 Report what file we were using to determine the architecture.
svn path=/trunk/; revision=52340
2013-10-03 00:33:30 +00:00
Gerald Combs 99f457bd03 Use separate "Read me first" files for Qt and GTK+.
svn path=/trunk/; revision=52321
2013-10-01 21:04:13 +00:00
Gerald Combs 2211ab0fba Use macdeployqt to add the Qt bits to our bundle. Put our libraries in
Contents/Frameworks since that's what macdeployqt expects. Have
osx-dmg.sh look at the correct executable.

svn path=/trunk/; revision=52295
2013-09-30 13:12:28 +00:00
Guy Harris 80e599e411 Don't assume developer tools are under /Developer - look for
/Applications/Xcode.app/Developer first (for Xcode 4 and later) and, if
we don't find that, look for /Developer.

Don't assume packagemaker is under $developer_path/usr/bin - with Xcode
4, you need to install Auxiliary Tools for Xcode to get PackageMaker,
and even that doesn't directly install the packagemaker command, so we
currently advise people to copy the PackageMaker binary to
/usr/bin/packagemaker.

svn path=/trunk/; revision=46957
2013-01-05 23:31:08 +00:00
Guy Harris a70b2c5208 Don't assume that, in the output of the file command, the architecture
appears at the end - if the user's installed an up-to-date version of
file to, for example, get pcap-ng files identified (Apple hasn't updated
file in *ages* - they're still in file 5.04!), it will report, for
example, "Mach-O 64-bit x86_64 executable" rather than "Mach-O 64-bit
executable x86_64" for an x86-64 binary.

svn path=/trunk/; revision=46954
2013-01-05 23:07:05 +00:00
Gerald Combs 132febfbc4 Get the package version using configure.in, not grep+sed. Make sure we
exit with an error in a few places where it would be useful.

svn path=/trunk/; revision=44572
2012-08-19 00:49:55 +00:00