haiku/data/system/boot/SetupEnvironment
Oscar Lesta 3af8011358 env vars: move XDG Base Dirs variable exports to SetupEnvironment
This makes sure that apps get access to these variables regardless if
they are started from a shell or from GUI (double-click from Tracker,
desklink, etc).

Fixes #18130.

Change-Id: I82e2884e460fad7d6ec16e7b624c5cd2fcf807df
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5897
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2022-12-13 01:49:55 +00:00

86 lines
2.7 KiB
Plaintext

#
# First we set up a bunch of environment variables that we want everyone
# to inherit
#
export HOME=/boot/home
export LC_CTYPE="en_US.UTF-8"
BUILDHOME=/boot/system/develop
case `uname -m` in
BePC|Intel|unknown)
BE_HOST_CPU=x86
;;
BeMac|BeBox)
BE_HOST_CPU=ppc
;;
*)
BE_HOST_CPU=`uname -m`
esac
# not used by Haiku, but by (legacy) applications (e.g. Pe)
BH=$BUILDHOME/headers
BEINCLUDES="$BH;$BH/be;$BH/posix;$BH/glibc;$BH/cpp;$BH/be/app;$BH/be/device;$BH/be/interface;$BH/be/locale;$BH/be/media;$BH/be/midi;$BH/be/midi2;$BH/be/net;$BH/be/kernel;$BH/be/storage;$BH/be/support;$BH/be/game;$BH/be/opengl;$BH/be/drivers;$BH/gnu;$BH/be/mail;$BH/be/translation;$BH/be/devel;$BH/be/add-ons/graphics;$BH/be/be_apps/NetPositive;$BH/be/be_apps/Tracker"
export BUILDHOME
export BEINCLUDES
export BE_HOST_CPU
if [ "$SAFEMODE" != "yes" ]; then
export PATH=.:$HOME/config/non-packaged/bin:$HOME/config/bin:/boot/system/non-packaged/bin:/bin:/boot/system/apps:/boot/system/preferences
export LIBRARY_PATH="%A/lib:$HOME/config/non-packaged/lib:$HOME/config/lib:/boot/system/non-packaged/lib:/boot/system/lib"
export ADDON_PATH="%A/add-ons:$HOME/config/non-packaged/add-ons:$HOME/config/add-ons:/boot/system/non-packaged/add-ons:/boot/system/add-ons"
else
export PATH=.:/bin:/boot/system/apps:/boot/system/preferences
export LIBRARY_PATH="%A/lib:/boot/system/lib"
export ADDON_PATH="%A/add-ons:/boot/system/add-ons"
fi
# Locale
export LC_MESSAGES=`locale --message`
export LC_NUMERIC=`locale --format`
export LC_TIME=`locale --time`
export LC_COLLATE=$LC_MESSAGES
export LC_CTYPE=$LC_MESSAGES
export LC_MONETARY=$LC_NUMERIC
if [ "$SAFEMODE" != "yes" ]; then
if [ -f $HOME/config/settings/boot/UserSetupEnvironment ]; then
. $HOME/config/settings/boot/UserSetupEnvironment
fi
fi
export USER=`id -un`
export GROUP=`id -gn`
#
# Haiku setup for
# XDG Base Directory Specification
#
# http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
# defaults to ~/.config
export XDG_CONFIG_HOME="`finddir B_USER_SETTINGS_DIRECTORY`"
# defaults to ~/.local/share
export XDG_DATA_HOME="`finddir B_USER_NONPACKAGED_DATA_DIRECTORY`"
# defaults to /etc/xdg
export XDG_CONFIG_DIRS="`finddir B_SYSTEM_SETTINGS_DIRECTORY`"
# XXX: Should we add B_USER_ETC_DIRECTORY?
# default to /usr/local/share/:/usr/share/
export XDG_DATA_DIRS="`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY`:\
`finddir B_SYSTEM_DATA_DIRECTORY`"
# defaults to ~/.cache
export XDG_CACHE_HOME="`finddir B_USER_CACHE_DIRECTORY`"
# TODO:
# This one is used for session stuff (sockets, pipes...)
# It must be owned by the user, with permissions 0700.
# It is supposed to be cleaned up on last log-out.
# Apps will fall back to /tmp usually anyway.
#export XDG_RUNTIME_DIR="`finddir B_USER_VAR_DIRECTORY`/tmp"