EasyOS Dunfell version 2.7 released
Throughout 2020 and early 2021, the flagship releases of EasyOS
were the "Buster series", built with DEB packages from Debian Buster
10.x. There were also releases of the "Dunfell series", compiled from
source in a port of OpenEmbedded, that took a back-seat.
Now, EasyOS Dunfell version 2.7 has the driver's seat and is the
flagship release. Almost all of the packages are compiled in a port of
OpenEmbedded, with the exception of a few large and
difficult-to-cross-compile packages, such as LibreOffice and SeaMonkey
-- these were compiled in the running EasyOS 2.7 pre-release.
LibreOffice and SeaMonkey are the latest versions, 7.1.2.2 and
2.53.7. Network management has been enhanced with ModemManager, which
NetworkManager Applet and ModemManage GUI are frontends for.
NetworkManager Applet is an icon in the systray and ModemManager GUI is
in the "Network" menu. The Linux kernel is 5.10.26.
There have been some significant bug fixes since the previous release
of EasyOS, including faster startup of a Linux distribution desktop in a
container (without wallpaper corruption), Osmo stability, and the
XorgWizard previously causing X not to start.
EasyOS is released as an image file, that you would normally write to
a USB Flash stick, and it will automatically resize to fill the drive
at first bootup. Or, it is possible to install directly into a hard
drive, without even having booted first from USB stick. There are builds
for English, French, German and Norwegian (both nb and nn), which are
fully translated ready-to-go.
Please read the Release Notes for more details:
http://distro.ibiblio.org/easyos/amd64/releases/dunfell/2.7/release-notes-2.7.htm
Download from here:
http://distro.ibiblio.org/easyos/amd64/releases/dunfell/2.7/
At the time of writing, not there yet, but expect mirrored here:
https://ftp.nluug.nl/os/Linux/distr/easyos/amd64/releases/dunfell/
If you need help with installing:
http://distro.ibiblio.org/easyos/amd64/releases/dunfell/2.7/readme.htm
You are welcome at the EasyOS section hosted on the Puppy Linux Forum:
https://forum.puppylinux.com/viewforum.php?f=63
If you are new to EasyOS and want to know about differences from other Linux distributions, read this:
https://easyos.org/about/how-and-why-easyos-is-different.html
Have fun!
Developer notes
For any interested developers, the port of OpenEmbedded is available
as a tarball. Currently not as an online repository. The snapshot that
was used to compile the packages for EasyOS 2.7:
http://distro.ibiblio.org/easyos/project/oe/dunfell/dunfell-20210414.tar.gz
http://distro.ibiblio.org/easyos/project/oe/dunfell/md5sums.txt
WoofQ is the EasyOS builder system, also available as a tarball:
http://distro.ibiblio.org/easyos/project/woof/woof-project-20210414.tar.gz
http://distro.ibiblio.org/easyos/project/woof/md5sums.txt
Bugs
Only one buglet know so far: Inkscape entry in the "Graphic" section
of the menu is missing its icon. That one snuck
through.
Tags: easy
Dependencies to compile modem-manager-gui
I posted a couple of days ago, that compiled dependencies for
LibreOffice in OpenEmbedded, but compile LO itself in a running EasyOS. I
am going to do the same with 'modem-manager-gui', as have found it to
be cross-compiler-unfriendly.
Actually, it only seems to be the usage of po4a that is unfriendly,
so I could probably hack on it. But decided to take the easy path and
compile in a running Easy.
ModemManager GUI is a gtk+3 frontend to 'modemmanager'.
NetworkManager has 'modemanager' as an optional dependency, and Easy
has 'networkmanager-applet' in the tray -- so I suppose there is some
kind of 3G/4G/LTE modem functionality supported by NetworkManager.
ModemManager GUI is another frontend. I don't know anything about it, except what have read on the project page:
https://sourceforge.net/projects/modem-manager-gui/
...interesting, the possibility of sending SMSs.
The package 'modem-manager-gui' has all required dependencies in
Easy, however to compile requires 'po4a', which is a perl script. I have
built it in OpenEmbedded, and it required all of these packages:
po4a
liblocale-gettext-perl
libmime-charset-perl
libsombok3
libterm-readkey-perl
libtext-charwidth-perl
libtext-wrapi18n-perl
libunicode-linebreak-perl
...libsombok3 is not perl, it is a shared library.
These will be in the next build of Easy, in the "devx" SFS, and I
intend to compile 'modem-manager-gui' in the running Easy.
Tags: easy
Fix for menu font size in LibreOffice
This morning posted how LibreOffice was compiled in EasyOS:
https://bkhome.org/news/202104/how-to-compile-libreoffice-in-easyos.html
...and mentioned that menu font size is a bit small.
Well, that is the case for all gtk+3 applications, compared with
gtk+2 apps. The reason is, Easy is released with a theme set for gtk+2
apps, but no theme set for gtk+3 apps. So gtk+3 apps use the default
theme built-in to gtk+3.
Currently, the file /root/.config/gtk-3.0/settings.ini has this in it:
[Settings]
gtk-theme-name =
# ref: https://bkhome.org/news/202010/oe-gcc-target-default-commandline-options.html
gtk-primary-button-warps-slider = false
...no theme specified. The default gtk+2 theme has font "DejaVu Sans 12", so have appended this to settings.ini:
gtk-font-name = DejaVu Sans 12
That does the trick. Ideally though, should have a theme that matches the one chosen for gtk+2.
Tags: easy
How to compile LibreOffice in EasyOS
Yesterday I posted about dependencies of LibreOffice compiled in OpenEmbedded:
https://bkhome.org/news/202104/dependencies-for-libreoffice-compiled-in-oe.html
last night, compiled LO in latest running EasyOS. LO automatically
downloads any extra source packages that it needs. This is what it
downloaded:
0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz
5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz
box2d-2.3.1.tar.gz
dtoa-20180411.tgz
f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf
Firebird-3.0.0.32483-0.tar.bz2
libepubgen-0.1.1.tar.xz
libnumbertext-1.0.7.tar.xz
liborcus-0.16.1.tar.bz2
libqxp-0.0.2.tar.xz
libstaroffice-0.0.7.tar.xz
libzmf-0.0.2.tar.xz
mariadb-connector-c-3.1.8-src.tar.gz
pdfium-4306.tar.bz2
QR-Code-generator-1.4.0.tar.gz
skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz
...don't know why it downloaded 'hyphen', as have that as a system library.
I had manually downloaded this beforehand:
libreoffice-translations-7.1.2.2.tar.xz
Woof-CE has "petbuilds", scripts for compiling source packages and
creating PETs. I would like to introduce this into woofQ, so thinking
about automating the build of LO. This is how I did it, not yet a
complete PET-build, needs more fleshing out, but this is a start, just
notes documenting that I did:
# mkdir -p tarballsNote, when ran it, menu fonts are a bit small. Will need to find how to preset that a bit bigger.
# tar -xf libreoffice-7.1.2.2.tar.xz --no-overwrite-dir
# cd libreoffice-7.1.2.2
# ln -s ../../tarballs external/tarballs
copy the translation tarball into external/tarballs
# export LO_PREFIX=/usr
fixes (from linuxfromscratch):
# sed -e "/gzip -f/d" -e "s|.1.gz|.1|g" -i bin/distro-install-desktop-integration
# sed -e "/distro-install-file-lists/d" -i Makefile.in
easyos 2.6.3 has these compiled in oe:
hyphen libabw libcdr libcmis libe-book libetonyek libexttextcat libfreehand libgltf
liblangtag libmspub libmwaw libodfgen libpagemaker librevenge libvisio libwpd libwpg
libwps lpsolve mdds-1.2 mdds-1.5 mythes rasqal redland vigra
# ./configure --without-fonts --without-krb5 --build=x86_64-pc-linux-gnu --prefix=/usr \
--exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec \
--datadir=/usr/share --sysconfdir=/etc --sharedstatedir=/com --localstatedir=/var \
--libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/include \
--infodir=/usr/share/info --mandir=/usr/share/man --without-doxygen \
--enable-release-build --with-parallelism=4 --without-java --disable-coinmp \
--with-tls=nss --without-galleries --disable-gstreamer-1-0 --disable-avahi \
--disable-odk --disable-postgresql-sdbc --with-system-libs --without-system-clucene \
--without-system-xmlsec --without-system-libepubgen --without-system-libqxp \
--without-system-libzmf --without-system-libstaroffice --without-system-odbc \
--without-system-orcus --without-system-libnumbertext --without-system-mariadb \
--without-system-firebird --without-system-qrcodegen --without-system-altlinuxhyph \
--with-lang="en-GB fr de nn nb" --with-locales="en fr de nn nb" --with-theme=colibre \
--disable-scripting-javascript --disable-scripting-beanshell --disable-lotuswordpro \
--disable-ccache --enable-cups --disable-vlc --disable-qt5 --disable-sdremote \
--disable-dbus --enable-python=no --disable-debug --disable-evolution2 \
--enable-pdfimport --enable-lpsolve --disable-report-builder --enable-firebird-sdbc \
--with-system-neon --without-system-box2d
edit Makefile:
# sed -i -e 's%^check-if-root:%check-if-root:\n\ncheck-if-rootXXX:%' Makefile
# make build-nocheck
At failure, just did this together, and it then continued to completion:
# mkdir icon-themes/export
# touch workdir/CustomTarget/postprocess/images/colibre_links.txt.tmp
# touch workdir/CustomTarget/postprocess/images/export_links.txt.tmp
# make build-nocheck
this does not work...
# make distro-pack-install
however, folder 'instdir' has everything we need, for target /usr/lib/libreoffice
for target /usr/share, look in folder 'sysui'
need to strip binaries in 'program' folder, used --strip-unneeded
usr/lib/libreoffice/share/config/images_colibre.zip looks ok, deleted images_export.zip
Automate the install:
D="../libreoffice-7.1.2.2-dunfell64"
[ -d $D ] && rm -rf ./${D}
mkdir $D
mkdir -p ${D}/usr/lib
cp -a instdir ${D}/usr/lib/libreoffice
rm -rf ${D}/usr/lib/libreoffice/sdk
rm -f ${D}/usr/lib/libreoffice/share/config/images_export.zip
mkdir -p ${D}/usr/share
cp -a sysui/desktop/appstream-appdata ${D}/usr/share/appdata
mkdir -p ${D}/usr/share/icons/hicolor
cp -a sysui/desktop/icons/hicolor/48x48 ${D}/usr/share/icons/hicolor/
cp -a sysui/desktop/menus ${D}/usr/share/applications
mkdir -p ${D}/usr/share/fonts/TTF
ln -s ../../../lib/libreoffice/share/fonts/truetype/opens___.ttf ${D}/usr/share/fonts/TTF/opens___.ttf
N="../libreoffice_NLS-7.1.2.2-dunfell64"
[ -d $N ] && rm -rf ./${N}
mkdir -p ${N}/usr/lib/libreoffice/program/resource
mkdir ${N}/usr/lib/libreoffice/share
mv -f ${D}/usr/lib/libreoffice/program/resource/* ${N}/usr/lib/libreoffice/program/resource/
mv -f ${N}/usr/lib/libreoffice/program/resource/en* ${D}/usr/lib/libreoffice/program/resource/
mv -f ${N}/usr/lib/libreoffice/program/resource/common ${D}/usr/lib/libreoffice/program/resource/
ln -snf ../../../../share/fonts/truetype/opens___.ttf ${D}/usr/lib/libreoffice/program/resource/common/fonts/opens___.ttf
mkdir ${N}/usr/lib/libreoffice/share/autocorr
mkdir ${N}/usr/lib/libreoffice/share/autotext
mkdir -p ${N}/usr/lib/libreoffice/share/registry/res
mv -f ${D}/usr/lib/libreoffice/share/autocorr/* ${N}/usr/lib/libreoffice/share/autocorr/
mv -f ${N}/usr/lib/libreoffice/share/autocorr/*_en* ${D}/usr/lib/libreoffice/share/autocorr/
mv -f ${D}/usr/lib/libreoffice/share/autotext/* ${N}/usr/lib/libreoffice/share/autotext/
mv -f ${N}/usr/lib/libreoffice/share/autotext/en* ${D}/usr/lib/libreoffice/share/autotext/
mv -f ${D}/usr/lib/libreoffice/share/registry/res/* ${N}/usr/lib/libreoffice/share/registry/res/
mv -f ${N}/usr/lib/libreoffice/share/registry/res/*_en* ${D}/usr/lib/libreoffice/share/registry/res/
sync
strip --strip-unneeded ${D}/usr/lib/libreoffice/program/*.so
strip --strip-unneeded ${D}/usr/lib/libreoffice/program/*.so.*
for A in gengal.bin oosplash opencltest regmerge regview soffice.bin ui-previewer uno.bin unopkg.bin uri-encode xpdfimport
do
strip --strip-unneeded ${D}/usr/lib/libreoffice/program/${A}
done
Compile fails at building the themes. This is not new, have had this always, when compile on EasyOS or Puppy. Never figured out why, just did that hack, but then "make DESTDIR=... distro-pack-install" fails. Actually, back in Pyro-series, did another hack that fixed the install, but this time just did a manual install, as shown above, which works fine.
The 'configure' options are for latest EasyOS Dunfell, and will have to be changed for a different pup. It has "--with-system-all", so tries to find all libraries in the host system. Configure will stop with error on first not found, then you have to append "--without-system-<pkg>". This testing of system library availability could be done automatically.
Takes awhile to compile. The PET is big, 105MB, gzipped. So many import/export filters that I would rather not have, but there doesn't seem to be any way to disable them when configuring.
Tags: easy
Dependencies for LibreOffice compiled in OE
I posted yesterday about compiling Inkscape in OpenEmbedded/Yocto:
https://bkhome.org/news/202104/inkscape-compiled-in-openembedded.html
In the current release of EasyOS, LibreOffice (LO) was compiled in a
running EasyOS, not in OE. During the build, LO automatically downloads
any extra source packages that it needs, that are not available in the
system.
What I have done is compile many of those dependencies in OE, so they
will be available as shared libraries for LO to link against, but other
applications will also be able to use them.
For example, LO uses 'libcdr', a CorelDraw import filter. By having
this as a shared system library, Inkscape can optionally link against
it, and also have CorelDraw import capability. Hmmm, does anyone still
use CorelDraw?
These are the new packages compiled in OE:
hyphen libabw libcdr libcmis libe-book libetonyek libexttextcat
libfreehand libgltf liblangtag libmspub libmwaw libodfgen libpagemaker
librevenge libvisio libwpd libwpg libwps lpsolve mdds-1.2 mdds-1.5
mythes rasqal redland vigra
Hmmm again, 'libwpg' is for handling WordPerfect graphics, 'libwpd'
for WordPerfect documents. WordPerfect is ancient, I would prefer to
save the space and not have import of WP documents and graphics,
however, LO build does not seem to offer disabling it.
I was very easily able to compile those packages, by adding the
'meta-office' layer. This is maintained by 'schnitzeltony' and also
includes recipes for building libreoffice and abiword:
https://layers.openembedded.org/layerindex/branch/master/layer/meta-office/
...however, I get errors trying to compile libreoffice. Could
probably be fixed, as I did with the 'pyro' series, but decided will
compile libreoffice in the running EasyOS. Note, I checked out the
'dunfell' branch of 'meta-office', and it will be in my next uploaded
tarball.
Have just done a complete rebuild in OE, it took about 9 hours. Next,
will import the packages into woofQ and build the next release of
EasyOS.
Tags: easy
pngoverlay-cairo utility now in woofQ
EasyOS, and older pups, have the 'pngoverlay' utility, which
overlays two 48x48 PNG images. We use it to create the "close box" on
the partition icons on the desktop.
/usr/sbin/pngoverlay is written in BaCon, and has been very
troublesome. It requires the executable to be in the same folder as the
icons, if build it in OE, a cross-compile environment, it compiles but
segfaults when try to use it. It changes the "PWD" variable, that I
commonly use in scripts -- that one took me by surprise!
We also have /usr/sbin/pngoverlay.sh, that uses 'netpbm' utilities. It was broken but I fixed it in 2020.
Mick (01micko on the forum) has written two replacements in C,
'pngoverlay-gtk' and 'pngoverlay-cairo'. I am now retiring the BaCon
'pngoverlay' and using Mick's 'pngoverlay-cairo'. See info here:
https://github.com/puppylinux-woof-CE/woof-CE/issues/1470
As posted this morning, have recompiled everything in OE. Will add source package 'pngoverlay-cairo-20190623.tar.gz' to the build. The source package will be hosted on ibiblio.org soon.
I have modified these scripts in woofQ to recognize 'pngoverlay-cairo' and use it if exists. Just in case, the fallback will be to use 'pngoverlay' if doesn't exist:
rootfs-skeleton/usr/local/easy_containers/easy-containers
rootfs-skeleton/usr/sbin/icon_switcher_cli
rootfs-skeleton/usr/sbin/icon_switcher
rootfs-skeleton/usr/local/sfsget/dir2sfs
3buildeasydistro
Note, the BaCon 'pngoverlay' is in the 'pup-tools' package, will pull it out.
Tags: easy
Dunfell recompile commencing in OpenEmbedded
Gwhere is a "removable media catalogue manager", quite
interesting, but I don't know if anyone uses it. It has been in Puppy
since the early days, and is very old and shaky code. We have patched it
and patched it, but yesterday I noticed that 'wdlkmpx' has done a lot
of work on it:
https://github.com/wdlkmpx/gwhere
So decided to drop my badly-hacked source. Now have the latest source from wdlkmpx's github repo in OpenEmbedded.
There is another chap who is an audiophile and wants to use the
'jack' server in EasyOS. So I have added the jack package to the
build-list, and enabled support for jack in these packages:
ffmpeg mpv xine-lib mhwaveedit audacious
From a bit of reading, it seems that ideally the kernel needs to have some real-time features enabled for jack to work well.
As far as I know, having support for jack in those apps doesn't mean we have to use it. It is an optional server.
Oh, I was going to type "tonight will commence a complete rebuild in
OE", but I see it is already after midnight. OK, so commencing today. It
takes about 9 hours.
Note, the latest OE tarball will be here, will upload it soon:
http://distro.ibiblio.org/easyos/project/oe/dunfell/
One more thing: Have also added 'modemmanager' package to the
build-list, and added it as a dependency to 'networkmanager' and
'network-manager-applet' packages.
There has been some discussion recently about "modem thingys" that
might require 'modemmanager'. I don't know, but anyway, it will be
available for anyone who might want it. has it's own GUI even, that will
be in the "Network" menu.
EDIT 2021-04-09:
Also compiling Osmo personal information manager with support for
libnotify. Now it will be able to put up notifications, making it a much
more complete PIM.
Tags: easy