[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#533287: [PATCH v2] Only the owner of a configuration file should modify it



Policy §10.7.4 explains:

 If it is desirable for [...] packages to share a configuration
 file and for all of the related packages to be able to modify
 that configuration file, then the following should be done:

 [...]
 ii. The owning package should also provide a program that the
     other packages may use to modify the configuration file.

 iii. The related packages must use the provided program to make
      any desired modifications to the configuration file. [...]

This advice suggests a few questions.  Are these requirements
release-critical?   (Item iii says "must" but the opening to the list
says it describes what "should" be done.) Is it be more important
("must" vs "should") that packages use the provided program than that
the program exist?

Use "should" instead of "must" throughout and state clearly that
packagers should not directly modify other packages' configuration
files regardless of whether a tool for indirectly modifying is
provided.

With wording help from Russ.

Closes: #533287
---
Russ Allbery wrote:

> This generally looks good, but here you remove the definition of "owning
> package":

Thanks.  Here's an updated patch.

 policy.sgml |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/policy.sgml b/policy.sgml
index 8c654d1..55f19a4 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -8445,14 +8445,16 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq
 	  </p>
 
 	  <p>
+	    Only the <em>owner</em> of a configuration file should
+	    modify it directly.
 	    If it is desirable for two or more related packages to
 	    share a configuration file <em>and</em> for all of the
 	    related packages to be able to modify that configuration
-	    file, then the following should be done:
+	    file, then:
 	    <enumlist compact="compact">
 	      <item>
 		  One of the related packages (the "owning" package)
-		  will manage the configuration file with maintainer
+		  manages the configuration file with maintainer
 		  scripts as described in the previous section.
 	      </item>
 	      <item>
@@ -8461,10 +8463,10 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq
 		  configuration file.
 	      </item>
 	      <item>
-		  The related packages must use the provided program
+		  The related packages should use the provided program
 		  to make any desired modifications to the
 		  configuration file.  They should either depend on
-		  the core package to guarantee that the configuration
+		  the owning package to guarantee that the configuration
 		  modifier program is available or accept gracefully
 		  that they cannot modify the configuration file if it
 		  is not.  (This is in addition to the fact that the
-- 
1.7.9.6 (Apple Git-31.1)


Reply to: