GNU Status Reports: October 2011

This document collects status reports for GNU packages.

This is a revival of the GNU Status Reports from the historical
GNU's Bulletins, http://www.gnu.org/bulletins. The goal
is to provide GNU-wide news and information from time to time, from as
many packages as possible.

This report includes items for only a few of the hundreds of GNU
packages; we hope more will be represented in future installments.
http://www.gnu.org/manual lists all GNU packages, with links to
online manuals and home pages. All GNU packages can be accessed on
the web via <http://www.gnu.org/software/pkgname>,
as shown in the headings here. For information on downloading
releases, see http://www.gnu.org/software.

The aim of the present report is to be somewhat higher-level and more
general than the others, although there is inevitably some overlap.

Questions, comments, and suggestions about this document in general
are welcome; please email [email protected]. Bug reports
and suggestions for specific packages should of course be addressed
via their usual routes.

(Put first instead of in alphabetical order since it is a new and
especially significant addition to GNU.)

From Luis Falcón: GNU Health is a free health and hospital
information system with support for electronic medical records,
hospital information systems, and health information systems. Its
goal is to contribute to the work of health professionals around the
world to improve the lives of the underprivileged, providing a free
system that optimizes health promotion and disease prevention.

The GNU Health Project has been chosen by the United Nations
University, Institute of Global Health (UNU-IIGH). This organization
supports the use of free (as in freedom) software health care
information system in developing countries, through capacity-building
programs and technical consultancy to improve efficiency and
quality of health care services.

This is an example of how free software can leverage resources to help
developing countries. Many thanks to Dr. Nurhizam Safie Mohd
Satar who is leading the GNU Health integration project UNU-IIGH.
This effort will increase the amount of physicians and health centers
using free software, and we will all benefit with their valuable
feedback.

Assistance of all sorts is greatly appreciated; please see our web
pages for details.

From Sergey Poznyakoff: GNU cflow is a program to analyze C sources
and produce both direct and inverted flow graphs, optionally with
cross-references. Version 1.4 is the latest release. This is a
stable version that contains a largely improved parser. In
particular, detection of recursive calls is sped up considerably.
This release also allows a fine-grained control over symbol types and
contains several bug fixes.

From Stuart Cracraft and Antonio Ceballos: GNU Chess plays the
computer's side of a game of chess against a human, serving as a
sparring partner to help improve human play levels, improve human
ratings in competitive tournament play, prepare for a match, or just
play chess while waiting for a game with a person.

Since full source code to GNU Chess is included, you can enhance the
GNU Chess's playing and learn more about what goes on inside a
computer chess program and use it for your personal computer chess
research.

In April 2011, version 6 of GNU Chess was released. Version 6 is
based on Fabien Letouzey's Fruit 2.1 chess engine, a well-debugged
program which has a strong searcher.

Standard external interfaces remain unchanged in 6.x for compatibility
with 5.x (which is now deprecated).

In addition to the Chess Engine Communication Protocol, version 6 also
supports the Universal Chess Interface (UCI). This increases,
dramatically, the number of graphical user interface front-ends GNU
Chess can use.

The program can occasionally be found playing games with anyone who
challenges it at the Free Internet Chess Server (FICS) under the
nickname GNUChessSix.

On modern, affordable hardware, GNU Chess scores highly in standard
chess rating tests (2500 ELO). It is a strong tactician, which can
translate to good positional play on fast enough hardware due to
increasing depth of search.

If you improve GNU Chess or use it for research, please contact the
Free Software Foundation to ensure that your improvements are
considered for integration into the main line.

From Stefan Monnier: GNU Emacs has entered the pretest phase for its
24.1 release, which is aimed for the first half of 2012. The features
in this release will include:

packaging system that allows users to easily download extensions for
Emacs (the default package archive is hosted by GNU, and maintained by
the Emacs developers)—we welcome submissions of new packages;

support for displaying and editing bidirectional text, including
right-to-left scripts such as Arabic and Hebrew;

