Bug#549112: daemontools: supervise stores state in /etc

2009-11-15 Thread Joost van Baal
severity 549112 wishlist
thanks

Gerrit Pape wrote:
> Please close the bug again, or at least make it severity wishlist.

I agree with Gerrit's reasoning.   Bug now wishlist.

Bye,

Joost



signature.asc
Description: Digital signature


Processed: Re: Bug#549112: daemontools: supervise stores state in /etc

2009-11-15 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> severity 549112 wishlist
Bug #549112 [daemontools] daemontools: supervise stores state in /etc
Severity set to 'wishlist' from 'serious'

> thanks
Stopping processing here.

Please contact me if you need assistance.

Debian bug tracking system administrator
(administrator, Debian Bugs database)


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#549112: daemontools: supervise stores state in /etc

2009-10-05 Thread Gerrit Pape
On Mon, Oct 05, 2009 at 06:12:57AM -0400, Andrew Schulman wrote:
> Gerritt, thanks for your answer.  Forgive me, but really, this is a mess.  
> There are a several problems.
> 
> First, the documentation of update-service never explains that the contents 
> of /etc/service must all be symlinks.  This is implied by 
> /usr/share/doc/daemontools-run/README.Debian, but not stated or explained.  
> Similarly,
> 
> # update-service --add /etc/service/vbox-TinyXP/
> update-service: fatal: /etc/service/vbox-TinyXP exists, but is not a 
> symbolic link.
> 
> is confusing since update-service(8) never says that a service directory 
> must be a symbolic link.  I've been using daemontools for a few years, have 
> read all of the documentation, and never understood this, so I think it's 
> not clear.

http://cr.yp.to/daemontools/faq.html
http://cr.yp.to/daemontools/faq/create.html#why
http://cr.yp.to/daemontools/faq/create.html#install
http://cr.yp.to/daemontools/faq/create.html#remove

> But OK, so I'm supposed to put my configuration into, say, /etc/sv/name, 
> then run 'update-service --add /etc/sv/name', and update-service will create 
> a symlink /etc/service/name -> /etc/sv/name.  It also creates 
> /etc/sv/name/supervise -> /var/lib/supervise/name.
> 
> Here again, daemontools is storing its state in /etc, now in two places:
> 
> (1) /etc/service is a tree of symlinks created and managed by daemontools, 
> for the purpose of keeping track of its services.  This is run-state 
> information that belongs in /var.

The symlinks are managed by root, not daemontools, and define which
supervised services are available, device-specific.  This belongs into
/etc/, just as /etc/rc?.d/.

> (2) /etc/sv/name/supervise is also created and managed by daemontools, to 
> point to its state information for that service.  Again this is run-state 
> information.  Instead of writing this data into /etc, supervise should just 
> use the standard location for it: /var/lib/supervise/name.  There's no 
> reason that a user would ever need to change that location, or even know 
> about it, so it doesn't elong in /etc.

Sure there is.  supervise is not restricted to root, ordinary users can
use it too.  The change you suggest would break that, for at least two
reasons: permissions and name-space.

supervise's standard location for its state information is the
./supervise/ directory.  If you, as root, put your service directory
into /etc/, you can adjust the location for the files in the
./supervise/ directory by creating a symlink.  update-service(8) can
help you with that.  You can also do manually, and point them into a
ramdisk for example.

> The basic difference is:  /etc belongs to me.  /var/lib/daemontools or 
> /var/lib/supervise belongs to daemontools.  daemontools (including update-
> service) should never be writing into /etc.  Any information it needs to 
> write to keep track of the installed services, it should put into 
> /var/lib/daemontools or /var/lib/supervise.

I'm sorry, I don't agree.  There're quite some update-* programs that
adjust configuration in /etc/.

> It seems that daemontools is trying to be flexible, by allowing me to put my 
> service descriptions anywhere, and then using update-service to create 
> symlinks in /etc/service for me.  But this doesn't make sense.  Why not just 
> require that they all go into /etc/service in the first place, and assume 
> that any directories there describe services?  That's the standard approach, 
> used by every other package I can think of.

It makes sense.  And you should look again, there are quite some
packages in Debian that use symlinks in /etc/.

Please close the bug again, or at least make it severity wishlist.  I do
see no bug here.

Regards, Gerrit.



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Processed: Re: Bug#549112: daemontools: supervise stores state in /etc

