[Bug 294619] www/forgejo: WORK_DIR defaults to /usr/local/share/forgejo, violates hier(7)

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 18 Apr 2026 18:38:28 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294619

            Bug ID: 294619
           Summary: www/forgejo: WORK_DIR defaults to
                    /usr/local/share/forgejo, violates hier(7)
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: des@FreeBSD.org
          Reporter: andy@codeedog.com
          Assignee: des@FreeBSD.org
             Flags: maintainer-feedback?(des@FreeBSD.org)

Version: forgejo 14.0.3, FreeBSD 15.0-RELEASE-p2

The forgejo port sets WORK_DIR = /usr/local/share/forgejo.

Per hier(7), /usr/local/share/ is for architecture-independent static data
(locale files, examples, documentation). Runtime-writable content belongs under
/var/db/ or /var/log/.

Impact:

LOG_ROOT_PATH inherits from WORK_DIR, defaulting to
/usr/local/share/forgejo/log. This directory does not exist after a fresh
install. forgejo doctor check --run paths fails:

[E] Is REQUIRED but is not accessible.
    ERROR: stat /usr/local/share/forgejo/log: no such file or directory

The service runs correctly in console mode (no file logging), but the health
check fails out of the box.

Workaround:

Set ROOT_PATH explicitly in app.ini:

[log]
ROOT_PATH = /var/db/forgejo/log
Suggested fix:

Change the port's default WORK_DIR to /var/db/forgejo. This aligns with hier(7)
and places runtime-writable content under the correct hierarchy. At minimum,
change the default LOG_ROOT_PATH to /var/log/forgejo.

-- 
You are receiving this mail because:
You are the assignee for the bug.