[Debian-l10n-commits] r2856 - in /pootle/trunk/debian: pootle.postinst pootle.postrm

themill-guest at users.alioth.debian.org themill-guest at users.alioth.debian.org
Thu Feb 9 23:04:26 UTC 2012


Author: themill-guest
Date: Thu Feb  9 23:04:25 2012
New Revision: 2856

URL: http://svn.debian.org/wsvn/?sc=1&rev=2856
Log:
Use dpkg-statoverride in postinst

Modified:
    pootle/trunk/debian/pootle.postinst
    pootle/trunk/debian/pootle.postrm

Modified: pootle/trunk/debian/pootle.postinst
URL: http://svn.debian.org/wsvn/pootle/trunk/debian/pootle.postinst?rev=2856&op=diff
==============================================================================
--- pootle/trunk/debian/pootle.postinst (original)
+++ pootle/trunk/debian/pootle.postinst Thu Feb  9 23:04:25 2012
@@ -47,15 +47,13 @@
 }
 
 set_permissions() {
-    create_user_group
-
-    mkdir -p $POOTLE_HOME
-    chmod 755 $POOTLE_HOME
-    chown $POOTLE_USER:$POOTLE_GROUP $POOTLE_HOME
-    chmod -R 755 $POOTLE_HOME/po
-    chown -R $POOTLE_USER:$POOTLE_GROUP $POOTLE_HOME/po
-    chmod -R 755 $POOTLE_HOME/dbs
-    chown -R $POOTLE_USER:$POOTLE_GROUP $POOTLE_HOME/dbs
+    local d f
+
+    for d in "$POOTLE_HOME" "$POOTLE_HOME/dbs" "$POOTLE_HOME/po"; do
+        if ! dpkg-statoverride --list "$d" >/dev/null 2>&1; then
+            dpkg-statoverride --update --add $POOTLE_USER $POOTLE_GROUP 0775 "$d"
+        fi
+    done
 
     # also fix the permission on the sqlite database if relevant
     [ -r /etc/dbconfig-common/pootle.conf ] && \
@@ -69,13 +67,22 @@
         if [ ! -f "$db" -a -f "$db.db" ]; then
             mv "$db.db" "$db"
         fi
-        chown -f $POOTLE_USER:$POOTLE_GROUP "$dbc_basepath/$dbc_dbname"
-        chmod -f 640 "$dbc_basepath/$dbc_dbname"
+        for f in "$POOTLE_HOME/dbs/"*.db "$dbc_basepath/$dbc_dbname"; do
+            if [ -f "$f" ] && ! dpkg-statoverride --list "$f" >/dev/null 2>&1; then
+                dpkg-statoverride --update --add $POOTLE_USER $POOTLE_GROUP 0640 "$f"
+            fi
+        done
     fi
 
     # Also protect config files
-    chmod 750 /etc/pootle
-    chown -R root:$POOTLE_GROUP /etc/pootle
+    if ! dpkg-statoverride --list /etc/pootle >/dev/null 2>&1; then
+        dpkg-statoverride --update --add root $POOTLE_GROUP 0750 /etc/pootle
+    fi
+    for f in /etc/pootle/dbconfig.py /etc/pootle/debian_config.py /etc/pootle/localsettings.py ; do
+        if [ -f "$f" ] && ! dpkg-statoverride --list "$f" >/dev/null 2>&1; then
+            dpkg-statoverride --update --add root $POOTLE_GROUP 0640 "$f"
+        fi
+    done
 
     # Store the user selection in /etc/default/pootle for init script
     sed -i "s/^POOTLE_USER=.*/POOTLE_USER=$POOTLE_USER/;
@@ -116,7 +123,11 @@
     local example
     db_get pootle/install-examples || true
     for example in $(echo $RET | sed s/,//); do
-        su "$POOTLE_USER" -p -c "/usr/share/pootle/install-pootle-examples $example"
+        if [ -d "$POOTLE_HOME/po/$example" ]; then
+          echo "Pootle: not installing project $example as it is already present"
+        else
+          su "$POOTLE_USER" -p -c "/usr/share/pootle/install-pootle-examples $example"
+        fi
     done
 }
 
@@ -166,11 +177,11 @@
         dbc_go pootle $@
 
         merge_config
+        configure_memcached
         set_permissions
-        configure_memcached
+        copy_example_files
         if [ -z "$2" ]; then
             # new installation
-            copy_example_files
             if [ $dbc_install != 'false' ]; then
                 su $POOTLE_USER -p -c "
                   django-admin syncdb --settings pootle.settings --noinput

Modified: pootle/trunk/debian/pootle.postrm
URL: http://svn.debian.org/wsvn/pootle/trunk/debian/pootle.postrm?rev=2856&op=diff
==============================================================================
--- pootle/trunk/debian/pootle.postrm (original)
+++ pootle/trunk/debian/pootle.postrm Thu Feb  9 23:04:25 2012
@@ -23,6 +23,12 @@
                 ucfr --purge pootle "$f"
             fi
         done
+        # clean up dpkg-statoverride calls
+        for i in $(dpkg-statoverride --list '/etc/pootle/*') \
+                  $(dpkg-statoverride --list '/var/lib/pootle/*')
+        do
+              dpkg-statoverride --remove "$i"
+        done
 fi
 
 #DEBHELPER#




More information about the Debian-l10n-commits mailing list