From dea3740ce28d55fe19ee6ecf81f5c9417ea99b55 Mon Sep 17 00:00:00 2001
From: Walter Lozano <walter.lozano@collabora.com>
Date: Thu, 28 Jan 2021 13:34:22 -0300
Subject: [PATCH] Add information about upgrades and dpkg

Update documentation regarding system updates and rollbacks with information
about dpkg and deb packages.

Signed-off-by: Walter Lozano <walter.lozano@collabora.com>
---
 .../designs/system-updates-and-rollback.md    | 21 +++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/content/designs/system-updates-and-rollback.md b/content/designs/system-updates-and-rollback.md
index 7982d3c3e..e71f8d528 100644
--- a/content/designs/system-updates-and-rollback.md
+++ b/content/designs/system-updates-and-rollback.md
@@ -188,6 +188,27 @@ management is not required for final users of Apertis. For example:
   way. This can be an error prone manual process and might not be accomplished
   cleanly.
 
+In relation to system settings as defined in [preferences and persistence]( {{< ref preferences-and-persistence.md >}} )
+Debian tools use a very simple approach. On package upgrades the `dpkg`
+will perform a check taking into account
+- current version default configuration file
+- new version default configuration file
+- current configuration file
+
+Different scenarios arise depending on whether user has applied changes to the
+configuration file. If current default configuration file is the same as
+current, then the user hadn't change it, which implies that it can be safely
+upgraded (if it is required).
+
+However, if the current default configuration file is different from current
+the user had applied some changes, so it can't be upgraded silently. In this
+case `dpkg` asks the user to choose the version to use. This approach is not
+suitable for automated upgrades where there is no user interaction.
+
+To overcome some of these limitations modern systems tend to use overlays
+to have a read-only partition with default values and an upper layer with
+custom values.
+
 ### ChromeOS
 
 ChromeOS uses an A/B parallel partition approach. Instead of upgrading the system
-- 
GitLab