Bug#1121644: luanti-server: Add support for /usr/local/ for user provided content
Tobias Frost
tobi at debian.org
Sun Feb 1 11:20:11 GMT 2026
Package: luanti-server
Followup-For: Bug #1121644
Control: tags -1 wontfix
Control: close -1
Hi Chris,
Hi,
thanks for the suggestion.
> In order to ensure a clean separation between debian provided games/mods and user provided games/modes, I suggest the following:
>
> * User provided /usr/local/share/luanti/{games,mods}
> * Debian provided /usr/share/luanti/{games,mods}
I agree with the goal of clearly separating Debian-managed content from
locally provided mods and games. However, using /usr/local as a
supported search path in the Debian package is problematic from a policy
perspective.
According to the Filesystem Hierarchy Standard and Debian Policy,
/usr/local is reserved exclusively for software and data installed by
the local administrator and must remain outside the scope of Debian
packages. While Debian packages must not install files into /usr/local,
they also should not define /usr/local as part of their intended runtime
behaviour or interface. Adding /usr/local/share/luanti to the default
search paths would effectively make /usr/local a supported extension
directory of the package, which blurs the boundary Debian tries to
maintain between packaged and purely local software.
Even though the proposal is "optional", it still means that the packaged
luanti-server would change behaviour based on unmanaged filesystem
state. This makes it harder to reason about responsibility and support:
files under /usr/local are not tracked by dpkg, yet the package would
implicitly treat them as first-class mods.
Moreover, luanti already provides a policy-compliant mechanism to
achieve the desired flexibility. Mod and game paths can be overridden
via configuration in:
/etc/luanti/<game-instance>.env
This allows administrators to add arbitrary directories (including
/usr/local if they explicitly choose to do so) without hardcoding
/usr/local into the Debian package itself. In other words, the
separation between Debian-provided and locally provided content can
already be achieved in a configurable and explicit way, without
violating Debian’s conventions around /usr/local.
From a Debian packaging point of view, the following locations remain
appropriate:
* /usr/share/luanti/... for Debian-packaged games and mods,
* /var/lib/luanti/... for locally managed, persistent server data or
extensions,
* per-user directories (e.g. ~/.local/share/...) for user-installed
mods.
Given this, I think it is better not to add /usr/local/share/luanti to
the default search paths in the Debian package. Administrators who want
to use /usr/local can already do so via configuration, while the package
itself stays within Debian Policy and preserves a clear separation of
responsibilities.
--
tobi
More information about the Pkg-games-devel
mailing list