From Adam Dutko: I've been working through getting the code in CVS to
build and am very close. I've also been investigating a migration to
Automake and have made some progress in a different (uncommitted)
branch. I'm hoping to have the first release building before the end
of October.

The latest version contains several documentation and source code
improvements as well as improved UTF-8 support.

The program gama-local provides adjustment in a local
coordinate system. Input data are stored in an XML file or an SQLite
database. Adjustment results are represented as formatted plain text
or an XML file.

The program gama-g3 partially supports adjustment in a global
coordinate system (adjustment model on ellipsoid). Input and output
data are in an XML file.

From Arnold Robbins: Gawk 4.0.0 was released at the end of June, 2011.
There are many new features, including a gawk debugger. I hope to do
the first patch release before the end of the year and then
development of more new stuff towards gawk 4.1 should pick up speed.

From Sergey Poznyakoff: After a long period of development, a new
version of GDBM, 1.9.1, was released this year. It contains
significant improvements over its predecessor. The most important
user-visible changes are the use of memory mapping to speed up I/O
operations and improvements in ndbm compatibility code. In
particular, the latter fixes a long-standing bug which prevented GDBM
from being used with some MTAs, most notably Sendmail and Postfix.
Another series of changes addressed compatibility with the POSIX
specification.

This version introduces a number of improvements to the GDBM
interface. Changes to gdbm_setopt interface are particularly
noteworthy as they allow the programmer to fine-tune the database and
retrieve various database parameters.

GDBM 1.9.1 includes an interactive tool for manipulating GDBM database
files: the testgdbm program allows users to view and update
existing databases, export them to the portable flat file format and
to create new database files.

From Werner Koch: The current stable versions of GnuPG are 1.4.11 and
2.0.18.

We are working towards a 2.1 version; a beta of that version
is already used by Kontact Touch (Kmail for smartphones). Progress is
somewhat slow these days due to a lack of funding.

A major design change in 2.1 is the replacement of the secring.gpg
secret key storage by the protocol neutral secret key database
maintained by the gpg-agent daemon. The benefit of this is an
architectural cleanup and easier key maintenance. We were also able to
remove large amounts of code which were needed to maintain secring.gpg.

Support for Elliptic Curve cryptography as specified by an OpenPGP WG
approved I-D has been added to GPG.

We are working on a new database format to store the OpenPGP keys. This
will help to keep meta data on keys (e.g., time of last refresh from a
keyserver) and greatly improve lookup speeds on large keyrings.

The new G13 tool allows the use of OpenPGP keys for disk encryption. It
is designed to support several backends. Due to a lack of time we only
support EncFS for now; in the next steps we plan to support Geli and
DM-crypt.

The CRL/OCSP and LDAP daemon Dirmngr is now a proper part of GnuPG.
Work is underway to move all key server helper programs into Dirmngr.

GnuPG is using GNU Pth to implement co-routines. Due to the now
widespread availability of POSIX threads and the very rare use of GNU
Pth by other projects, we decided to drop Pth in favor of nPth, a simple
new library to replace Pth using the systems' native threads
implementation.

From Tom Rondeau: GNU Radio has been evolving quickly throughout the
past few years. Leadership in the project changed in 2010 from Eric
Blossom to Tom Rondeau. One part of this change is a renewed energy
in developing the community and increasing the number of contributors
to the project. GNU Radio hosted its first conference on September
14–16 at the University of Pennsylvania. While due to space
constraints, we had an initial limit of forty attendees, but request
was so great that we ended up accommodating fifty-five people from
academia, industry, and government. The interest and user base of GNU
Radio is strong and growing, and we are excited to see the various
ways the project is being used.

