RPM - spec - Directory Standarization
FHS structure is making me crazy and I need to write down things since I forget how that FHS craziness works.
USR Directory
$XDG_DATA_DIRS (default: "/usr/local/share/:/usr/share/"): precedence-ordered set of system data directories. $XDG_CONFIG_DIRS (default: "/etc/xdg"): precedence-ordered set of system configuration directories.
Where | Name 1 | SPECS (RPM) | Comments |
---|---|---|---|
@unixroot/usr/bin | Binaries | %{_bindir} | EXE files goes here |
@unixroot/usr/lib | Libraries | %{_libdir} | DLL files goes here |
@unixroot/usr/share/ | DataDir | %{_datadir} | Any apps files goes here. Images, sounds, etc. |
@unixroot/usr/share/doc/ | %doc | TXT files goes here | |
@unixroot/usr/share/man | %{_mandir} | MAN files goes here | |
@unixroot/usr/share/os2/help | HLP Files here |
HOME Directory
Your application should store and load data and configuration files to/from the directories pointed by the following environment variables:
$XDG_DATA_HOME (default: "$HOME/.local/share"): user-specific data files. $XDG_CONFIG_HOME (default: "$HOME/.config"): user-specific configuration files. $XDG_CACHE_HOME (default: "$HOME/.cache"): user-specific non-essential data files.
You should first determine if the file in question is:
A configuration file ($XDG_CONFIG_HOME:$XDG_CONFIG_DIRS); A data file ($XDG_DATA_HOME:$XDG_DATA_DIRS); or A non-essential (cache) file ($XDG_CACHE_HOME).
VAR
Where | Name 1 | SPECS (RPM) | Comments |
---|---|---|---|
@unixroot/var/tmp | %{_tmppath} | Temporary Path | |
@unixroot/var | %{_var} | var pat |
OTHERS
Where | Name 1 | SPECS (RPM) | Comments |
---|---|---|---|
C:PROGRAMS | %{env:PROGRAMS} | Brings the variable from "SET PROGRAMS=" withoout the backslash | |
C:\PROGRAMS | $PROGRAMS | Brings the variable from "SET PROGRAMS=", full path. |