From 8e1ebd8de01bc9d97e47572bc8b1d2eaafebf743 Mon Sep 17 00:00:00 2001
From: Christophe Monniez <moc@odoo.com>
Date: Thu, 2 Feb 2023 13:55:38 +0000
Subject: [PATCH] [FIX] packaging: fix installing deb package when user exists

When a odoo user already exists, the installation of the deb package
fails because the `/var/lib/odoo` directory does not exists.

The reason is that the postinst script is trying to change the
permissions of this directory which is only created if a odoo user does
not already exists.

With this commit, the permission changes only occurs when the directory
is created.

closes odoo/odoo#111814

Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
---
 debian/postinst | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/debian/postinst b/debian/postinst
index 342fa4e159ea..08ade1479a0a 100644
--- a/debian/postinst
+++ b/debian/postinst
@@ -12,6 +12,8 @@ case "${1}" in
     configure)
         if ! getent passwd | grep -q "^odoo:"; then
             adduser --system --home $ODOO_DATA_DIR --quiet --group $ODOO_USER
+            # Data dir
+            chown $ODOO_USER:$ODOO_GROUP $ODOO_DATA_DIR
         fi
         # Register "$ODOO_USER" as a postgres user with "Create DB" role attribute
         su - postgres -c "createuser -d -R -S $ODOO_USER" 2> /dev/null || true
@@ -22,8 +24,6 @@ case "${1}" in
         mkdir -p $ODOO_LOG_DIR
         chown $ODOO_USER:$ODOO_GROUP $ODOO_LOG_DIR
         chmod 0750 $ODOO_LOG_DIR
-        # Data dir
-        chown $ODOO_USER:$ODOO_GROUP $ODOO_DATA_DIR
         ;;
     *)
         ;;
-- 
GitLab