mirror of
https://github.com/zeek/zeek.git
synced 2025-10-12 03:28:19 +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
68 lines
2.2 KiB
Bash
Executable file
68 lines
2.2 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
# This script is meant to be used by binary packages post-installation.
|
|
# Variables between @ symbols are replaced by CMake at configure time.
|
|
|
|
backupNamesFile=/tmp/bro_install_backups
|
|
version=@VERSION@
|
|
sampleFiles=""
|
|
|
|
# check whether it's safe to remove backup configuration files that
|
|
# the most recent package install created
|
|
|
|
if [ -e ${backupNamesFile} ]; then
|
|
backupFileList=`cat ${backupNamesFile}`
|
|
|
|
for backupFile in ${backupFileList}; do
|
|
origFileName=`echo ${backupFile} | sed 's/\(.*\)\..*/\1/'`
|
|
|
|
diff ${origFileName} ${backupFile} > /dev/null 2>&1
|
|
|
|
if [ $? -eq 0 ]; then
|
|
# if the installed version and the backup version don't differ
|
|
# then we can remove the backup version
|
|
rm ${backupFile}
|
|
else
|
|
# The backup file differs from the newly installed version,
|
|
# since we can't tell if the backup version has been modified
|
|
# by the user, we should restore it to its original location
|
|
# and rename the new version appropriately.
|
|
|
|
sampleFiles="${sampleFiles}\n${origFileName}.example"
|
|
|
|
mv ${backupFile} ${origFileName}
|
|
fi
|
|
|
|
done
|
|
|
|
rm ${backupNamesFile}
|
|
fi
|
|
|
|
if [ -n "${sampleFiles}" ]; then
|
|
# Use some apple script to display a message to user
|
|
/usr/bin/osascript << EOF
|
|
tell application "System Events"
|
|
activate
|
|
display alert "Existing configuration files differ from the ones that would be installed by this package. To avoid overwriting configuration which you may have modified, the following new config files have been installed:\n${sampleFiles}\n\nIf you have previously modified configuration files, please make sure that they are still compatible, else you should update your config files to the new versions."
|
|
end tell
|
|
EOF
|
|
fi
|
|
|
|
# make sure that world-writeable dirs have the sticky bit set
|
|
# so that unprivileged can't rename/remove files within
|
|
|
|
if [ -d /var/opt/bro/spool ]; then
|
|
chmod +t /var/opt/bro/spool
|
|
fi
|
|
|
|
if [ -d /var/opt/bro/spool/tmp ]; then
|
|
chmod +t /var/opt/bro/spool/tmp
|
|
fi
|
|
|
|
if [ -d /var/opt/bro/spool/policy ]; then
|
|
chmod +t /var/opt/bro/spool/policy
|
|
fi
|
|
|
|
if [ -d /var/opt/bro/logs ]; then
|
|
chmod +t /var/opt/bro/logs
|
|
fi
|