summaryrefslogtreecommitdiffstats
path: root/src/usr/local/share/pfSense/post_upgrade_command
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/local/share/pfSense/post_upgrade_command')
-rwxr-xr-xsrc/usr/local/share/pfSense/post_upgrade_command64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/usr/local/share/pfSense/post_upgrade_command b/src/usr/local/share/pfSense/post_upgrade_command
new file mode 100755
index 0000000..097bc5c
--- /dev/null
+++ b/src/usr/local/share/pfSense/post_upgrade_command
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+/etc/rc.conf_mount_rw
+
+PFSENSETYPE=`cat /etc/platform`
+
+if [ "${PFSENSETYPE}" = "pfSense" -o "${PFSENSETYPE}" = "nanobsd" ]; then
+ touch /conf/needs_package_sync
+fi
+
+# Detect interactive logins and display the shell
+detect_command='[ -n "$SSH_TTY" -o "$TERM" = "cons25" ] && exec /etc/rc.initial'
+echo "${detect_command}" > ${CVS_CO_DIR}/root/.shrc
+echo "${detect_command}" >> ${CVS_CO_DIR}/root/.profile
+
+if [ "${PFSENSETYPE}" = "nanobsd" ]; then
+ ROOT=/tmp/${1}/
+else
+ ROOT=/
+fi
+
+# Now turn on or off serial console as needed
+echo "Checking for ${ROOT}usr/local/share/pfSense/post_upgrade_command.php... " >> /conf/upgrade_log.txt
+if [ -x ${ROOT}usr/local/share/pfSense/post_upgrade_command.php ]; then
+ echo "Running ${ROOT}usr/local/share/pfSense/post_upgrade_command.php $1" >> /conf/upgrade_log.txt
+ ${ROOT}usr/local/share/pfSense/post_upgrade_command.php $1 >> /conf/upgrade_log.txt 2>&1
+fi
+
+# Remove any previous MD5 sum files
+rm -f /root/*.md5 >/dev/null 2>&1
+
+# Fixup permissions on installed files
+if [ -f ${ROOT}usr/local/share/pfSense/base.mtree ]; then
+ if [ -x "/tmp/mtree.old" ]; then
+ MTREE_BIN=/tmp/mtree.old
+ else
+ MTREE_BIN=/usr/sbin/mtree
+ fi
+ ${MTREE_BIN} -U -e -q -f ${ROOT}usr/local/share/pfSense/base.mtree -p ${ROOT} > /conf/mtree.log
+fi
+
+# Make sure to preserve existing time zone
+if [ "${PFSENSETYPE}" = "nanobsd" -a -f /etc/localtime ]; then
+ /bin/cp -p /etc/localtime ${ROOT}etc/localtime 2>/dev/null
+fi
+
+# Files may contain spaces
+oIFS=${IFS}
+IFS="
+"
+# Obsolete files - nanobsd doesn't need it since a new image is installed
+# on the other partition
+if [ "${PFSENSETYPE}" != "nanobsd" -a -f /etc/pfSense.obsoletedfiles ]; then
+ for f in $(cat /etc/pfSense.obsoletedfiles); do
+ if [ -n "${f}" -a -f "${f}" ]; then
+ rm -f "${f}"
+ elif [ -n "${f}" -a -d "${f}" ]; then
+ rm -rf "${f}"
+ fi
+ done
+fi
+
+# Restore IFS
+IFS=${oIFS}
OpenPOWER on IntegriCloud