From 774bc1acc5c307c8d52bfc6176216c5cf5068f8a Mon Sep 17 00:00:00 2001 From: Diego Giovane Pasqualin <dpasqualin@c3sl.ufpr.br> Date: Wed, 2 Jul 2014 16:34:19 -0300 Subject: [PATCH] le-greeter: Only divert files when needed Signed-off-by: Diego Giovane Pasqualin <dpasqualin@c3sl.ufpr.br> --- le-greeter/package/DEBIAN/control | 2 +- le-greeter/package/DEBIAN/preinst | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/le-greeter/package/DEBIAN/control b/le-greeter/package/DEBIAN/control index 032059b0..1931aa73 100755 --- a/le-greeter/package/DEBIAN/control +++ b/le-greeter/package/DEBIAN/control @@ -1,7 +1,7 @@ Package: le-greeter Priority: important Section: main -Version: 0.1.37 +Version: 0.1.38 Maintainer: LE Maintainer <le-maintainer@c3sl.ufpr.br> Description: Login screen theme and configurations for Linux Educacional 5.0 Architecture: i386 diff --git a/le-greeter/package/DEBIAN/preinst b/le-greeter/package/DEBIAN/preinst index 78162d53..2a885822 100755 --- a/le-greeter/package/DEBIAN/preinst +++ b/le-greeter/package/DEBIAN/preinst @@ -24,17 +24,29 @@ RMDIVERTS="/etc/lightdm/lightdm.conf" DIVERTS="/usr/sbin/guest-account" +# Check whether file $1 was already diverted. +# Return true if it was and false otherwise. +function alreadyDiverted() { + file="$1" + dpkg-divert --listpackage $file | grep -q le-greeter + return $? +} + # Remove diverts made from previous versions of le-greeter (<0.1.36) for file in $RMDIVERTS; do - dpkg-divert --remove ${file} - if test -e ${file}.lightdm; then - rm -f ${file}.lightdm + if alreadyDiverted $file; then + dpkg-divert --remove ${file} + if test -e ${file}.lightdm; then + rm -f ${file}.lightdm + fi fi done # Divert files: for file in $DIVERTS; do - dpkg-divert --divert ${file}.lightdm --rename ${file} + if ! alreadyDiverted $file; then + dpkg-divert --divert ${file}.real --rename ${file} + fi done exit 0 -- GitLab