site  contact  subhomenews

More work on creation and deployment of SFS files

June 06, 2022 — BarryK

There have been lots of little changes and fixes, mostly scripts in /usr/local/sfsget and /usr/local/easy_containers.

I mentioned in a recent post, that Easy Bookworm need not be released as a standalone build. It could be released as an SFS file, able to be run in a container in Easy Dunfell.

Following this train of thought, I have made available Easy Pyro and Easy Buster German and French SFSs, as well as English. Previously, I have only made English SFSs available, though for application SFSs have endeavoured to include all the locale files. New SFSs not yet uploaded.

Lots of little changes and fixes, too small to try and explain. One thing though, worth mentioning, as I don't know if there will be a downside to my fix:

Testing Easy Buster 2.6.2 running as a desktop in a container, I found that the LibreOffice apps wouldn't start. Lots of online reports about this, with a fix, for example here:

...the fix is to export this:

export LD_LIBRARY_PATH="/usr/lib/libreoffice/program:${LD_LIBRARY_PATH}"

I don't use that variable in the main filesystem, but do set it in the 'start-container' script. As commented in that link, the path to the Libreoffice shared libraries must come first, which does indicate that some other system library, if discovered first, is causing the crash. But that then raises the question, what about other apps that use that other system library, if the one in libreoffice is discovered first?

I have hard-coded that fix into the 'start-container' script, but not sure if that is wise. It might be better to try and find a way to only apply the fix when launching a libreoffice app.

Besides, I think the problem only existed with earlier versions of libreoffice, back around 2017.

I have applied the modified LD_LIBRARY_PATH to only libreoffice. /usr/local/easy_containers/start-container has this code inserted:

 #20220607 easy buster, lo javaldx wouldnt start, hack fix...
if [ -d /usr/lib/libreoffice/program ];then
#it has to be first!...
#no, do it this way...
grep -q '^#!/bin/sh' /usr/lib/libreoffice/program/soffice
if [ $? -eq 0 ];then
sed -i -e 's%^esac%\*)\nLD_LIBRARY_PATH="/usr/lib/libreoffice/program${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"\nexport LD_LIBRARY_PATH\n;;\nesac%' /usr/lib/libreoffice/program/soffice

...haven't tested it yet, but it looks OK.   

Tags: easy