test -r $TARFILE || exit $MR_MISSINGFILE
test -d $CUPSLOCAL || exit $MR_MISSINGFILE
+# We need to kill off CUPS to prevent it from overwriting
+# state data whilst updating
+/etc/init.d/cups stop
+
/etc/cups/bin/check-disabled.pl 2>/dev/null
# Unpack the tar file, getting only files that are newer than the
mv /etc/cups/printers.conf.tmp /etc/cups/printers.conf
fi
-# Now, make a stab at the PPD file.
-/etc/cups/bin/gen-ppd.pl
-
-/etc/init.d/cups stop
/etc/init.d/cups start
+# Now, make a stab at the PPD file. This is okay to run after
+# because CUPS will pick up the new PPDs later
+/etc/cups/bin/gen-ppd.pl
+
if [ $? != 0 ]; then
exit $MR_MKCRED
fi