diff options
| author | Christian Breunig <christian@breunig.cc> | 2026-09-16 18:35:02 +0000 |
|---|---|---|
| committer | Christian Breunig <christian@breunig.cc> | 2026-09-16 18:35:02 +0000 |
| commit | 3996c92edf3eb09486edc7e053abc1ef13bcd189 (patch) | |
| tree | eaa0093083f9d63c1470c8b53fb73d31539a7091 /src | |
| parent | 28207a3068fd23d73c93cda806ed3757f9651a5f (diff) | |
| download | vyos-1x-3996c92edf3eb09486edc7e053abc1ef13bcd189.tar.gz vyos-1x-3996c92edf3eb09486edc7e053abc1ef13bcd189.zip | |
lcd: T9014: resolve the LCDd driver path at runtime
The LCDd driver modules are shipped in the architecture dependent
multiarch library directory, but the template hardcoded the x86_64
path. On arm64 this pointed LCDd at a directory that does not exist,
so no driver could be loaded.
Derive the multiarch triplet at runtime and render it into LCDd.conf
instead of assuming x86_64.
Diffstat (limited to 'src')
| -rwxr-xr-x | src/conf_mode/system_lcd.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/conf_mode/system_lcd.py b/src/conf_mode/system_lcd.py index 1e97414dc..c9c30d2cc 100755 --- a/src/conf_mode/system_lcd.py +++ b/src/conf_mode/system_lcd.py @@ -15,6 +15,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. import os +import sysconfig from sys import exit @@ -60,6 +61,10 @@ def generate(lcd): if 'device' in lcd: lcd['device'] = find_device_file(lcd['device']) + # LCDd driver modules are installed into the architecture dependent + # multiarch library path - resolve it at runtime + lcd['driver_path'] = f'/usr/lib/{sysconfig.get_config_var("MULTIARCH")}/lcdproc/' + # Render config file for daemon LCDd render(lcdd_conf, 'lcd/LCDd.conf.j2', lcd) # Render config file for client lcdproc |
