In the last couple of week we have been working on the tasks below (among a lot more).
LIBCx - kLIBC Extension Library
- Samba Server 3.6
- GNU gettext
The kLIBC Extension Library extends the functionality of the kLIBC library by adding a number of high demand features
required by modern application.
Currently, LIBCx provides the following extensions:
- Improved advisory file locking using the fcntl() API. The implementation provided by kLIBC uses DosSetFileLocks and
is broken as it does not guarantee atomicity of lock/unlock operations in many cases (like overlapping lock regions
etc.) and does not have deadlock detection.
- Improved positional read/write operations provided by pread() and pwrite() APIs that guarantee atomic behavior.
kLIBC emulates these functions using a pair of lseek and read()/write() calls in non-atomic manner which leads to
data corruption when accessing the same file from multiple threads or processes.
- Improved select() that now supports regular file descriptors instead of returning EINVAL (22) on them as kLIBC does.
Regular files are always reported ready for writing/reading/exceptions (as per POSIX requirements).
- Implementation of poll() using select(). kLIBC does not provide the poll() call at all.
Samba Server 3.6
Samba is a free implementation of the CIFS/SMB protocol for Unix, which allows LAN-Server style file and printer sharing
among machines running Windows, Mac OS, Unix or OS/2 and OS/2-based systems. The goal of this project is to port the Samb
a server and create Samba clients for OS/2 and OS/2-based systems in order to replace the functionality of the outdated
We fixed a whole lot of longstanding issues in Samba Server 3.6 like:
- Max logfile size does not work (Ticket #36)
- Adding exceptQ support (Ticket #236)
- SIGABRT on some situations (Ticket #189)
- TDBBackup does not work (Ticket #225)
- All remaining TDB Problems (Ticket #208)
We updated the Binutils port to version 2.25.
Binutils is a collection of binary utilities, mostly needed to develop applications.
We updated the Coreutils port to version 8.25.
These are the GNU core utilities. This package is the combination of the old GNU fileutils, sh-utils, and textutils
We updated the Bison port to version 3.0.4
Bison is a general purpose parser generator that converts a grammar description for an LALR(1) context-free grammar into
a C program to parse that grammar. Bison can be used to develop a wide range of language parsers, from ones used in
simple desk calculators to complex programming languages.
Because our ASH shell shows it's age we have been in the need of a more modern one. So we decided to use DASH as our new
new shell and ported version 0.5.9.
DASH is a POSIX-compliant implementation of /bin/sh that aims to be as small as possible. It does this without
sacrificing speed where possible. In fact, it is significantly faster than bash (the GNU Bourne-Again SHell) for
We updated the GNU gettext port to version 0.19.8.
The GNU gettext package provides a set of tools and documentation for producing multi-lingual messages in programs.
We portet HPLip version 3.16.3.
The Hewlett-Packard Linux Imaging and Printing Project provides drivers for HP printers and multi-function peripherals.
It is used in our case as a addon to the CUPS printing subsystem.
We released a new version of kLIBC as RPM with an important fix. The fix prevents a possible crash when a app uses
See Ticket #363 for more details. We now hope Knut will integrate this fix soon in his main branch.
If you want to support us or a specific project then please check out our
You are one of the people making the future possible!
We at bww bitwise works GmbH would like to thank our development partners, Arca Noae and Netlabs.org for their continued
contribution to the OS/2 platform.
Especially without Arca Noae the Firefox port would not be possible. They help us out when we are short on sponsorship.