mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00

- Duplicates of the distribution's configuration files are now always installed with a .example suffix - Added --binary-package configure option to toggle configure logic specific to the creation of binary packages. - When not in binary packaging mode, `make install` never overwrites existing configure files in case they've been modified. The previous behavior (CMake's default) would only avoid overwriting modified files if one consistently uses the same build directory and doesn't reconfigure. - Fixed an issue with Mac package's pre-install script not preserving ACLs - Minor cleanup/refactor of the make-mac/rpm-packages scripts
64 lines
1.8 KiB
Bash
Executable file
64 lines
1.8 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
# This script creates binary packages for Mac OS X.
|
|
# They can be found in build/ after running.
|
|
|
|
prefix=/opt/bro
|
|
|
|
# CMake/CPack versions before 2.8.2 have bugs that can create bad packages
|
|
CMAKE_PACK_REQ=2.8.3
|
|
CMAKE_VER=`cmake -version`
|
|
|
|
if [ "${CMAKE_VER}" \< "${CMAKE_PACK_REQ}" ]; then
|
|
echo "Package creation requires CMake > 2.8.2" >&2
|
|
exit 1
|
|
fi
|
|
|
|
type sw_vers > /dev/null 2>&1 || {
|
|
echo "Unable to get Mac OS X version" >&2;
|
|
exit 1;
|
|
}
|
|
|
|
# Get the OS X minor version
|
|
# 5 = Leopard, 6 = Snow Leopard, 7 = Lion ...
|
|
osx_ver=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2`
|
|
|
|
if [ ${osx_ver} -lt 5 ]; then
|
|
echo "Packages for OS X < 10.5 are not supported" >&2
|
|
exit 1
|
|
elif [ ${osx_ver} -eq 5 ]; then
|
|
# On OS X 10.5, the x86_64 version of libresolv is broken,
|
|
# so we build for i386 as the easiest solution
|
|
arch=i386
|
|
else
|
|
# Currently it's just easiest to build the 10.5 package on
|
|
# on 10.5, but if it weren't for the libresolv issue, we could
|
|
# potentially build packages for older OS X version by using the
|
|
# --osx-sysroot and --osx-min-version options
|
|
arch=x86_64
|
|
fi
|
|
|
|
# Minimum Bro
|
|
CMAKE_OSX_ARCHITECTURES=${arch} ./configure --prefix=${prefix} \
|
|
--disable-broccoli --disable-broctl --pkg-name-prefix=Bro \
|
|
--binary-package
|
|
( cd build && make package )
|
|
|
|
# Full Bro package
|
|
CMAKE_OSX_ARCHITECTURES=${arch} ./configure --prefix=${prefix} \
|
|
--pkg-name-prefix=Bro-all --binary-package
|
|
( cd build && make package )
|
|
|
|
# Broccoli
|
|
cd aux/broccoli
|
|
CMAKE_OSX_ARCHITECTURES=${arch} ./configure --prefix=${prefix} \
|
|
--binary-package
|
|
( cd build && make package && mv Broccoli*.dmg ../../../build/ )
|
|
cd ../..
|
|
|
|
# Broctl
|
|
cd aux/broctl
|
|
CMAKE_OSX_ARCHITECTURES=${arch} ./configure --prefix=${prefix} \
|
|
--binary-package
|
|
( cd build && make package && mv Broctl*.dmg ../../../build/ )
|
|
cd ../..
|