Opened 7 years ago

Last modified 3 years ago

#14 new enhancement

glib: Collect patches

Reported by: dmik Owned by:
Priority: major Milestone: dev tools
Component: glib Version:
Severity: low Keywords:
Cc: dryeo


There are several OS/2 patches for glib out there. We should incorporate them all here, if not already done (when appropriate).

Attachments (3)

glib-2.6.5.diff.orig (68.5 KB) - added by dmik 7 years ago.
glib-2.6.5.diff (54.6 KB) - added by dmik 7 years ago.
glib-2.18.4.diff (3.3 KB) - added by dmik 7 years ago.

Download all attachments as: .zip

Change History (18)

comment:1 Changed 7 years ago by dmik

I have two patch sets. One from the glib-2.6.5 archive (found on Hobbes) and another one from Paul Smedley for glib-2.18.4.

It seems that many glib-2.6.5 patches are already applied. But there are some more left. It needs to be checked which of them are still relevant (some may be not since libc has changed a lot since then and we implement the Unix env much better now). The original patch is attached with the .orig extension, the reminter (excluding which was is applied and which is certainly not necessary) -- with .diff.

The Paul's patch is rather cosmetic but needs to be checked as well.

Changed 7 years ago by dmik

Changed 7 years ago by dmik

Changed 7 years ago by dmik

comment:2 Changed 7 years ago by dmik

Note also that the gio library and some tests don't currently build (some stuff needs to be ported to OS/2 first) so I disabled it in r489.

Note also that DLLs have full names now: gmodule2.dll, gthread2.dll etc (I find it more convenient).

comment:3 Changed 7 years ago by dryeo

  • Cc dryeo added

comment:4 Changed 7 years ago by dmik

I have added the native g_spawn implementation (that uses spawn() instead of fork()) from the 2.6.5 patch to SVN. See r498.

comment:5 Changed 5 years ago by dmik

Will use this defect to track progress of building the current trunk which is at level 2.33.12 (the current RPM build is 2.25.15). For some reason Yuri didn't release RPMs for 2.33.12.

Yuri, could you please tell why you did never release 2.33.12?

Anyway, I'm now reconfiguring glib with all our new and shiny autoconf/libtool. This draws some commits useless. I will roll them back. Also, the naming scheme for the Glib DLLs will change to follow the libtool's version-info logic (followed by all other platforms). The current base name of e.g the glib library itself is libglib-2.0 which gives us on linux where N is the CURRENT-AGE number. Currently, this equals to 0. On OS/2, we will shorten the base name to glib2 (as it is already is) but N will also be added due to recent changes in libtool. So on OS/2 this will give us glib20.dll. This is incompatible with the current name glib2.dll so all projects using RPM Glib will need to be rebuilt (I only recall the Firefox IcedTea? Web Java plugin so far).

comment:6 Changed 5 years ago by dmik

After a series of fixes (including libtool) It /almost/ builds now. However, one of the generators in gio/tests fails with the following message:

  GEN      test_resources.c
GLib (gthread-posix.c): Unexpected error from C library during 'pthread_rwlock_init': Invalid argument.  Aborting.

Killed by SIGABRT
pid=0xde21 ppid=0xde00 tid=0x0001 slot=0x00e7 pri=0x0200 mc=0x0001 ps=0x0010
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.
[1]   Abort trap              sh.exe ../../lib...
make[4]: *** [test_resources.c] Error 134
make[4]: *** Waiting for unfinished jobs....

Looks like it uses the unimplemented part of our pthread. I will quickly look at it tomorrow. If it's not easily solvable, I will disable gio/tests.

Last edited 5 years ago by dmik (previous) (diff)

comment:7 Changed 5 years ago by dmik

I had to disable tests completely with --disable-modular-tests in order to make it build (and created #43 to solve this issue later). Now glib 2.33.12 finally builds (after a small fix in r913). I will create an RPM later after testing it more with the new version of the Iced Tea plugin (

Last edited 5 years ago by dmik (previous) (diff)

comment:8 Changed 5 years ago by dmik

New glib a new primitive, GWakeup. The old OS/2 fix that used socketpair instead of pipe vanished as a result of this change. This broke event loop processing, see for details. I need to resurrect it.

comment:9 Changed 5 years ago by dmik

Fixed this in r915.

comment:10 Changed 4 years ago by diver

  • Component changed from *none to glib

comment:11 Changed 4 years ago by diver

  • Milestone set to dev tools
  • Severity set to low

comment:12 Changed 3 years ago by ydario

r1603, remove libtool export workaround.
r1604, adjust charset.alias table as in rpm ticket#181.
r1605, use ISO8859-1 as default mapping, added _EURO locales.

spec: glib2, build release 2.33.

spec: glib2, build release 2.33, locale updates.

spec: glib2, pango, yum-metadata-parser, libidl build updates for glib2 2.33.

spec: gettext, cairo, pkgconfig, rebuild for glib2 2.33.

comment:13 Changed 3 years ago by dmik

@ydario thanks for taking care of Russian and Ukrainian locales in r1604. What I don't like though is that this code is applied to the FreeBSD case which makes the current patch not applicable upstream. Can you please fix it so that the default charset is set only on OS/2 and not on FreeBSD?

comment:14 Changed 3 years ago by ydario

Done in committed revision r1640.

comment:15 Changed 3 years ago by ydario

gettext is not using charset.alias because it embeds the list of known codepage aliases. Since the source code is the same, I added the missing bits.

glib: use gettext code to embed codepage aliases. ticket#14.
Sending libcharset/localcharset.c
Committed revision r1643.

Note: See TracTickets for help on using tickets.