Fossil

View Ticket
Login

View Ticket

2011-07-19
23:29 Fixed ticket [675f36eac4]: "/doc/ckout" doesn't work under chroot plus 1 other change ... (artifact: 7e9c2ec625 user: drh)
23:29
Allow the root of a check-out to be in the root of the filesystem. Ticket [675f36eac4902cf] ... (check-in: b317471d8c user: drh tags: trunk)
2011-07-09
02:13 New ticket [675f36eac4] "/doc/ckout" doesn't work under chroot. ... (artifact: 95c5245dbc user: anonymous)

Ticket Hash: 675f36eac4902cfb5b4602059281e19adedce4b1
Title: "/doc/ckout" doesn't work under chroot
Status: Fixed Type: Code_Defect
Severity: Important Priority:
Subsystem: Resolution: Fixed
Last Modified: 2011-07-19 23:29:14
Version Found In: e50813e19b5adaafc8c58716586ddcf5d9720272
Description:
"/doc/ckout" fails when running under forced chroot (because fossil is running as root). Failure happens inside doc_page, when trying to do db_open_local --> thus "ckout" is always converted to "tip" instead.

db_open_local fails because file_getcwd (which is just a wrapper for getcwd) always return "/" under chroot, thus db_open_local cannot locate the _FOSSIL_ database.

Observed when running fossil as root, using "fossil server" command from within a checkout directory, from the versions available on the official download page (May 28 and May 23), as well as latest version as of today - the bug probably originates much earlier.

Workaround: If I disabled enter_chroot_jail (by returning zRepo immediately) - ckout works.

cheers!