diff --git a/packages/sysutils/systemd/package.mk b/packages/sysutils/systemd/package.mk index d9b285557b..6f2623ee84 100644 --- a/packages/sysutils/systemd/package.mk +++ b/packages/sysutils/systemd/package.mk @@ -205,6 +205,7 @@ post_makeinstall_target() { cp $PKG_DIR/scripts/systemd-machine-id-setup $INSTALL/usr/bin cp $PKG_DIR/scripts/userconfig-setup $INSTALL/usr/bin cp $PKG_DIR/scripts/usercache-setup $INSTALL/usr/bin + cp $PKG_DIR/scripts/environment-setup $INSTALL/usr/bin # use systemd to set cpufreq governor and tunables find_file_path scripts/cpufreq && cp -PRv $FOUND_PATH $INSTALL/usr/bin @@ -217,6 +218,7 @@ post_makeinstall_target() { # /etc/resolv.conf and /etc/hosts must be writable ln -sf /run/libreelec/resolv.conf $INSTALL/etc/resolv.conf ln -sf /run/libreelec/hosts $INSTALL/etc/hosts + ln -sf /run/libreelec/environment $INSTALL/etc/environment # provide 'halt', 'shutdown', 'reboot' & co. ln -sf /usr/bin/systemctl $INSTALL/usr/sbin/halt @@ -276,6 +278,7 @@ post_install() { enable_service debugconfig.service enable_service userconfig.service enable_service usercache.service + enable_service envconfig.service enable_service kernel-overlays.service enable_service hwdb.service enable_service cpufreq.service diff --git a/packages/sysutils/systemd/scripts/environment-setup b/packages/sysutils/systemd/scripts/environment-setup new file mode 100755 index 0000000000..b5121928df --- /dev/null +++ b/packages/sysutils/systemd/scripts/environment-setup @@ -0,0 +1,16 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) + +# read config files +for config in /etc/profile.d/*; do + if [ -f "$config" ] ; then + . $config + fi +done + +# generate system-wide environment file +cat </run/libreelec/environment +PATH=${PATH} +LD_LIBRARY_PATH=${LD_LIBRARY_PATH} +EOF diff --git a/packages/sysutils/systemd/system.d/envconfig.service b/packages/sysutils/systemd/system.d/envconfig.service new file mode 100644 index 0000000000..83f3cfdfa1 --- /dev/null +++ b/packages/sysutils/systemd/system.d/envconfig.service @@ -0,0 +1,12 @@ +[Unit] +Description=Generate system-wide /etc/environment file +DefaultDependencies=no +After=systemd-tmpfiles-setup.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/environment-setup +RemainAfterExit=yes + +[Install] +WantedBy=sysinit.target