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

Re: policy violation and bug reports.



Hi,
>>"Joey" == Joey Hess <joey@kitenet.net> writes:

Joey> Manoj Srivastava wrote:

     Any configuration files created or used by your package should reside
     in `/etc'. If there are several you should consider creating a
     subdirectory named after your package.

     It is almost certain that any file in `/etc' that is in your package's
     filesystem archive should be listed in dpkg's `conffiles' control area
     file. (See the *Debian Packaging Manual*).

Joey> This is speaking of "configuration files", not "conffiles". I
Joey> would define these two terms as:

	I think in Debian's case conffile means: a configuration file
 that may be modified by the user. 

Joey> configuration file: any file which is used by a program for
Joey> configuration purposes

Joey> conffile: any file which may be changed, by the user, or by a
Joey> program, and which needs to maintain state across package
Joey> upgrades.

	If a conffile is not a configuration file in some cases,
 please point me to the file. I contend that a conffile is merely a
 user modifiable configuration file; I think you are nitpicking at
 subtle semantics here.

	I think not. We can ask for a policy clarification here, but
 as I recall the policy discussion, the intent was never to subvert
 the section 3.3.7 by naming a configuration fine as a conf file and
 bypassing the whole section.

Joey> Note this this use of "configuration files" is identical to that
Joey> used by the fsstnd:

Joey> 3.4 /etc : Machine-local system configuration

Joey> /etc contains configuration files and directories, which are
Joey> local to the current system.

	The point being?

Joey> Notice that this means that /etc/resolv.conf is a configuration
Joey> file, although it is not currently a conffile.

	So? conffiles are obviously a subset of all possible
 configutration files. This is a configuration file that is created by
 and manipulated by the postinst, and therefore does not exist in the
 package itself, and hence does not need to be a conf file.

	Your point?

Joey> Also, this means that /var/lib/games/* are conffiles, though
Joey> they aren't configuration files. I believe it's useful to
Joey> maintain this distinction.

	This I disagree with. 


>> For the vast number of high scores files: Do *NOT* make the score
>> files conf files, instead, in the postinst, touch the score
>> highfile and set the correct permissions, and delete the file while
>> purging in the postrm. OK?

Joey> This doesn't work for many games which use binary formatted
Joey> files as high score files, and require the file to exist and
Joey> have a valid format before the game will run. This also doesn't
Joey> address a way to cleanly handle the case where a games's high
Joey> score file format changes. If it's a conffile, then dpkg will
Joey> prompt you to replace the old conffile with the new file in the
Joey> new format. If it is not a conffile, you have to manually handle
Joey> this in the postinst.

	So what? what are postinst files for? Which games need a
 binary high scores file? why can't they put the scores file in /etc
 and make a pointer to it? Maintainer laziness is no excuse to not
 enforce policy. Ask for a /etc/games if required, but I think that
 the games that expect an existent score file are few, and they can be
 handled with a symbolic link.

>> ======================================================================
>> Put these somewhere in /etc/default/root.bashrc and so on, and copy
>> them to /root in the postinst, unless the files are already
>> present. If files present, put a notice on the screen. These should
>> not be conffiles
>> ______________________________________________________________________
>> base-files.conffiles:/root/.bash_profile
>> base-files.conffiles:/root/.bashrc

Joey> Oh yes, let's re-implement dpkg's conffiles handling so we can
Joey> strictly interpret policy to say conffiles only go in /etc!
Joey> That's absurd. We have a fine handling of conffiles already
Joey> built into dpkg, why on earth should packages be forced to
Joey> reimplement it?

	Look further in section 3.3.7, my proposal is merely a
 modification of the dor file and /etc/skel proposal.

 [named]
Joey> Some sites may have many megabytes of data in here. Some of this
Joey> data may change constantly, without the admin having anything to
Joey> do with it. (Think secondary name servers.) It clearly belongs
Joey> in /var, quoting the FSSTND:

	I have been talking to the bind maintainer, and we have
 managed (surprise!) to come up with a solution that does not violate
 policy. Thisk: if named constantly writes over these files, why do
 you think they are still conffiles?


Joey> /var is there for a reason. You're strictly interpreting policy
Joey> to mean that a whole load of files which the authors of the
Joey> FSSTND intended to go in /var, be moved to /etc. The result will
Joey> only be a huge, bloated /etc, with many files in it the admin
Joey> will *never* modify, including binary files the admin *cannot*
Joey> easily modify.

	Oh, I do not think so. just moving user modifiable
 configuration files shall not significantly increase the size of
 /etc. Just look at the sizes of the violators; and compare them to
 the size of /etc. I have looked at the numbvers. have you?

Joey> -- see shy jo, annoyed at the trend towards a strict
Joey> interpretation of policy

	manoj
 annoyed at lazyness of developers which demands a relaxation of policy.

-- 
 If we cannot learn from our mistakes, we just rename them;
 "Success". Jon Loux
Manoj Srivastava  <srivasta@acm.org> <http://www.datasync.com/%7Esrivasta/>
Key C7261095 fingerprint = CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E


Reply to: