You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Adam Jensen <ha...@riseup.net> on 2016/04/10 19:29:03 UTC
sqlite[S8]: attempt to write a readonly database
Hi,
I am *very* new to svn. I just set up a server (svnserve, version 1.8.14 (r1692801)) on OpenBSD-5.8.
(See http://daemonforums.org/showpost.php?p=58638&postcount=2).
The repository was created with: doas -u _svn svnadmin create /var/svn/project-A
The server runs as: doas -u _svn svnserve -d -r /var/svn
Directories were created with: svn mkdir svn://minerva.bohemia.net/project-A/{trunk,tags,branches}
Then I did an: svn checkout svn://minerva.bohemia.net/project-A
I copied some files into the new ~/project-A/trunk
Then from ~/project-A/trunk:
svn import bin svn://minerva.bohemia.net/project-A/trunk/bin
Authentication realm: <svn://minerva.bohemia.net:3690> minerva.bohemia.net
Password for 'hanzer': **********
Adding bin/foo.tcl
Adding bin/getem.tcl
Adding bin/update_db.tcl
Committed revision 5.
Warning: post commit FS processing had error:
sqlite[S8]: attempt to write a readonly database
------------------------------------------------
Is this a known problem? I see rep-cache.db might be the problem:
ls -la /var/svn/project-A/db
total 72
drwxr-sr-x 6 _svn _svn 512 Apr 10 13:10 ./
drwxr-xr-x 6 _svn _svn 512 Apr 9 17:35 ../
-rw-r--r-- 1 _svn _svn 2 Apr 10 13:10 current
-r--r--r-- 1 _svn _svn 22 Apr 9 17:35 format
-rw-r--r-- 1 _svn _svn 5 Apr 9 17:35 fs-type
-rw-r--r-- 1 _svn _svn 6838 Apr 9 17:35 fsfs.conf
-rw-r--r-- 1 _svn _svn 2 Apr 9 17:35 min-unpacked-rev
-rw-r--r-- 1 root _svn 3072 Apr 9 17:56 rep-cache.db
drwxr-xr-x 3 _svn _svn 512 Apr 9 17:35 revprops/
drwxr-xr-x 3 _svn _svn 512 Apr 9 17:35 revs/
drwxr-xr-x 2 _svn _svn 512 Apr 10 13:10 transactions/
-rw-r--r-- 1 _svn _svn 2 Apr 10 13:10 txn-current
-rw-r--r-- 1 _svn _svn 0 Apr 9 17:35 txn-current-lock
drwxr-xr-x 2 _svn _svn 512 Apr 10 13:10 txn-protorevs/
-rw-r--r-- 1 _svn _svn 37 Apr 9 17:35 uuid
-rw-r--r-- 1 _svn _svn 0 Apr 9 17:35 write-lock
But those permissions were set up automatically by svn. Is it a reasonable fix to just manually change rep-cache.db permissions or ownership? Or did I make a mistake when setting up the environment?
Re: sqlite[S8]: attempt to write a readonly database
Posted by Nico Kadel-Garcia <nk...@gmail.com>.
On Sun, Apr 10, 2016 at 6:03 PM, Adam Jensen <ha...@riseup.net> wrote:
>
> BTW - doas is a very simple replacement for sudo. https://news.ycombinator.com/item?id=9914693
It's an OpenBSD specific sudo replacement. It does nothing that sudo
does not already do, and writing critical security tools from scratch
to "simplify" them is often a really horrific idea.
Re: sqlite[S8]: attempt to write a readonly database
Posted by Adam Jensen <ha...@riseup.net>.
On Sun, 10 Apr 2016 14:36:09 -0700
Joseph Bruni <jb...@icloud.com> wrote:
> rep-cache couldn't be owned by root unless svnserve was running as root at the time it was last modified. You can change permissions to be correct, but there is some reason root was the UID at the time it was created. I'm not familiar with doas. I'm guessing it is similar to sudo? Maybe doas changes effective UID at odd times?
Thanks for the sanity check, it looks like I might have botched something early in the repository creation. My bad (It was my first time ;)
To verify (with svnserve running as user _svn):
doas -u _svn svnadmin create /var/svn/project-C
doas -u _svn vi /var/svn/project-C/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
realm = minerva.bohemia.net
[sasl]
use-sasl = true
min-encryption = 128
max-encryption = 256
svn mkdir svn://minerva.bohemia.net/project-C/{trunk,tags,branches}
svn checkout svn://minerva.bohemia.net/project-C
Authentication realm: <svn://minerva.bohemia.net:3690> minerva.bohemia.net
Password for 'hanzer': **********
A project-C/tags
A project-C/trunk
A project-C/branches
Checked out revision 1.
cd project-C/trunk
touch foo
svn add foo
svn commit
Authentication realm: <svn://minerva.bohemia.net:3690> minerva.bohemia.net
Password for 'hanzer': **********
Adding foo
Transmitting file data .
Committed revision 2.
ls -la /var/svn/project-C/db
total 72
drwxr-sr-x 6 _svn _svn 512 Apr 10 17:51 ./
drwxr-xr-x 6 _svn _svn 512 Apr 10 17:48 ../
-rw-r--r-- 1 _svn _svn 2 Apr 10 17:51 current
-r--r--r-- 1 _svn _svn 22 Apr 10 17:48 format
-rw-r--r-- 1 _svn _svn 5 Apr 10 17:48 fs-type
-rw-r--r-- 1 _svn _svn 6838 Apr 10 17:48 fsfs.conf
-rw-r--r-- 1 _svn _svn 2 Apr 10 17:48 min-unpacked-rev
-rw-r--r-- 1 _svn _svn 3072 Apr 10 17:51 rep-cache.db
drwxr-xr-x 3 _svn _svn 512 Apr 10 17:48 revprops/
drwxr-xr-x 3 _svn _svn 512 Apr 10 17:48 revs/
drwxr-xr-x 2 _svn _svn 512 Apr 10 17:51 transactions/
-rw-r--r-- 1 _svn _svn 2 Apr 10 17:51 txn-current
-rw-r--r-- 1 _svn _svn 0 Apr 10 17:48 txn-current-lock
drwxr-xr-x 2 _svn _svn 512 Apr 10 17:51 txn-protorevs/
-rw-r--r-- 1 _svn _svn 37 Apr 10 17:48 uuid
-rw-r--r-- 1 _svn _svn 0 Apr 10 17:48 write-lock
All is good. Thanks!
BTW - doas is a very simple replacement for sudo. https://news.ycombinator.com/item?id=9914693
Re: sqlite[S8]: attempt to write a readonly database
Posted by Joseph Bruni <jb...@icloud.com>.
Sent from my iPhone
> On Apr 10, 2016, at 10:29 AM, Adam Jensen <ha...@riseup.net> wrote:
>
> Hi,
>
> I am *very* new to svn. I just set up a server (svnserve, version 1.8.14 (r1692801)) on OpenBSD-5.8.
> (See http://daemonforums.org/showpost.php?p=58638&postcount=2).
>
> The repository was created with: doas -u _svn svnadmin create /var/svn/project-A
> The server runs as: doas -u _svn svnserve -d -r /var/svn
> Directories were created with: svn mkdir svn://minerva.bohemia.net/project-A/{trunk,tags,branches}
>
> Then I did an: svn checkout svn://minerva.bohemia.net/project-A
> I copied some files into the new ~/project-A/trunk
>
> Then from ~/project-A/trunk:
>
> svn import bin svn://minerva.bohemia.net/project-A/trunk/bin
> Authentication realm: <svn://minerva.bohemia.net:3690> minerva.bohemia.net
> Password for 'hanzer': **********
>
> Adding bin/foo.tcl
> Adding bin/getem.tcl
> Adding bin/update_db.tcl
>
> Committed revision 5.
>
> Warning: post commit FS processing had error:
> sqlite[S8]: attempt to write a readonly database
> ------------------------------------------------
>
> Is this a known problem? I see rep-cache.db might be the problem:
>
> ls -la /var/svn/project-A/db
> total 72
> drwxr-sr-x 6 _svn _svn 512 Apr 10 13:10 ./
> drwxr-xr-x 6 _svn _svn 512 Apr 9 17:35 ../
> -rw-r--r-- 1 _svn _svn 2 Apr 10 13:10 current
> -r--r--r-- 1 _svn _svn 22 Apr 9 17:35 format
> -rw-r--r-- 1 _svn _svn 5 Apr 9 17:35 fs-type
> -rw-r--r-- 1 _svn _svn 6838 Apr 9 17:35 fsfs.conf
> -rw-r--r-- 1 _svn _svn 2 Apr 9 17:35 min-unpacked-rev
> -rw-r--r-- 1 root _svn 3072 Apr 9 17:56 rep-cache.db
> drwxr-xr-x 3 _svn _svn 512 Apr 9 17:35 revprops/
> drwxr-xr-x 3 _svn _svn 512 Apr 9 17:35 revs/
> drwxr-xr-x 2 _svn _svn 512 Apr 10 13:10 transactions/
> -rw-r--r-- 1 _svn _svn 2 Apr 10 13:10 txn-current
> -rw-r--r-- 1 _svn _svn 0 Apr 9 17:35 txn-current-lock
> drwxr-xr-x 2 _svn _svn 512 Apr 10 13:10 txn-protorevs/
> -rw-r--r-- 1 _svn _svn 37 Apr 9 17:35 uuid
> -rw-r--r-- 1 _svn _svn 0 Apr 9 17:35 write-lock
>
> But those permissions were set up automatically by svn. Is it a reasonable fix to just manually change rep-cache.db permissions or ownership? Or did I make a mistake when setting up the environment?
rep-cache couldn't be owned by root unless svnserve was running as root at the time it was last modified. You can change permissions to be correct, but there is some reason root was the UID at the time it was created. I'm not familiar with doas. I'm guessing it is similar to sudo? Maybe doas changes effective UID at odd times?