home directory of user apache stops ViewVC from working correctly(only one function, though).

William Zhou armageddonmagic at 163.com
Sun Apr 23 02:31:32 PDT 2006


In the book, apache user is created with the home directory /dev/null. This default setting
works perfect, until I installed ViewVC. It took me a long time to figure it out.

In the function annotate, it throws this exception:

An Exception Has Occurred
Python Traceback

Traceback (most recent call last):
File "/opt/ViewVC-1.0/lib/viewvc.py", line 3609, in main
File "/opt/ViewVC-1.0/lib/viewvc.py", line 386, in run_viewvc
File "/opt/ViewVC-1.0/lib/viewvc.py", line 2164, in view_annotate
generate_page(request, "annotate", data)
File "/opt/ViewVC-1.0/lib/viewvc.py", line 835, in generate_page
template.generate(request.server.file(), data)
File "/opt/ViewVC-1.0/lib/ezt.py", line 326, in generate
self._execute(self.program, ctx)
File "/opt/ViewVC-1.0/lib/ezt.py", line 455, in _execute
step[0](step[1], ctx)
File "/opt/ViewVC-1.0/lib/ezt.py", line 525, in _cmd_for
for unused in iterator:
File "/opt/ViewVC-1.0/lib/ezt.py", line 715, in next
self.last_item = self._iter.next() # may raise StopIteration
File "/opt/ViewVC-1.0/lib/blame.py", line 78, in __getitem__
item = self.annotation.__getitem__(idx)
File "/opt/ViewVC-1.0/lib/vclib/svn/__init__.py", line 503, in __getitem__
raise vclib.Error("Could not parse blame output at line %i\n%s"
Error: Could not parse blame output at line 1
svn: Can't open config file '/dev/null/.subversion/servers'

The last line mentioned something strange. /dev/null is a file and can't be a directory. I guessed
ViewVC just tests whether the home existed or not, and in this case, /dev/null existes. So it looks
for the file, and thus makes the program fails.

A quick fix is to change the home directory of user apache to anything but not files. However, 
I suggested creating an empty directories for it.

William Zhou

More information about the blfs-dev mailing list