site  contact  subhomenews

More patches for an old package in OE

September 22, 2020 — BarryK

I am continuing to compile old packages, that are still good, and included in releases of EasyOS. Some notes have been appended to the previous blog post:

https://bkhome.org/news/202009/progress-compiling-in-oe-dunfell-release.html

The package 'xlockmore' is an example of very "long in the tooth". It compiled OK in the Pyro-OE, but not in Thud-OE. Nor in the latest OE, Dunfell-OE. There have been patches in the past to get it to compile. This time, the error message is that "DOMAIN" is undefined.

It turns out that the problem is with glibc 2.27+, as explained here:

https://github.com/flang-compiler/flang/issues/475

...jamborm has done what he calls a "horrible hack". Yes, but it works. I appended his code onto the end of any include file, xlock/xlock.h, in the recipe for xlockmore, like this:

    echo '
#ifndef LIBM_ERRNO_AMD_H_INCLUDED
#define LIBM_ERRNO_AMD_H_INCLUDED 1

#ifndef DOMAIN
struct exception {
int type; /* Exception type */
char *name; /* Name of function causing exception */
double arg1; /* 1st argument to function */
double arg2; /* 2nd argument to function */
double retval; /* Function return value */
};

#define DOMAIN 1
#define SING 2
#define OVERFLOW 3
#define UNDERFLOW 4
#define TLOSS 5
#define PLOSS 6
#endif

#endif /* LIBM_ERRNO_AMD_H_INCLUDED */' >> xlock.h

Yay, xlockmore is still alive!

Actually, there is a later version of xlockmore that what I am using. I have 5.31, latest is 5.65. I continue to use the old one as it has many hacks to make it very small. Ideally, I should apply those "smallness" hacks to the latest version. Here is the xlockmore project page:

http://sillycycle.com/xlockmore.html   

Tags: oe

Porting OpenEmbedded Thud release

March 21, 2019 — BarryK

The packages used in EasyOS 0.9.x - 1.0.x were compiled by "oe-qky-src", which is a port of the "Pyro" release of Yocto/OpenEmbedded:

https://github.com/bkauler/oe-qky-src

The Yocto/OpenEmbedded release schedule is here:

https://wiki.yoctoproject.org/wiki/Releases

...Pyro was released in May 2017, and EasyOS is showing its age a bit. Nothing really wrong with the older glibc, gcc, etc., but EasyOS is probably due for a freshen-up with later packages.

I did do a partial upgrade of the Xorg and some multimedia packages, from the "Sumo" release awhile back.

Anyway, now having a go at a complete upgrade, to the latest stable release, codenamed "Thud", version 2.6.1.

Intention is, there will be a new repository, probably at github.com, named "oe-easy-src".

It is doing a compile right now, with the Thud package recipes as-is, just to see if it will compile. If that succeeds, I will port some recipe modifications that were applied in oe-qky-src, and about a hundred extra packages that are not in Yocto/OpenEmbedded -- for which I created recipes. 

Tags: oe

gtk1 and gdk-pixbuf0 compiled in OE

December 13, 2018 — BarryK

glib1 (glib version 1.2.10) got compiled in OpenEmbedded yesterday:

http://bkhome.org/news/201812/glib-1210-compiled-in-openembedded.html

Have now succeeded with gtk+ 1.2.10 and gdk-pixbuf 0.22.0, see the oe-qky-src repository:

https://github.com/bkauler/oe-qky-src/tree/master/quirky/meta-quirky/recipes-quirky/gtk1

https://github.com/bkauler/oe-qky-src/tree/master/quirky/meta-quirky/recipes-quirky/gdk-pixbuf0

In the next release of Easy, will be able to run gtk+ 1.x applications, if desired. I have in mind one that I want to play with... 

Tags: oe

glib 1.2.10 compiled in OpenEmbedded

December 12, 2018 — BarryK

Compiled in 'oe-qky-src' that is, my fork of OpenEmbedded. I have an aim to be able to compile and run gtk+ 1.2.10 applications in EasyOS. For that, it is necessary to compile glib 1.2.10, gtk+ 1.2.10 and gdk-pixbuf 0.22.0.

These are ancient packages, released back around 2001 - 2002. Not surprisingly, there are some issues when compiling them now. I found some patches, from Arch Linux and the T2-project, and was able to compile in a x86_64 host system. Cross-compiling in OE, though, is a challenge.

So far have only done glib. There are some very old patches for compiling glib 1.2.10 in the archived "classical" OE, which were helpful.

It was a struggle, took several hours today, but finally worked:

https://github.com/bkauler/oe-qky-src/tree/master/quirky/meta-quirky/recipes-quirky/glib1

Fixing the old autotools, etc., was achieved by hacks. 'ltconfig' insisted that it could not create shared libs, was able to override.

Next up, gtk+ 1.2.10 ... 

