summaryrefslogtreecommitdiff
path: root/Makeclean.rc
diff options
context:
space:
mode:
authorHayden Hamilton <hayden@hhvn.uk>2026-09-14 19:59:57 +0100
committerHayden Hamilton <hayden@hhvn.uk>2026-09-14 19:59:57 +0100
commit26a5e271f5cb54e873ffdbb77ce6288e6ae29da9 (patch)
treef37a87bd612b851923e84b5903ddfdb5eab912c1 /Makeclean.rc
parent06adabffe759eafcd3932e98b0395dcbd95bc16c (diff)
Replace buggy Makeclean.rc with uninstall+install sequenceHEADmaster
Diffstat (limited to 'Makeclean.rc')
-rwxr-xr-xMakeclean.rc69
1 files changed, 0 insertions, 69 deletions
diff --git a/Makeclean.rc b/Makeclean.rc
deleted file mode 100755
index d2d138f..0000000
--- a/Makeclean.rc
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/rc
-
-# This script will remove any deleted scripts/dirs previously copied into $1
-# If a directory is present, has previously been copied into $1,
-# but no longer contains any executable scripts, this will also be removed.
-
-bin = $1
-
-touch .installed .dirsmade
-installed = `$nl{cat .installed}
-dirsmade = `$nl{cat .dirsmade}
-
-fn sigexit {
- if (~ $clean_installed ()) {
- rm .installed
- } else {
- {for (s in $clean_installed) { echo $s }} > .installed
- }
-
- if (~ $clean_dirsmade ()) {
- rm .dirsmade
- } else {
- {for (d in $clean_dirsmade) { echo $d }} > .dirsmade
- }
-}
-
-for (s in $installed) {
- p = $bin/$s
- if (test -f $s && test -x $s) {
- clean_installed = ($clean_installed $s)
- } else {
- echo RM $p
- rm $p
- removed = ($removed $p)
- }
-}
-
-fn check_dir_used {
- d = $1 {
- for (s in $clean_installed) {
- ds = `$nl{dirname $s}
- if (!~ $ds '.') {
- p = '.'
- for (e in `$nl'/'{echo $ds}) {
- p = $p/$e
- if (~ `$nl{echo $p | sed 's/^\.\///'} $d){
- return 0
- }
- }
- }
- }
- }
- return 1
-}
-
-for (d in $dirsmade) {
- p = $bin/$d
- if (test -d $d && check_dir_used $d) {
- clean_dirsmade = ($clean_dirsmade $d)
- } else {
- echo RMDIR $p
- rmdir $p
- removed = ($removed $p)
- }
-}
-
-if (~ $removed ()) {
- echo nothing to clean
-}