More work on creation and deployment of SFS files
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:
https://askubuntu.com/questions/913812/libreoffice-stopped-working-in-ubuntu-17-04
...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.
EDIT:
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!...
#LD_LIBRARY_PATH="/usr/lib/libreoffice/program:${LD_LIBRARY_PATH}"
#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
fi
fi
...haven't tested it yet, but it looks OK.
Tags: easy