Tags: oe

Ghostscript compiled with libgs in OE

December 02, 2018 — BarryK

The official OpenEmbedded/Yocto project compiles the ghostscript package with a big monolithic 'gs' binary. However, there are some packages that want 'libgs' as a dependency. So, the recipe in OE needs to be modified to generate a small 'gs' with shared 'libgs'.

Fortunately, Andrew has figured out the required changes to the recipe:

https://patchwork.openembedded.org/patch/137913/

https://patchwork.openembedded.org/patch/137914/

I used that as a basis, and my recipe is here:

https://github.com/bkauler/oe-qky-src/tree/master/quirky/meta-quirky/recipes-extended/ghostscript

And a modification to fix compile fail:

https://github.com/bkauler/oe-qky-src/blob/master/create-oe-quirky

There was a package that I wanted to compile recently, that had libgs as a dependency, which prompted this revisit to OE. 

Tags: oe

Patch for ROX-Filer fix possible slow running

November 04, 2018 — BarryK

Puppy Forum member jamesbond posted a patch that fixes a potential slow-down of ROX-Filer:

http://www.murga-linux.com/puppy/viewtopic.php?p=925657#925657

That was posted in 2016! I have only just seen it. This is the thing with the Puppy Forum, so much going on, so many great things happening, it is very easy to miss stuff.

You will see in the above link, some testers had difficulty applying the patch. That's because there is different source and they were patching a later fork of ROX-Filer. My source is the original from 2011, with various patches applied.

For EasyOS, ROX-Filer is compiled in 'oe-qky-src', and I have now applied jamesbond's patch:

https://github.com/bkauler/oe-qky-src/tree/master/quirky/meta-quirky/recipes-quirky/rox-filer

Thanks James!

Tags: oe

android-tools and adbfs-rootless in OE

August 08, 2018 — BarryK

I want to incorporate simple automatic-discovery file transfer to and from my phones into EasyShare. So far, have investigated 'adbfs-rootless', which is a fuse filesystem for adb:

https://github.com/spion/adbfs-rootless

'adb' is a utility from Google, a kind of communication bridge between a PC and Android phone. I have used this utility many time before, for example:

http://bkhome.org/news/201803/nexus-5-updated-to-android-810.html

http://bkhome.org/news/201803/lineageos-with-microg-on-nexus-5.html

It would be good to have the 'adb' and 'fastboot' utilities in every future EasyOS and Quirky, so 'android-tools' in OpenEmbedded is now in the package build-list:

https://github.com/bkauler/oe-qky-src/tree/master/quirky/meta-quirky/recipes-devtools/android-tools

Then created a new recipe for 'adbfs' (actually 'adbfs-rootless') and added that to the package build-list:

https://github.com/bkauler/oe-qky-src/tree/master/quirky/meta-quirky/recipes-quirky/adbfs

The instructions to use adbfs are only given for usb-connection. Basically, usb-debugging has to be turned on in the phone, no special app required. In EasyOS, it was very simple:

# mkdir /mnt/phone
# adbfs /mnt/phone

...navigate ROX-Filer to /mnt/phone, and there is my phone, everything available. Some areas are unavailable, due to the phone not being rooted, however, I can access all my files in /mnt/phone/sdcard.

This is good, definitely a contender to be integrated into EasyShare!

Tags: oe

Fix widget order for gtkdialog, aarch64

July 27, 2018 — BarryK

Gtkdialog is used extensively in Puppy Linux and derivatives, for GUI frontends to shell scripts. It is a great tool, with many contributors over the years -- the "greatest" of these would be Puppy Forum member thunor, who undertook to greatly enhance gtkdialog after the project was abandoned by the original developer. Thunor moved on, and the project is now hosted on github, with other contributors:

https://github.com/01micko/gtkdialog

Way back in 2012, when we were playing with the puppies on the Raspberry Pi, we discovered that gtkdialog rendered the widgets in reverse order in a window, so, for example, the "OK" button would be at the top of the window instead of the bottom. Puppy Forum member jamesbond (one of the key developers of Fatdog), provided a patch, that thunor applied to version 0.8.2.

Fast forward to now, I found that bug has returned for aarch64. I consulted with jamesbond, and have a patch, which is in my OE repository:

https://github.com/bkauler/oe-qky-src/blob/5e8448751376407009db340a08f145e23a3c511a/quirky/meta-quirky/recipes-quirky/gtkdialog/files/gtkdialog-fix-aarch64-widget-order.patch

It tests if the "__aarch64__" gcc preprocessor macro is set. When I first tested this, it seemed that it was not set, so I found this way to list all of the gcc preprocessor macros:

# gcc -x c /dev/null -dM -E

...yep, "__aarch64__" is set to "1" on my Pi3. Note, I googled around, and someone else tested for "__ARM_ARCH_ISA_A64" -- that works too. 

Tags: oe