Skip to content

Switch to Filesystem Hierarchy Standard (FHS) compliant installation on Linux#1477

Open
awawa-dev wants to merge 4 commits intomasterfrom
FHS
Open

Switch to Filesystem Hierarchy Standard (FHS) compliant installation on Linux#1477
awawa-dev wants to merge 4 commits intomasterfrom
FHS

Conversation

@awawa-dev
Copy link
Owner

@awawa-dev awawa-dev commented Mar 10, 2026

This PR migrates the Linux installation layout to fully comply with the Filesystem Hierarchy Standard (FHS):

  • Binaries → ${CMAKE_INSTALL_BINDIR}
  • Libraries & bundled dependencies → ${CMAKE_INSTALL_LIBDIR}/hyperhdr
  • Data files, icons, .desktop, web resources → ${CMAKE_INSTALL_DATADIR}/hyperhdr
  • Systemd service template → /usr/lib/systemd/system

The package can be build now without external lib dependencies:

  • ENABLE_DEPENDENCY_PACKAGING ON/OFF for CMAKE
  • or INCLUDE_DEP_LIB for build.sh script

Main changes:

  • Use GNUInstallDirs consistently
  • Replace hardcoded paths with relative ones
  • Install systemd service correct location
  • Remove support for sysV/upstart/initctl (systemd-only)
  • Drop deprecated Berryboot detection
  • Improve IP detection in install scripts
  • Clean up unnecessary files and old init scripts

No breaking changes for default /usr prefix. Custom prefixes (e.g. /opt) now work correctly without manual intervention.

Tested on: Debian, Fedora, Arch, Raspberry Pi.

@awawa-dev awawa-dev force-pushed the FHS branch 8 times, most recently from d90ff47 to 6af2daa Compare March 10, 2026 17:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant