site  contact  subhomenews

rox-filer, shared-mime-info tweaks

June 09, 2018 — BarryK

In ROX-Filer file manager, when you click on the little "home" icon at top of window, it will open a window at the user's home directory. In the case of Puppy that is /root, however with Quirky I want to open at /file, and for Easy at /mnt/wkg/home.

I have modified the rox-filer source so that it detects if running in Quirky or Easy, or if not then opens at ~ (/root for Puppy).

Some of my shell scripts have a shebang line "#!/bin/ash" and ROX-Filer does not recognise this as an executable. The reason for this is the shared-mime-info package, which recognises such a file as plain-text only.

I have patched shared-mime-info to recognise "ash" and "dash" scripts as shell executables.

These fixes are to be found in my online "oe-qky-src" fork of OpenEmbedded ( June 8 and 9):

Note, I deliberately use an old version of shared-mime-info, 0.90, as I found that recent versions have stuffed up recognition of text files. Many text files in woofQ and Easy/Quirky/Puppy are mis-identified, which results in Geany and other text editors refusing to open them, and in the case of ROX-Filer not offering to open in a text-editor in the right-click "Open With..." menu.

Tags: oe

First OE aarch64 build, updates

April 17, 2018 — BarryK

I have done a first build for aarch64 (64-bit arm) on my fork of OpenEmbedded. project page:

Modifications for first aarch64 build:

Some packages failed, so I need to fix them. However, most of the big apps, such as Firefox and LibreOffice, compiled.

Have also started to update some packages:

jwm 1679:

bacon 3.7.2:

pup-tools 20180417:


Plowing ahead, fixing packages for aarch64, and updating some, adding some new packages.

Won't itemise here, look at the repo.

Tags: oe

No CUPS support in gtk+ in OpenEmbedded

November 29, 2017 — BarryK

Right now, I am in a state of great surprise. Testing Pyro64 0.6, printing does not work. In fact, it never has, for any Quirky builds from OpenEmbedded packages.

Despite the fact that 'cups' is available as a package in OE, gtk+ is hard-coded not to use it. Not only is cups missing from the DEPENDS variable in the gtk+ recipe, it is explicitly disabled with "--disable-cups".

There is isn't even a conditional test for existence of cups.

I kept looking at that, because I couldn't believe what I was seeing.

This situation is in the "pyro" release of OE/Yocto, same in the latest in master branch in github.

I have created gtk+_2.24.31.bbappend, with this in it:

PR = "r1"

# added the last line...
DEPENDS = "glib-2.0 pango atk jpeg libpng gdk-pixbuf-native \
cairo gdk-pixbuf \
cups libxinerama xinput pixman freetype fontconfig"

# original...
#EXTRA_OECONF = "--enable-xkb --disable-glibtest --disable-cups --disable-xinerama"

EXTRA_OECONF = "--enable-xkb --disable-glibtest --enable-cups --enable-xinerama \
--with-xinput=yes --enable-debug=minimum"

Added some more things that thought should be there. It compiles, not yet tested in a build.


Although OE/Yocto has the 'cups' package, it does not have 'cups-filters', which is required for printing. 'cups-filters' got split out of 'cups' sometime ago. OE actually has a recent 'cups', in which the 'cups-filters' is split out, yet there is no 'cups-filters', and I had to add it in my "meta-quirky" layer. Which shows just how much attention printing has been getting in OE/Yocto -- along with non-printing gtk+, I would say none at all.

i recompiled 'gtk+', no joy. Compiled 'cups', 'cups-filters' and 'poppler' manually in Pyro64, still no joy.

I examined /var/log/cups/error.log, and did a search with google. Found the same error was fixed here: rolling back 'cups-filters' to 1.11.4. I am using 1.13.5, so I tried it, compiled 1.11.4, and hey, printing to my USB printer works!

Oh, what a dark art this CUPS printing is!

Now, need to put the fix into OE.


These are the fixes in OE, I confirmed they have fixed printing (Nov 30, 2017):

Note, I am now doing a complete x86 32-bit (i686) recompile in OE.

Tags: oe

OE recompile, SM 2.49.1, kernel 4.14.1

November 23, 2017 — BarryK

I mentioned recently that some library packages compiled in OpenEmbedded were too old. I ended up only bumping 'icu', 'nss' and 'nspr', to versions 58.2, 3.31.1 and 4.16. Then did a complete rebuild in OE.

Built Pyro64 0.5.2, and compiled SeaMonkey 2.49.1, this time using the system icu, nss and nspr, making the package considerably smaller. The PET is here:

I also compiled the 4.14.1 kernel, and was most surprised when "make modules_install" did not create /lib/firmware. A quick google, and it seems the firmware is no longer in the kernel source tree.

I didn't know how to respond to this situation, but decided to take the /lib/firmware from the compile of kernel 4.13.11, for inclusion in the kernel PET. The PET is here:

The source, patches, and build scripts are here:

Tags: oe, quirky

Plans for next Quirky Pyro64

November 18, 2017 — BarryK

I have been away. Here is a photo:


While on holiday I couldn't get into the mood of doing any Linux development, but intend now to start putting together the next Pyro64. The current release is 0.5.

0.5 has the latest LibreOffice, that I compiled in Pyro64, and I had to use some inbuilt libs as some packages compiled in OpenEmbedded were too old. Had the same problem with latest SeaMonkey. For example, had to use SM's inbuilt icu, as the system package was too old.

The problem with this is that it makes the distribution bigger. So, I plan to do a recompile in OE, and bump the versions of some packages.

Another thing, plan to compile some extra perl modules in OE, as previously only had the base perl package. It seems that pplog, and probably some other apps, need extra perl modules. I think that I have figured out the extra modules needed.

Then, will build a new Quirky Pyro64, and compile the latest LibreOffice and SeaMonkey.

Also plan to upgrade the Linux kernel to 4.14.x, as this is LTS, supported for six years. Which is great.

So hopefully then I will build a Pyro64 which will also be a LTS. Might release it as version 0.6.

I previously mentioned creating a GUI wrapper for shellCMS and put into Pyro64 as a replacement for pplog personal blog. Haven't got very far with that.

Then there's Easy OS. Not forgotten, an idea is percolating.

Another photo:


Tags: oe, quirky

xine-ui, inkscapelite imported into OE

November 03, 2017 — BarryK

Two more this afternoon.


This is an xlib-based GUI media player, using xine-lib. I had already compiled xine-lib in OE, but the player was compiled as a PET in a running Quirky Pyro64. Now imported into OE:


Wow, this one is a major achievement! Very cross-compiler unfriendly. I had attempted to compile in OE a few times, took up the challenge again this afternoon, this time, success.

One hurdle is that it compiles a binary executable, src/libnr/gen_nr_config, which is then run to test the sizes of variables, and creates src/libnr/nr_config.h

However, this is a cross-compiler environment, so the above is a no-no. OE does have an official way to handle this situation, which is to create another package "inkscapelite-native", which compiles in the host environment, and only needs to compile that gen_nr_config. Then inkscapelite-native can be used as a dependency for the inkscapelite package.

The problem is, I have not yet grasped the implementation details. It is poorly documented, and my nice big OE reference book doesn't even mention the topic. If you are reading this, and do now how to do it, I would greatly appreciate a walk-through on how -- kindly send me an email via the Contact link at top of this page.

Anyway, I came up with a workaround, a hack solution. Committed:

Celebration was short-lived however, as testing the executable in a running Pyro64, crash at startup. Same thing for inkscapelite compiled in a running Pyro64, as reported by the guys on the Puppy Forum who are testing Quirky Pyro64 0.5.

It could be traced, and the place where the crash happens can be found. However, maybe the time has come to retire inkscapelite. I am fond of it, as it is so small, and quite a useful app. However, Pyro64 has the Draw module of LibreOffice, so SVG editing is covered.

Tags: oe

Notecase imported into OE

November 02, 2017 — BarryK

Notecase is a hierarchical notes manager, one of the essential apps in all Puppies and derivatives.

The problem was, I was unable to compile it in OpenEmbedded, so Pyro64 has notecase compiled in a running Pyro64. But, it is partly broken. Images in GTK themes do not load, and cause notecase to hang, as well as spit out a continuous stream of errors on stderr.

In my notes, I have written that notecase in Slackware has the same problem, but I don't recall any details.

To workaround the bug, Pyro64 0.5 is running notecase via a wrapper script:

#170512 Pyro64, images from gtk themes don't display.
#workaround for now, use a theme without images...
export GTK2_RC_FILES=/usr/share/themes/Default/gtk-2.0/gtkrc
exec /usr/bin/notecase.bin "$@"

This morning, I had another go at compiling notecase in OE, and this time succeeded. The source has its own inbuilt zlib, which gave an error due to the cross-compile environment, and despite this error being reported many times in a google search, I could not pin down a fix.

The workaround was to use libz.a already compiled in OE, and success. Then a surprise -- I tested the notecase executable in a running Pyro64, and it works perfectly, GTK theme images load. Well, well, I shall just accept this little bonus.

Here is the github commit:


I bumped mp (cli text editor) from version 3.2.13 to 3.3.17, as the menu wasn't working. OK now. Note, mp is named "mped" in OE.

Tags: oe

shared-mime-info, vte, sakura in OE

November 02, 2017 — BarryK

Three more. These took 4-5 hours!




Tags: oe