2009-10-05 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> reopen 549112
Bug #549112 {Done: Gerrit Pape } [daemontools] daemontools: 
supervise stores state in /etc
> thanks
Stopping processing here.

Please contact me if you need assistance.

Debian bug tracking system administrator
(administrator, Debian Bugs database)


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#549112: daemontools: supervise stores state in /etc

2009-10-05 Thread Andrew Schulman
reopen 549112
thanks

> > supervise stores its run-state information in
> > /etc/service/${service}/supervise and
> > /etc/service/${service}/log/supervise.  According to the FHS, this
> > information should go into /var, e.g. in /var/lib/supervise/${service}.
> 
> Hi, the supervise program stores the run-state information whereever you
> tell it to store it.  If you create a directory /etc/service/foo, and
> run 'supervise /etc/service/foo', it'll create
> /etc/service/foo/supervise/, true.  If you create /var/cache/foo, and a
> symlink /etc/service/foo -> /var/cache/foo, and run 'supervise
> /etc/service/foo', it'll create /var/cache/foo/supervise/.  If you
> create /etc/sv/foo, a symlink /etc/sv/foo/supervise ->
> /var/lib/supervise/foo, and a symlink /etc/service/foo -> /etc/sv/foo,
> and run supervise, it'll use /var/lib/supervise/foo.
> 
> To ease the setup of services with service directories in /etc/sv/
> that'll be linked into /etc/service/, there's the update-service(8)
> program that takes care of that.  All Debian packages I know that setup
> daemontools managed services use the update-service(8) program.

Gerritt, thanks for your answer.  Forgive me, but really, this is a mess.  
There are a several problems.

First, the documentation of update-service never explains that the contents 
of /etc/service must all be symlinks.  This is implied by 
/usr/share/doc/daemontools-run/README.Debian, but not stated or explained.  
Similarly,

# update-service --add /etc/service/vbox-TinyXP/
update-service: fatal: /etc/service/vbox-TinyXP exists, but is not a 
symbolic link.

is confusing since update-service(8) never says that a service directory 
must be a symbolic link.  I've been using daemontools for a few years, have 
read all of the documentation, and never understood this, so I think it's 
not clear.

But OK, so I'm supposed to put my configuration into, say, /etc/sv/name, 
then run 'update-service --add /etc/sv/name', and update-service will create 
a symlink /etc/service/name -> /etc/sv/name.  It also creates 
/etc/sv/name/supervise -> /var/lib/supervise/name.

Here again, daemontools is storing its state in /etc, now in two places:

(1) /etc/service is a tree of symlinks created and managed by daemontools, 
for the purpose of keeping track of its services.  This is run-state 
information that belongs in /var.

(2) /etc/sv/name/supervise is also created and managed by daemontools, to 
point to its state information for that service.  Again this is run-state 
information.  Instead of writing this data into /etc, supervise should just 
use the standard location for it: /var/lib/supervise/name.  There's no 
reason that a user would ever need to change that location, or even know 
about it, so it doesn't belong in /etc.  It's internal to daemontools.

The basic difference is:  /etc belongs to me.  /var/lib/daemontools or 
/var/lib/supervise belongs to daemontools.  daemontools (including update-
service) should never be writing into /etc.  Any information it needs to 
write to keep track of the installed services, it should put into 
/var/lib/daemontools or /var/lib/supervise.

It seems that daemontools is trying to be flexible, by allowing me to put my 
service descriptions anywhere, and then using update-service to create 
symlinks in /etc/service for me.  But this doesn't make sense.  Why not just 
require that they all go into /etc/service in the first place, and assume 
that any directories there describe services?  That's the standard approach, 
used by every other package I can think of.

Thanks,
Andrew.



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#549112: daemontools: supervise stores state in /etc

2009-09-30 Thread Andrew Schulman
Package: daemontools
Version: 1:0.76-3
Severity: serious
Justification: Policy 9.1.1


supervise stores its run-state information in
/etc/service/${service}/supervise and
/etc/service/${service}/log/supervise.  According to the FHS, this
information should go into /var, e.g. in /var/lib/supervise/${service}.

Thanks,
Andrew.

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (400, 'stable'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26 (SMP w/3 CPU cores; PREEMPT)
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages daemontools depends on:
ii  libc6 2.9-25 GNU C Library: Shared libraries

daemontools recommends no packages.

Versions of packages daemontools suggests:
ii  daemontools-run   1:0.76-3   daemontools service supervision

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org