site  contact  subhomenews

EasyOS Dunfell version 2.7 released

April 14, 2021 — BarryK

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, 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:

Download from here:

At the time of writing, not there yet, but expect mirrored here:

If you need help with installing:

You are welcome at the EasyOS section hosted on the Puppy Linux Forum:

If you are new to EasyOS and want to know about differences from other Linux distributions, read this:

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:

WoofQ is the EasyOS builder system, also available as a tarball:


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

April 13, 2021 — BarryK

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:

...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:


...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

April 12, 2021 — BarryK

This morning posted how LibreOffice was compiled in EasyOS:

...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:

gtk-theme-name =
# ref:
gtk-primary-button-warps-slider = false 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

April 12, 2021 — BarryK

Yesterday I posted about dependencies of LibreOffice compiled in OpenEmbedded:

last night, compiled LO in latest running EasyOS. LO automatically downloads any extra source packages that it needs. This is what it downloaded:


...don't know why it downloaded 'hyphen', as have that as a system library.

I had manually downloaded this beforehand:


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 tarballs
# tar -xf libreoffice- --no-overwrite-dir
# cd libreoffice-
# 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

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/ looks ok, deleted

Automate the install:

[ -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/

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

[ -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/

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
strip --strip-unneeded ${D}/usr/lib/libreoffice/program/${A}
Note, when ran it, menu fonts are a bit small. Will need to find how to preset that a bit bigger.

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

April 11, 2021 — BarryK

I posted yesterday about compiling Inkscape in OpenEmbedded/Yocto:

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:

...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

April 09, 2021 — BarryK

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/, 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:

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 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:


Note, the BaCon 'pngoverlay' is in the 'pup-tools' package, will pull it out.   

Tags: easy

Dunfell recompile commencing in OpenEmbedded

April 09, 2021 — BarryK

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:

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: 

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