2007-04-13 06:59:06 |
Martin Pool |
description |
Hello,
i tried the following to get bzr running as daemon under xinetd:
localhost:/etc/xinetd.d # cat bzr
service bzr
{
server_args = serve --inet --directory=/home/archive/bzr
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
disable = no
socket_type = stream
protocol = tcp
wait = no
user = bzruser
server = /usr/local/bin/bzr
port = 22618
}
localhost:/etc/xinetd.d # /etc/init.d/xinetd stop
Shutting down xinetd: done
localhost:/etc/xinetd.d # /etc/init.d/xinetd start
Starting INET services. (xinetd) done
localhost:/etc/xinetd.d # grep -i bzr /var/log/messages | tail -1
Apr 12 17:30:32 austria073 xinetd[22967]: Reading included configuration
file: /etc/xinetd.d/bzr [file=/etc/xinetd.conf] [line=26]
localhost:/ # cd ~bzruser/
localhost:/home/archive/bzr # ls
total 8
-rw-r--r-- 1 bzruser users 51 Apr 12 16:57 README.txt
-rw-r--r-- 1 bzruser users 25 Apr 12 17:01 logme
localhost:/home/archive/bzr # bzr status
unknown:
.bash_history
.bazaar/
.bzr.log
logme
And now, i try to talk to the bzr daemon:
localhost:/home/archive/bzr # bzr log bzr://localhost:22618
bzr: ERROR: Generic bzr smart protocol error: unexpected smart server
error: ("failed to open trace file: [Errno 13] Permission denied:
'/root/.bzr.log'",)
localhost:/home/archive/bzr # su - bzruser
bzruser@austria073:~> bzr log bzr://localhost:22618
bzr: ERROR: Generic bzr smart protocol error: unexpected smart server
error: ("failed to open trace file: [Errno 13] Permission denied:
'/root/.bzr.log'",)
What?s up?!?!
This file exists - but is not available to "bzruser", also even if i
make it readable to "bzruser" the same error occurs :-(
Any idea?
Everything runs fine with a dedicated server ... |
bzr serve tries to write to ~/.bzr.log, but this is not appropriate when run from inetd, and a bit questionable under other circumstances.
This may be slightly complicated to fix if we open the file before parsing the arguments...
====================
Hello,
i tried the following to get bzr running as daemon under xinetd:
localhost:/etc/xinetd.d # cat bzr
service bzr
{
server_args = serve --inet --directory=/home/archive/bzr
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
disable = no
socket_type = stream
protocol = tcp
wait = no
user = bzruser
server = /usr/local/bin/bzr
port = 22618
}
localhost:/etc/xinetd.d # /etc/init.d/xinetd stop
Shutting down xinetd: done
localhost:/etc/xinetd.d # /etc/init.d/xinetd start
Starting INET services. (xinetd) done
localhost:/etc/xinetd.d # grep -i bzr /var/log/messages | tail -1
Apr 12 17:30:32 austria073 xinetd[22967]: Reading included configuration
file: /etc/xinetd.d/bzr [file=/etc/xinetd.conf] [line=26]
localhost:/ # cd ~bzruser/
localhost:/home/archive/bzr # ls
total 8
-rw-r--r-- 1 bzruser users 51 Apr 12 16:57 README.txt
-rw-r--r-- 1 bzruser users 25 Apr 12 17:01 logme
localhost:/home/archive/bzr # bzr status
unknown:
.bash_history
.bazaar/
.bzr.log
logme
And now, i try to talk to the bzr daemon:
localhost:/home/archive/bzr # bzr log bzr://localhost:22618
bzr: ERROR: Generic bzr smart protocol error: unexpected smart server
error: ("failed to open trace file: [Errno 13] Permission denied:
'/root/.bzr.log'",)
localhost:/home/archive/bzr # su - bzruser
bzruser@austria073:~> bzr log bzr://localhost:22618
bzr: ERROR: Generic bzr smart protocol error: unexpected smart server
error: ("failed to open trace file: [Errno 13] Permission denied:
'/root/.bzr.log'",)
What?s up?!?!
This file exists - but is not available to "bzruser", also even if i
make it readable to "bzruser" the same error occurs :-(
Any idea?
Everything runs fine with a dedicated server ... |
|
2008-12-10 17:39:18 |
Martin Pool |
bzr: statusexplanation |
This was fixed in bzr-1.3 but that is no longer an active milestone.
You can now set the BZR_LOG environment variable to control what log file will be used.
You can also set it to "/dev/null" on linux, or "NUL" on Windows to cause bzr to disable logging completely. |
I'm glad we have the environment variable, but I don't think this is really properly solved by that.
People would expect servers to write to a systemwide log file by default, probably through syslogd on unix, without needing a special setting. The BZR_LOG variable is not mentioned in 'help serve' either. |
|