From 29e26de7e234d4e6abcf4127732856fca5ba2727 Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Wed, 25 May 2016 17:05:28 -0500 Subject: [PATCH] [build] Cleanup dirs on uninstall --- tasks/build/os_packages.js | 3 ++- tasks/build/package_scripts/post_remove.sh | 22 +++++++++++++++++++++- tasks/config/packages.js | 4 ++-- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/tasks/build/os_packages.js b/tasks/build/os_packages.js index 8b3d9ed8cfb7d..c739bf122e1c2 100644 --- a/tasks/build/os_packages.js +++ b/tasks/build/os_packages.js @@ -42,7 +42,8 @@ export default (grunt) => { '--template-value', `user=${packages.user}`, '--template-value', `group=${packages.group}`, '--template-value', `optimizeDir=${packages.path.home}/optimize`, - + '--template-value', `configDir=${packages.path.conf}`, + '--template-value', `pluginsDir=${packages.path.plugins}`, //config folder is moved to path.conf, exclude {path.home}/config //uses relative path to --prefix, strip the leading / '--exclude', `${packages.path.home.slice(1)}/config` diff --git a/tasks/build/package_scripts/post_remove.sh b/tasks/build/package_scripts/post_remove.sh index 43e8e5e6d4ac5..d0ac977cdd3b2 100644 --- a/tasks/build/package_scripts/post_remove.sh +++ b/tasks/build/package_scripts/post_remove.sh @@ -10,20 +10,26 @@ user_remove() { } REMOVE_USER=false +REMOVE_DIRS=false case $1 in # Includes cases for all valid arguments, exit 1 otherwise # Debian purge) REMOVE_USER=true + REMOVE_DIRS=true + ;; + remove) + REMOVE_DIRS=true ;; - remove|failed-upgrade|abort-install|abort-upgrade|disappear|upgrade|disappear) + failed-upgrade|abort-install|abort-upgrade|disappear|upgrade|disappear) ;; # Red Hat 0) REMOVE_USER=true + REMOVE_DIRS=true ;; 1) @@ -40,3 +46,17 @@ if [ "$REMOVE_USER" = "true" ]; then user_remove "<%= user %>" fi fi + +if [ "$REMOVE_DIRS" = "true" ]; then + if [ -d "<%= optimizeDir %>" ]; then + rm -rf "<%= optimizeDir %>" + fi + + if [ -d "<%= pluginsDir %>" ]; then + rm -rf "<%= pluginsDir %>" + fi + + if [ -d "<%= configDir %>" ]; then + rmdir --ignore-fail-on-non-empty "<%= configDir %>" + fi +fi diff --git a/tasks/config/packages.js b/tasks/config/packages.js index 98ce8a16094c5..c13c99c088783 100644 --- a/tasks/config/packages.js +++ b/tasks/config/packages.js @@ -13,8 +13,8 @@ export default (grunt) => { const PREFIX_PRODUCTION_RPM = `${FOLDER_PRODUCTION}/${FOLDERNAME_RPM}`; const FOLDER_CONFIG = '/etc/kibana'; - const FOLDER_LOGS = '/var/log/kibana'; const FOLDER_HOME = '/usr/share/kibana'; + const FOLDER_PLUGINS = `${FOLDER_HOME}/installedPlugins`; const FILE_KIBANA_CONF = `${FOLDER_CONFIG}/kibana.yml`; const FILE_KIBANA_BINARY = `${FOLDER_HOME}/bin/kibana`; @@ -43,7 +43,7 @@ export default (grunt) => { version: VERSION, path: { conf: FOLDER_CONFIG, - logs: FOLDER_LOGS, + plugins: FOLDER_PLUGINS, home: FOLDER_HOME, kibanaBin: FILE_KIBANA_BINARY, kibanaConfig: FILE_KIBANA_CONF