filesystem-cleanup: Add parameter to show changes

Message ID 20200110150600.24259-1-daniel.weismueller@ipfire.org
State Accepted
Headers show
Series filesystem-cleanup: Add parameter to show changes | expand

Commit Message

Daniel Weismueller Jan. 10, 2020, 3:06 p.m. UTC
From: Daniel Weismüller <whytea@ipfire.org>

Use --dry-run to only show files that would be deleted, but do
not actually delete them.

Signed-off-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
---
 src/scripts/filesystem-cleanup | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

Patch

diff --git a/src/scripts/filesystem-cleanup b/src/scripts/filesystem-cleanup
index d4cdfe8d3..7e7accc7a 100644
--- a/src/scripts/filesystem-cleanup
+++ b/src/scripts/filesystem-cleanup
@@ -27,6 +27,22 @@  PATHS=(
 )
 
 main() {
+	local dry_run="false"
+
+	while [ $# -gt 0 ]; do
+		case "${1}" in
+			--dry-run)
+				dry_run="true"
+				;;
+
+			*)
+				echo "${0}: Invalid argument: ${1}" >&2
+				return 2
+				;;
+		esac
+		shift
+	done
+
 	# Update the runtime linker cache (this may fix any broken symlinks)
 	ldconfig
 
@@ -65,7 +81,12 @@  main() {
 						;;
 
 					*)
-						unlink "${file}"
+						echo "Removing ${file}..."
+
+						# Actually remove the file (maybe)
+						if [ "${dry_run}" = "false" ]; then
+							unlink "${file}"
+						fi
 						;;
 				esac
 			done