}
log() {
+ local old_umask
logfile=${logfile:=/var/log/carnet-upgrade.log}
- touch $logfile
+
+ old_umask=$(umask)
+ umask 0077
+
echo "$(date +'%Y-%m-%d %H:%M:%S') $*" >> $logfile
echo "CN: $*"
+
+ umask $old_umask
+ chmod og= $logfile
}
# find first free uid/gid in range
if [ -z "$default_kernel" -a -r "/boot/grub/menu.lst" ]; then
default_kernel=$( awk '
$1 == "default" { default = $2;
- if (default != /^[[:digit:]]+$/) { exit } }
+ if (default !~ /^[0-9]+$/) { exit } }
$1 == "title" { title+=1 }
$1 == "kernel" && title==default+1 { print $2; exit }' \
/boot/grub/menu.lst 2>/dev/null )
log "Default kernel package: $kernel_package"
- if [ "$kernel_package" != "kernel-2.6-cn" ]; then
- log "Default kernel package is not kernel-2.6-cn"
- return 1
- fi
-
running_release=$( uname -r )
running_version=$( uname -v )
log "Running kernel: $running_release $running_version"
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 () {
/etc/udev/rules.d/compat.rules
do
if [ -e $config ]; then
- mv -v $config /etc/udev/
+ rm -v -f $config
fi
done