A large part of the discussion at the conference was how to contribute
to the project, and fostering this environment will continue to be one
of my primary short-term objectives. All of the conference material
will be made available on the main GNU Radio website
(http://www.gnu.org/software/gnuradio) as well as my personal
web site (http://gnuradio.squarespace.com [archived]).

In the current efforts of the development, we are actively integrating
new features that will enable GNU Radio in ways that were never
possible before. Two major features in GNU Radio include a new
vectorization library called VOLK (for Vector-Optimized Library of
Kernels) and stream tagging.

VOLK provides a way to access the vector (i.e., SIMD) instructions of
general purpose processors. While there are other ways of doing this,
a goal of GNU Radio is cross-platform support and ease of programming
and implementing new signal processing features. Until VOLK, adding
SIMD code to GNU Radio had been a difficult, assembly-driven process.
Instead, VOLK introduces the concept of a vector kernel to perform
common mathematical functions in a cross-platform library. Over the
next year, we will be improving many of the low-level signal
processing blocks by using VOLK kernels instead of generic C++ code.
As we make these changes, we expect to see a dramatic increase in the
performance and processing capabilities of GNU Radio. A side benefit
of this is the exposure of an extensible vector library for anyone to
use and build upon inside GNU Radio—or out, as VOLK is not designed
solely for GNU Radio use and builds as a separate library.

The other major additional capability introduced into GNU Radio is
know as stream tags, which provide a method of annotating
samples with tags of information that can be passed downstream in a
GNU Radio graph. This feature adds an interface so that control, data,
metadata, and other information may be passed through a communication
system. With these tags, we will be able to realize more advanced
digital modems that require data like logic control and timing
information.

Version 3.6 of GNU Radio, to be released later this year, will include
support for VOLK and stream tags. Furthermore, we are working to
migrate all over-the-air examples that use the Ettus Research, LLC
hardware to the new UHD (Ettus' Universal Hardware
Driver). This move helps us begin to standardize the hardware API
layer that will be required to support various hardware platforms from
a single software radio core.

From Spencer Buckner: GSEGrafix is a GNOME application which uses an
anti-aliased GNOME canvas for creating scientific and engineering
plots. The program is written in C and reads ASCII parameter files and
data files. The parameter files contain keywords and corresponding
arguments for specifying plot parameters (such as data file names,
data file formats, plot type, plot style, axis type, axis labels,
etc). Eleven example plots, corresponding examples of Octave code or C
code for creating the data files, and corresponding parameter files
are included. The program can be run from a terminal window or from a
graphical user interface.

The current version, gsegrafix-1.0.6, was uploaded on 10
September 2011. This version adds the keywords
background_color and background_image. The keyword
background_color enables the background color of the plot
window to be specified as either “white”, the default, or “black”;
if black is chosen, the plot box, tick marks, axis labels, title, and
text are white. The keyword background_image enables a
background image, such as a map, to be displayed in the plot box. The
image can be scaled in four different ways by specifying one of the
parameter values: center, fill, scale, or
zoom.

From Tim Marston: we have added support for UTF-8, available in the
current test release at http://alpha.gnu.org/gnu/gtypist. This
affects all user input (from the keyboard) and all output (to the
terminal)! In particular, we need people who have their machines set
up use other locales to check that gtypist accepts keyboard input
correctly and displays the right stuff to a UTF-8 terminal. Please
help test.

We've also added a new set of typing courses for the Colemak keyboard
layout. If anyone uses Colemak and fancies trying out the lessons,
we'd be grateful to hear if there are any problems.

Other changes include a Spanish manual and tracking of personal best
scores.

From Sergey Poznyakoff: GNU Mailutils is heading for the next major
release. A major rewrite of the I/O subsystem has been finished,
considerably improving performance. Several other parts of the
framework have also undergone a revision. In general, the code base
has reached a stable state and most of the work now is concentrated on
writing the documentation.

From Hartmut Rosch: I have been working on GNU Maverik quite a long
time and I have taken the oppertunity to become the new maintainer.
Maverik 6.4 works fine on 32-bit machines but has several bugs
rendering the bitmaps on a 64-bit system. This has been fixed. In
addition to that the Makefile has got a distclean target to
delete all shared libraries in the lib directory and all
executables. The new version, Maverik 6.5, will be released
quite soon.

From Thien-Thi Nguyen: GNU RCS 5.8 was recently released (the first
release in many years), with some small bugfixes, portability
enhancements, and new Texinfo documentation. This author is the new
maintainer.

From Ales Cepek: GNU Sqltutor is a web based interactive tutorial for
Structured Query Language (SQL).

You can try Sqltutor online at
http://sqltutor.fsv.cvut.cz/cgi-bin/sqltutor. First, a tutorial
must be selected from the opening page and started. A series of
tutorial questions follows in a simple dialog. When finished,
Sqltutor displays final evaluation with the review of all questions
asked during the session together with user's SQL queries and correct
answers for wrong solutions.

Sqltutor is implemented on the top of a relational database system
PostgreSQL. The program is a CGI script that selects SQL questions
from its database, checks the answers and evaluates the final score.
The second part of the project is a free collection of SQL questions
and answers representing SQL tutorials. Sqltutor enables the running
of one or more tutorials in different languages from a single
database.

The C++ code and database schema are stable; what is most needed is to
add a set of tutorial questions and answers in good English, and we
need help from native speaker with some knowledge of SQL. Currently
we actively use only a tutorial in the Czech language. Please write
[email protected] if you'd like to get involved.

From Martin von Gagern: GNU wdiff is a front end to diff for comparing
files on a word per word basis. A word is anything between
whitespace. This is useful for comparing two texts in which a few
words have been changed and for which paragraphs have been refilled.
It works by creating two temporary files, one word per line, and then
executes diff on these files. It collects the diff output and uses it
to produce a nicer display of word differences between the original
files.

The latest release was numbered 1.0.0, reflecting the fact that the
code has been around for a long time and is therefore considered quite
mature. So consider this change not so much as a radical program
improvement of some kind, but rather a fix to the fact that some
people tend to take a major version number of zero as an indication of
immature software. Although the NEWS entry for this release is a bit
longer than for some past releases, in terms of features and bug fixes
it might as well have been called 0.6.6.

So what has changed? As user noticeable changes we have updated
translations for Dutch, French, Danish and Slovenian, as well as a
completely new translation file for Ukrainian, thanks to Yuri
Chornoivan. The code will now give more useful results when the
diff program either cannot be executed or fails for some
reason.

Build time improvements include an update of our gnulib imports
as well as an extension of the test suite. On the source code level,
there was some cleaning up, slightly improved portability with respect
to file descriptor duplication, and a unification of coding style
accomplished through GNU Indent.

From Arun Persaud: XBoard is a graphical user interface to chess in
all its major forms (and many others). Over the last year XBoard
development has seen three new releases (4.5.x) fixing lots of bugs
and including many new features and some redesign of the GUI.

An ongoing effort is to merge the code of XBoard and its so-called
“Winboard” companion back into one code base. we are now closer
than ever to completely this task. To this end the effort to update
the GUI and to move to GTK has been restarted. Nevertheless, we can
always need more help! If you are interested in this and are willing
to help, please contact us at [email protected]. You can
of course also contact us to discuss other issues/ideas too.

From Henrik Sandklef: Xnee is a suite of programs that can record,
replay and distribute user actions under the X11 environment. Think
of it as a robot that can imitate the job you just did. The latest
version is 3.10, released in August 2011.

In its role as feature-enhanced mkisofs emulator, it serves
underneath the GRUB2 script grub-mkrescue and it produces the
installation images of Debian GNU/Linux.

GNU xorriso is widely portable, although its capability to burn CD,
DVD, and Blu-ray is currently restricted to GNU/Linux, FreeBSD, and
Solaris. Porting this capability to other operating systems is mainly
a matter of knowing how to pass SCSI/MMC command transactions through
the operating system kernel to burner drives attached via SCSI, (P)ATA,
SATA, USB, or other busses.

Development is currently focused on improving xorriso behavior in rather
unusual situations and, of course, on hunting down any bugs. Recent
improvements are:

Recording and restoring ACLs and extattr on FreeBSD.

More rugged with non-persistent device names in modern GNU/Linux
distributions.

Making media readable which were left damaged after burner failures.

Production of Jigdo files which can be put together to form a
bootable ISO 9660 image, e.g. for installing Debian GNU/Linux.

ISOLINUX bootable images with a MBR partition table that bears the
mountable ISO at a partition with non-zero start address.