From a4290bb363fb6f1c593886d4f10a5868d7c9d3b8 Mon Sep 17 00:00:00 2001
From: Siri Hansen
Date: Wed, 15 Oct 2014 18:31:13 +0200
Subject: [sasl] Remove undocumented upgrade instruction
The upgrade instruction 'remove_module' was added in OTP R7B (and
possibly in a patch in R5B or R6B, ticket OTP-3477), and translates to
the low level instruction 'remove', but adds the parameter DepMods
(modules on which Mod is dependent). The ticket says that
"remove_module should be added for symmetry with the add_module
instruction". remove_module was never documented or tested, and it was
never mentioned in a release note. It therefore seems to be low risk
in removing it.
The correct instruction to use when removing a module is
{delete_module,Mod}
which was added in OTP R10B and which is also documented and
tested. This translates to low level instructions 'remove' and 'purge'
i.e. the module is brutally purged after setting the current code to
old. This hardcoded brutal purge is the reason why PrePurge and
PostPurge parameters can not be given with the delete_module
instruction.
The parameter DepMods which was inclued in the remove_module
instruction does not exist for delete_module. From the documentation's
point of view, this is the same for add_module, and thus the two
instructions {add_module,Mod} and {delete_module,Mod} are now
symmetric. However, in the code there is a second instruction for
adding a module, {add_module,Mod,DepMods}, which is not documented. To
add symmetry even for this, {delete_module,Mod,DepMods} is now also
added. Documentation is added for all instructions.
---
lib/sasl/doc/src/appup.xml | 13 +++++++++++++
1 file changed, 13 insertions(+)
(limited to 'lib/sasl/doc/src')
diff --git a/lib/sasl/doc/src/appup.xml b/lib/sasl/doc/src/appup.xml
index 95f315d269..f0f41b0c7e 100644
--- a/lib/sasl/doc/src/appup.xml
+++ b/lib/sasl/doc/src/appup.xml
@@ -180,15 +180,28 @@
Mod when upgrading, and vice versa when downgrading.
{add_module, Mod}
+{add_module, Mod, DepMods}
Mod = atom()
+ DepMods = [Mod]
Loads a new module Mod.
+ DepMods defaults to [] and defines which other modules
+ Mod is dependent on. In relup, instructions
+ related to these modules will come before the instruction for
+ loading Mod when upgrading, and vice versa when
+ downgrading.
{delete_module, Mod}
+{delete_module, Mod, DepMods}
Mod = atom()
Deletes a module Mod using the low-level instructions
remove and purge.
+ DepMods defaults to [] and defines which other modules
+ Mod is dependent on. In relup, instructions
+ related to these modules will come before the instruction for
+ removing Mod when upgrading, and vice versa when
+ downgrading.
{add_application, Application}
{add_application, Application, Type}
--
cgit v1.2.3