1. If I say "fossil ui" and the browser starts successfully and then
exits, Fossil should exit, too. It should arguably exit even if it
fails to start the browser, since you asked for a UI and it couldn't
provide one.
I gather that it behaves the way it currently does because "fossil
server" was added later, and before that point, "fossil ui" was the only
way to get Fossil to act as a web server. That makes this "stay
running" behavior of "fossil ui" vestigial now, no? If I want Fossil to
remain running to provide network service, I should use "fossil server"
not "fossil UI", right?
2a. It would be nice if "fossil server" had a "-A address" flag to make
it bind to a particular network interface, for use on multihomed
machines. We would like to use a machine with multiple IP aliases have
www.foo.com and fossil.foo.com in DNS, with Apache and Fossil both bound
to port 80 but on different IPs.
2b. It would also be nice to be able to set the HTTP_SERVER_LOCALHOST
internal flag with, say, "fossil server -L", so that if you are proxying
access to Fossil, Fossil's listening port isn't directly accessible on
external network interfaces.
3. The enter_chroot_jail() stuff seems to be broken. I get this in the
browser if I try to run "fossil server" as root:
SQLITE_CANTOPEN: cannot open file at line 28175 of [7e10a62d0e]
SQLITE_CANTOPEN: os_unix.c:28175: (2) open(/server.fossil-journal) - No such
file or directory
SQLITE_CANTOPEN: statement aborts at 25: [INSERT INTO
config(name,value,mtime)VALUES('baseurl:http://mongo:82',1,now())]
Database Error
unable to open database file: {INSERT INTO
config(name,value,mtime)VALUES('baseurl:http://mongo:82',1,now())}
If you have recently updated your fossil executable, you might need to run "fossil
all rebuild" to bring the repository schemas up to date.
I guess someone has messed up the order of operations here, so that the
DB isn't open by the time it tries this, hence why the DB's journal
doesn't yet exist. It's probably a good thing for the DB to not be
opened until after root privileges are dropped.
The only reason I'm trying to run Fossil as root is so I can bind it to
port 80, without using a reverse proxy.
I've tried both v1.24 and the fossil trunk:
This is fossil version 1.25 [646c4a67f9] 2013-02-19 12:29:39 UTC
4. It would be nice if Fossil would probe for the existence of X11 on
*ix type systems before attempting to start the browser. The code in
this question should work:
http://stackoverflow.com/questions/637005/x-server-running
I mention it because I'm writing a script that calls either "fossil ui"
or "fossil server" depending on whether a GUI is available. Checking
$DISPLAY isn't good enough because my Windows SSH client sets that
variable regardless of whether I have X running. (X sometimes *is*
running on the Windows box. Just not all the time.) So, Firefox tries
to run on my Linux server, thinking it can display on my Windows box, so
my SSH client spams me with errors that it could not forward packets to
the local X server until Firefox gives up and dies.
Fossil should check that $DISPLAY exists first, of course, so it doesn't
get confused on Cygwin and Mac systems, where it may find X libraries at
configure time, but where X is often not running.
I'm currently hacking around this in my script by attempting "xterm -e
exit" before "fossil ui", since that results in only *one* error when X
isn't running.
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users