Add a cli-preinstall script that creates missing parts of the
installation path and sets their permissions. Simply copy
"utility-launcher" to "wireshark" instead of renaming it at install
time. Explicitly set its ownership and permissions. Pretty-print some of
the PackageMaker XML files via `xmllint --format --recover`.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@53281
f5534014-38df-0310-8fa8-
9805f1628bb7
cd "$CLI_PATH"
-rm -f ./wireshark
-mv utility-launcher wireshark
chmod 755 wireshark
+chown root:wheel wireshark
for BIN in $BINARIES ; do
rm -f ./"$BIN"
--- /dev/null
+#!/bin/sh
+
+CLI_PATH="$2"
+
+# Create any missing directories with mode 755, owned by root:wheel.
+# Don't blindly clobber anything that's already there.
+function build_path()
+{
+ echo "Checking $1"
+ if [ -d "$1" ] ; then
+ return ""
+ else
+ TRIMMED=`dirname "$1"`
+ if [ ! -d "$TRIMMED" ] ; then
+ build_path "$TRIMMED"
+ fi
+ install -v -o root -g wheel -m 0755 -d "$1"
+ fi
+
+}
+
+build_path "$2"
-<pkgref spec="1.12" uuid="0B0ABFF7-3A3D-4F37-B998-DC99734E0EFC"><config><identifier>org.wireshark.Wireshark.pkg</identifier><version>0.0.0.0</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true" mod="true" includeRoot="true">Wireshark.app</installFrom><installTo>/Applications</installTo><flags><followSymbolicLinks/><allowRevert/><mod>allowRevert</mod></flags><packageStore type="internal"></packageStore><mod>scripts.scriptsDirectoryPath.isAbsoluteType</mod><mod>scripts.scriptsDirectoryPath.isRelativeType</mod><mod>installTo</mod><mod>scripts.postinstall.path</mod><mod>installFrom.isRelativeType</mod><mod>includeRoot</mod><mod>scripts.postinstall.isRelativeType</mod><mod>version</mod><mod>parent</mod><mod>scripts.scriptsDirectoryPath.path</mod><mod>identifier</mod><mod>relocatable</mod><mod>requireAuthorization</mod><mod>extraFiles</mod><mod>postInstall</mod></config><scripts><postinstall relative="true" mod="true">Scripts/wireshark-postinstall.sh</postinstall><scripts-dir relative="true" mod="true">Scripts</scripts-dir><scripts-element/></scripts><extra-files/></pkgref>
\ No newline at end of file
+<?xml version="1.0"?>
+<pkgref spec="1.12" uuid="0B0ABFF7-3A3D-4F37-B998-DC99734E0EFC">
+ <config>
+ <identifier>org.wireshark.Wireshark.app.pkg</identifier>
+ <version>0.0.0.0</version>
+ <description/>
+ <post-install type="none"/>
+ <requireAuthorization/>
+ <installFrom relative="true" mod="true" includeRoot="true">Wireshark.app</installFrom>
+ <installTo>/Applications</installTo>
+ <flags>
+ <followSymbolicLinks/>
+ <allowRevert/>
+ <mod>allowRevert</mod>
+ </flags>
+ <packageStore type="internal"/>
+ <mod>scripts.scriptsDirectoryPath.isAbsoluteType</mod>
+ <mod>scripts.scriptsDirectoryPath.isRelativeType</mod>
+ <mod>installTo</mod>
+ <mod>scripts.postinstall.path</mod>
+ <mod>installFrom.isRelativeType</mod>
+ <mod>includeRoot</mod>
+ <mod>scripts.postinstall.isRelativeType</mod>
+ <mod>version</mod>
+ <mod>parent</mod>
+ <mod>scripts.scriptsDirectoryPath.path</mod>
+ <mod>identifier</mod>
+ <mod>relocatable</mod>
+ <mod>requireAuthorization</mod>
+ <mod>extraFiles</mod>
+ <mod>postInstall</mod>
+ </config>
+ <scripts>
+ <postinstall relative="true" mod="true">Scripts/wireshark-postinstall.sh</postinstall>
+ <scripts-dir relative="true" mod="true">Scripts</scripts-dir>
+ <scripts-element/>
+ </scripts>
+ <extra-files/>
+</pkgref>
-<pkgref spec="1.12" uuid="F7F04C41-A94E-4CCA-A8F5-8B774B8D9151"><config><identifier>org.wireshark.cli.pkg</identifier><version>1.0</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true">utility-launcher</installFrom><installTo mod="true" relocatable="true">/usr/local/bin</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>installTo</mod><mod>relocatable</mod><mod>scripts.scriptsDirectoryPath.isRelativeType</mod><mod>identifier</mod><mod>parent</mod><mod>installTo.path</mod><mod>installFrom.isRelativeType</mod><mod>scripts.postinstall.isRelativeType</mod></config><scripts><postinstall relative="true" mod="true">Scripts/cli-postinstall.sh</postinstall><scripts-dir relative="true" mod="true">Scripts</scripts-dir></scripts><contents><file-list>03utility-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
\ No newline at end of file
+<?xml version="1.0"?>
+<pkgref spec="1.12" uuid="F7F04C41-A94E-4CCA-A8F5-8B774B8D9151">
+ <config>
+ <identifier>org.wireshark.cli.pkg</identifier>
+ <version>1.0</version>
+ <description/>
+ <post-install type="none"/>
+ <requireAuthorization/>
+ <installFrom relative="true">utility-launcher</installFrom>
+ <installTo mod="true" relocatable="true">/usr/local/bin</installTo>
+ <flags>
+ <followSymbolicLinks/>
+ </flags>
+ <packageStore type="internal"/>
+ <mod>installTo</mod>
+ <mod>relocatable</mod>
+ <mod>scripts.scriptsDirectoryPath.isRelativeType</mod>
+ <mod>identifier</mod>
+ <mod>parent</mod>
+ <mod>installTo.path</mod>
+ <mod>installFrom.isRelativeType</mod>
+ <mod>scripts.postinstall.isRelativeType</mod>
+ </config>
+ <scripts>
+ <preinstall relative="true" mod="true">Scripts/cli-preinstall.sh</preinstall>
+ <postinstall relative="true" mod="true">Scripts/cli-postinstall.sh</postinstall>
+ <scripts-dir relative="true" mod="true">Scripts</scripts-dir>
+ </scripts>
+ <contents>
+ <file-list>03utility-contents.xml</file-list>
+ <filter>/CVS$</filter>
+ <filter>/\.svn$</filter>
+ <filter>/\.cvsignore$</filter>
+ <filter>/\.cvspass$</filter>
+ <filter>/\.DS_Store$</filter>
+ </contents>
+</pkgref>
#----------------------------------------------------------
echo -e "\nFilling app bundle and utility directory...\n"
+# CLI wrapper
+cp -v utility-launcher "$cli_dir/wireshark"
+
# Wireshark executables
if [ "$ui_toolkit" = "gtk" ] ; then
- cp -v utility-launcher "$cli_dir/$binary"
for binary in $binary_list wireshark ; do
# Copy the binary to its destination
dest_path="$pkgbin/$binary-bin"