I'm currently stuck on a shared web host running FreeBSD 9.1 without
any C compilers available. I'm still able to run the latest version of
Fossil from [0] with some quirks (see bottom if you're interested in
details).

[0] http://pkg.freebsd.org/

I have created an extra CGI script to start playing with Fossil 2.1,
and decided to offload the CGI options from the former CGI script to a
separate control file (named `fossil.config`), i.e. from:

#!./fossil
directory: ../.data/fossil
...

to:

#!./fossil cgi fossil.config

Like this, the two CGI scripts for Fossil 1.x and Fossil 2.1 can share
the same CGI server setup.

However, I noticed that my custom `fossil.config` file was not loaded
with the above CGI script, but only this version worked:

#!./fossil fossil.config

The CGI script name is appended as an extra argument to the shebang
command line, and Fossil refuses to read the control file if the "CGI"
command is followed by more than one argument [1]. The fallback is to
use `g.argv[1]` in this case.

[1] http://fossil-scm.org/index.html/artifact/5105d4bc1b?ln=1834

If I may I would like to suggest that the control file passed to the
"CGI" command be read even if there's additional command line
arguments following, so it works the same as if the "CGI" command was
omitted (and CGI mode was triggered by the GATEWAY_INTERFACE
environment variable). I feel that explicitly passing the "CGI"
command followed by the control file (as documented in the Fossil
help) is better for later reference and script maintenance than
relying on the "Fossil thinks it's reading its own CGI script but I
tricked it" fallback.

----

To get Fossil 2.1 running on my FreeBSD 9.1 shared host, I downloaded
Fossil 2.1 and the OpenSSL libraries for FreeBSD 11 from [0], and
grabbed a copy of libc.so.7 from a FreeBSD 11 ISO image (for
`strchrnul`). These files were saved in a separate ./fossil2
directory, and the symlinks libcrypto.so.9 -> libcrypto.so.7 and
libssl.so.9 -> libssl.so.7 created. Now Fossil 2.1 works fine with the
following one-line CGI script:

#!/usr/bin/env -S LD_LIBRARY_PATH=fossil2 fossil2/fossil fossil.config

I'm always amazed about the simplicity and modest system requirements
of Fossil, thanks for this masterpiece!

--Florian
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to