Hi

I have an OS X Server (v5.1 on OS X v10.11.5) and an OS X v10.11.5 client

The server provides home directories via AFP and SMB

The client mounts them.

I am the only user of the system.


Using the fossil OS X binary v1.35 provided at fossil-scm.org in a networked 
home directory provided over AFP, I am unable to create a new fossil repository

% fossil init test01.fossil

SQLITE_IOERR: statement aborts at 1: [BEGIN EXCLUSIVE] disk I/O error

SQLITE_IOERR: disk I/O error

/Users/Shared/bin/fossil: disk I/O error

(The fossil binary is at the above path, the new repository is my home 
directory)
For comparison with what follows

% fossil sqlite --no-repository

SQLite version 3.13.0 2016-05-18 10:57:30

Enter ".help" for usage hints.

Connected to a transient in-memory database.

Use ".open FILENAME" to reopen on a persistent database.

sqlite>  pragma compile_options;

ENABLE_DBSTAT_VTAB

ENABLE_FTS3

ENABLE_FTS3_PARENTHESIS

ENABLE_FTS4

ENABLE_FTS5

ENABLE_JSON1

LIKE_DOESNT_MATCH_BLOBS

OMIT_DEPRECATED

OMIT_LOAD_EXTENSION

SYSTEM_MALLOC

THREADSAFE=0

sqlite>

Yet with the sqlite3 provide with OS X I can create and access sqlite databases 
with out problem.
That sqlite3 appears to be compiled thusly

% sqlite3

SQLite version 3.8.10.2 2015-05-20 18:17:19

Enter ".help" for usage hints.

Connected to a transient in-memory database.

Use ".open FILENAME" to reopen on a persistent database.

sqlite> pragma compile_options;

ENABLE_API_ARMOR

ENABLE_FTS3

ENABLE_FTS3_PARENTHESIS

ENABLE_LOCKING_STYLE=1

ENABLE_RTREE

ENABLE_UPDATE_DELETE_LIMIT

OMIT_AUTORESET

OMIT_BUILTIN_TEST

OMIT_LOAD_EXTENSION

SYSTEM_MALLOC

THREADSAFE=2

sqlite>


The same behavior occurs with SMB mounting.  I've not yet got NFS setup to test.

Also in a non-networked home directory I can create a new repository without 
problem.


QUESTION 1:  Is there a setting that will allow fossil-binary-as-provided to 
work on AFP or SMB, command line, environment variable, or something?

QUESTION 2:  Is there a way I can compile fossil so that it will run on AFP or 
SMB, even if unsafe?

QUESTION 3:  How unsafe is it?  If I am the only user of the system and I am 
only ever accessing the repository with one process from one location, is it 
still unsafe?  (I'm assuming this means not accessing via the command line when 
the web service is run, and vis versa as that would be two processes with 
simultaneous access).

QUESTION 4:  If it can be made to work, if I have two separate repositories in 
the same account, am I limited to working with only one of them at a time 
because all runs of fossil will try to access the global fossil settings and 
that would be catastrophic?


Searching fossil-users has not turned up anything useful.
Web search show mostly unhappiness with AFP and SMB locking service, but mostly 
in the context of multiple simultaneous access to a repository
Searching the SQLite build documentation and Fossil build documentation has not 
enlightened me, perhaps because I don't understand what I'm seeing, and there 
does not appear to be much on the topic, except (1) there is a way to make 
SQLite work on AFP and (2) a fascinating description of locking issues.  I'm 
guessing ENABLE_LOCKING_STYLE=1 is important, but is that all?, and how to 
implement when building fossil?

Thanks in advance for any pointer or hints.

Regards,
tco2

_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to