From 10ec3e3b569db35e08ccc350359401a515574de1 Mon Sep 17 00:00:00 2001 From: Valentin Vidic Date: Fri, 24 Apr 2009 13:27:06 +0200 Subject: [PATCH] Remove orphaned package libsensors3. Package postinst tries to write into read-only /dev/.static/dev. --- src/actions/main.queue | 1 + src/data.sh | 6 ++++++ src/functions.sh | 24 ++++++++++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/src/actions/main.queue b/src/actions/main.queue index a550b9f..61cf51c 100644 --- a/src/actions/main.queue +++ b/src/actions/main.queue @@ -45,6 +45,7 @@ pkg ntp && pkg ntpdate pkgadd lockfile-progs true upgrade_postgresql true upgrade first # neki paketi moraju rucno true upgrade second # neke pakete zelimo ranije +true remove_orphaned # ocisti stare libove nakon sto su cn paketi nadogradjeni true dist_upgrade # instaliraj ostatak # i ostatak true debconf_priority reset diff --git a/src/data.sh b/src/data.sh index e4d0bbb..d4af23f 100644 --- a/src/data.sh +++ b/src/data.sh @@ -110,6 +110,12 @@ webalizer-cn webalizer xinetd-cn xinetd ' +# simulate deborphan +orphaned_packages=' +libsnmp9 +libsensors3 +' + # Check if these services are running after upgrade # package-cn user proces (pazi, regexp) nice name services_to_check=' diff --git a/src/functions.sh b/src/functions.sh index 19c76b3..527742a 100644 --- a/src/functions.sh +++ b/src/functions.sh @@ -897,6 +897,30 @@ remove_skey () { fi } +# check if package is orphaned (nothing depends on it) +is_orphaned () { + local package deps + + package=$1 + deps=$(apt-get remove -s $package | grep ^Remv | wc -l) + if [ "$deps" -eq 1 ]; then + return 0 + else + return 1 + fi +} + +# remove old and unused libraries +remove_orphaned () { + local package + + for package in $orphaned_packages; do + if is_orphaned $package; then + pkgrm $package + fi + done +} + # monit it causing problems for postinst scripts # restarting daemons so try to disable it disable_monit () { -- 1.7.10.4