# Like `backup` in `PKGBUILD`, but supports folders – no leading and trailing slash here! _BACKUP=('opt/lampp/etc' 'opt/lampp/htdocs' 'opt/lampp/var') post_install() { echo echo 'XAMPP is now installed below the /opt/lampp directory.' echo echo 'To start, stop or restart XAMPP simply call the command' echo echo ' sudo xampp {start, stop, restart}' echo echo 'Alternatively you can use the `xampp` systemd service.' echo echo 'To check that everything really works just enter the following URL in your web' echo 'browser:' echo echo ' http://localhost' echo echo 'Have fun!' echo } pre_upgrade() { local _STDERR local _COIN echo -n 'Stopping lampp services...' _STDERR="$(/opt/lampp/lampp stop 2>&1 >/dev/null)" && echo ' OK' || { echo ' FAILED' test "x${_STDERR}" != 'x' && echo "${_STDERR}" 1>&2 } for _COIN in "${_BACKUP[@]}"; do ! test -d "/${_COIN}" || (rm -rf "/${_COIN}.keep" && mv "/${_COIN}" "/${_COIN}.keep") done } post_upgrade() { local _COIN local _HAVE_PACNEW=no for _COIN in "${_BACKUP[@]}"; do if test -d "/${_COIN}.keep"; then _HAVE_PACNEW=yes rm -rf "/${_COIN}.pacnew" mv "/${_COIN}" "/${_COIN}.pacnew" mv "/${_COIN}.keep" "/${_COIN}" echo "/${_COIN} has been installed as /${_COIN}.pacnew" fi done if test "x${_HAVE_PACNEW}" = 'xyes'; then echo echo 'One or more files have been saved as `.pacnew` files to preserve a current' echo 'version. To replace the preserved old version with the new version, launch:' echo echo ' sudo find -L '\''/opt/lampp/'\'' -name '\''*.pacnew'\'' | while read _fnew_; do \' echo ' _fold_="`echo "${_fnew_}" | sed '\''s/\.pacnew$//'\''`"; \' echo ' sudo rm -R "${_fold_}"; \' echo ' sudo mv "${_fnew_}" "${_fold_}"; \' echo ' done' echo echo 'If instead you want to discard the new files, launch:' echo echo ' sudo rm -r `sudo find -L '\''/opt/lampp/'\'' -name '\''*.pacnew'\''`' echo fi } pre_remove() { local _STDERR local _COIN local _DATESTAMP="$(date '+%Y-%m-%d-%H-%M-%S')" echo -n 'Stopping lampp services...' _STDERR="$(/opt/lampp/lampp stop 2>&1 >/dev/null)" && echo ' OK' || { echo ' FAILED' test "x${_STDERR}" != 'x' && echo "${_STDERR}" 1>&2 } for _COIN in "${_BACKUP[@]}"; do rm -rf "/${_COIN}.pacnew" done if test "${#_BACKUP[@]}" -gt 0; then rm -rf "/opt/xampp-backups/${_DATESTAMP}" install -dm755 "/opt/xampp-backups/${_DATESTAMP}" for _COIN in "${_BACKUP[@]}"; do if test -d "/${_COIN}"; then mv "/${_COIN}" "/opt/xampp-backups/${_DATESTAMP}/" || \ echo "ERROR: Could not create a backup of /${_COIN}" 1>&2 fi done fi rm -rf '/opt/lampp/' } post_remove() { echo echo 'REMEMBER: Your `htdocs` folder was backed up to `/opt/xampp-backups`.' echo echo 'If you don'\''t need them, launch' echo echo ' sudo rm -r /opt/xampp-backups' echo echo 'to erase all backups.' echo }