September 28, 2005
This article was contributed by Mark Wielaard
The latest releases of
GCJ,
GNU Classpath,
Kaffe and various other free software
projects have made it possible for the various GNU/Linux distributions
to package non-trivial applications and libraries written in the java
programming language. To coordinate and advance the state of the
packages, the Debian packagers suggested having a
DevJam
during the Oldenburg Linux Developers Meeting, which was held from
September 21 to 25..
They invited various packagers
from other distributions, as well as upstream developers.
The Oldenburg Linux
Developers Meeting is set up in a way that makes participation as
easy and inexpensive as possible. There is no entrance fee, but donations
are welcome. There are several large rooms at the University of
Oldenburg where people can install their computers, use the network
and possibly sleep when they get tired of hacking. During the whole
event a 'continuous breakfast' is provided (with lots of
coffee). There are no formal presentations, but people break away from
time to time in separate rooms for informal discussions. All this
makes the Oldenburg meeting a really intense and productive meeting,
although most participants have severe sleep deprivation at the end.
In total there were around 60 hackers present in Oldenburg, mostly
working on various kernel porting efforts. Also, several Debian groups
such as the Installer and Security teams were present. The GNU
Classpath distro DevJam group consisted of around 14 people.
Attendees included several packagers from Debian,
Gentoo, Fedora, OpenEmbedded and SUSE, and some developers from the GNU
Classpath, GCJ, Kaffe and Cacao projects. The participants seemed to
agree on
the goals (a mature Free Software packaging and development
toolchain), which kept the discussions largely free of politics,
and focused on technical issues.
The main subjects discussed where the completeness of the free
toolchains, common packager frustrations with upstream packages
written in the java programming language and how to combine and
integrate GCJ ahead of time compilation with a traditional Java
environment.
Completeness of the toolchain
Stuart Ballard maintains
japitools, a tool that
can show binary compatibility issues between libraries. On kaffe.org
he maintains an overview of the binary compatibility between the free
and proprietary core library implementations. GNU Classpath recently
reached more then
90%
api coverage when compared with the proprietary 1.4 JDK library.
There is still a lot to do on the correctness, robustness and performance
of the library. Some parts, such as printing, have 100% interface coverage
according to japi, but no back-end implementation yet. But the recent
progress has been amazing. For most of the missing parts, there are
already people working on their completion. Also, a special development
branch has been started to provide new 1.5 library work based on
generics and other language extensions. These new language extensions
are supported by
GCJX, a
new compiler developed by Tom Tromey. In the future,
GCJX will replace the current GCJ compiler in GCC.
For the distributions a lot of the focus is not on completeness
(filling that last 10%), but on making real world applications
work. The interaction between the packagers and the upstream
developers seems to be tight, and working out nicely. The programs that
are packaged by the distributions seem to work well now, but for
people wanting a full free replacement for the Java platform, a lot of
work is still needed. The main worry at the moment is that there is no
plan yet for a complete security audit of the full stack. This prevents
distributions from packaging applet viewers and interesting applications
that make use of the permission-based security framework using signed
jar files.
Common packaging headaches
There were several talks about the ways Gentoo, Fedora and Debian
package stuff. All of the distributions face one common problem:
In the tradition Java world, there is no strong versioning system.
Small updates to libraries often break source or binary compatibility.
A lot of projects written in the Java language "package
the world", meaning that they often just include all of the projects
they depend on.
Inclusions are done as binary jar blobs, probably to guard against the weak
versioning of traditional jars.
Luckily the
JPackage project has been collecting
dependency information and splitting up programs and their library
dependencies in separate packages. Fedora has been trying to base all of
their packages on JPackage. The other distros would also try to push
any improvements (at least the versioning and dependency information)
to JPackage so they can easily be shared between the various packagers.
GCJ and ahead of time compilation
With
GCJ 4 it is easy to
mix and map traditional java byte code with ahead of time compiled
shared libraries. Ahead of time compilation reduces startup time and
can reduce resource usage since several processes can use the same
shared library. One of the tools for this is gcj-dbtool, written by
Andrew Haley. gcj-dbtool allows for setting up a system-wide database
mapping of classes to pre-compiled shared objects.
Using the MD5 sum of a
class in this database, a program that loads a class or jar file will
automatically map in the correct ahead of time compiled shared library
without needing to interpret or just in time compile the byte code.
This process can be made almost completely transparent to the
program, developer and packager using
aot-compile.
This is a new tool written by Gary Benson for automagically finding,
extracting and pre-compiling all classes found in a package with gcj,
then storing them in the correct gcj-dbtool database. Together with
gcj-java-compat, by Thomas Fitzsimmons, it provides a traditional
looking Java platform that automatically uses ahead of time compiled
code whenever possible without the user or developer having to setup
anything special. The aot-compile tool is currently somewhat RPM
specific, but will be made generic enough so that it can be adopted by
the other packaging systems.
Future developments
Debian has been moving a large set of packages from contrib to main
using the above tools. More then
50
packages that used to depend on a proprietary Java toolchain can
now be freely used. For some packages, like Eclipse, gcj ahead of time
compilation is being added. Fedora has rolled out Fedora Core 4, which
included some native-compiled applications like Eclipse and the
OpenOffice.org 2 plugins written in Java. All of those were precompiled with
gcj. For Fedora Core 5, they want to add some major applications like
the Jonas application server. For a list of potential packages that
might pop up in future releases of the various distributions look at
the free section of
jpackage.org. The meeting seems to
have been such a success that there are already plans for a
DevJam++ meeting.
Comments (1 posted)
System Applications
Clusters and Grids
Release 2.0.2 of Linux-HA, the Linux High Availability project, has
been announced.
"
This release has been restricted to a small number of important bug fixes."
Full Story (comments: none)
Database Software
The first release candidate for MySQL 5.0 is out. The announcement (click
below) calls 5.0 "certainly the most important release in MySQL's history."
Changes include many new SQL standard features (views, triggers, and stored
procedures, for example), some new storage engines, and more.
Full Story (comments: none)
The September 25, 2005 edition of the PostgreSQL Weekly News
is online with the latest PostgreSQL database articles.
Full Story (comments: none)
Proboscis version 0.1
has been released.
"
This is the first release announcement for Proboscis[1], the PQueue based Green
Trunk implementation. It is a PostgreSQL driver/interface for Python. Another
one? Well, yes and no. Proboscis is not libpq based, nor does it primarily
produce a DB-API 2.0 interface(0.2 may include a layer for DB-API 2.0 users)."
Comments (none posted)
Version 0.5 of PyODB, a Python unixODBC API binding,
has been announced.
"
This release contains improvements to the mapping between the SQL
and Python datatypes and a re-write of the data retrieval code.
Also some changes to the reference counting."
Comments (none posted)
Version 3.5.1 final of ZODB, the Zope Object Database, is out.
"
ZODB 3.5.1 contains (just) a few bugfixes relative to 3.5.0,
involving Zope 3's zeoctl and mkzeoinst scripts, and the ZopeUndo.Prefix
class."
Full Story (comments: none)
Mail Software
Version 0.96.2 of bogofilter, an email spam/ham classifier,
has been released. Click below for the release notes.
Full Story (comments: none)
Networking Tools
The netfilter project has released three new applications:
libnfnetlink - a low-level userspace library for nfnetlink based
communication, libnfnetlink_conntrack - a library for userspace access
to the in-kernel connection tracking table, and conntrack -
a command line program for listing, querying, deleting,
updating entries in the connection tracking table.
Full Story (comments: none)
Telecom
The first release candidate for GNU Bayonne 2, a business-oriented
telephony application server,
has been announced.
"
GNU Bayonne 2 1.0 is composed of a subset of those services and features found in the recently introduced, and very rapidly advancing GNU Bayonne 2 development effort. Features were chosen for introduction in this release candidate that were already stable and effective for production use and supportable under GNU/Linux and other platforms."
Comments (none posted)
Web Site Development
Version 1.5.1 of Gallery, a web-based photo gallery application,
has been released.
"
This release is primarily a bugfix release but includes several new features that should make this worth the upgrade."
Comments (none posted)
Version 3.2.34 of the
mnoGoSearch
web site search engine has been released.
See the
change history
for release details.
Comments (none posted)
Version 2.2 of Quixote, a Python-based web development platform, is out
with numerous improvements.
Full Story (comments: none)
Desktop Applications
Business Applications
Version 0.8.6 of JFreeReport, an embedded report generator written in Java,
has been announced.
"
JFreeReport 0.8.6 adds the ability to distribute wide pages over multiple physical pages, much like spreadsheet applications like Excel print overly large tables. The new StackedLayoutManager simplifies the usage of dynamic elements and improvements in the XML parser implementations allow the definition of global stylesheets for all available report definition formats."
Comments (none posted)
Version 0.0.10 of Tina POS, a point of sales application with a
touch screen interface,
has been announced.
"
This version adds new functionality: reservations management for restaurants, and a inventory diary report. A new italian translation. The sales chart changed, now is a jasperreports report. Bugs fixed: reports can be exported to PDF format and graphics are printed, not the black rectangle. And a new picture of Tina."
Comments (none posted)
Calendar Software
MozillaZine
has announced the publication of a
project roadmap for the Lightning calendar project.
"
An initial roadmap for the Lightning calendar project has been created by Dan Mosedale. The document, which is currently rather sparse, sets out the basic plan for the Mozilla Thunderbird calendaring and scheduling add-on, specifying the aims for Lightning 0.1 (targetted for November this year), Lightning 0.2 and the future."
Comments (none posted)
Desktop Environments
The following new GNOME software has been announced this week:
You can find more new GNOME software releases at
gnomefiles.org.
Comments (none posted)
The GNOME 2.14 schedule has been announced.
Full Story (comments: none)
The following new KDE software has been announced this week:
You can find more new KDE software releases at
kde-apps.org.
Comments (none posted)
Accessibility
The Gnome and KDE Accessibility Projects together with the Free Standards
Group Accessibility Work group (FSG Accessibility) have issued a
Statement
On Desktop Accessibility Development. "
We wish to allay any
concern that our standardization efforts might be focused on any one
particular toolkit or desktop technology to the exclusion of other toolkits
and desktops. We believe it is imperative to preserve choice and to
maximize available options for users. Therefore we are developing an
accessibility standard based on functional performance criteria implemented
in messaging protocols fully independent of any particular toolkit or
desktop technology. We believe users who are persons with disabilities
should be empowered to choose technologies from any and all environments
which provide accessibility just as other desktop users today routinely use
a mix of technologies from different desktop environments. Our goal is
seamless interoperability." (Found on
KDE.News and
GnomeDesktop)
Comments (none posted)
Games
Version 0.6 of Statfink, a Football (US style) statistics tracker and
live scorer,
has been announced.
"
Version 0.6 fixes a bunch of things and adds a bunch of things, check the changelog for details. Trust me, you want it.
It automatically grabs all your league's team data for your Yahoo fantasy football leagues and calculates your entire league's scores, live as the games happen! Don't pay for this functionality when you can host this program and provide it to your entire league!"
Comments (none posted)
GUI Packages
Version 2.6.2 of
wxWidgets, a
cross-platform GUI framework, is available.
"
This is a bug fix release."
Comments (none posted)
Imaging Applications
Unstable version 2.3.4 of the GIMP, an image manipulation program,
has been announced.
"
GIMP 2.3.4 has lots of changes all over the place, with the focus on usability. Most notable change is that plug-in dialogs are now transient to the image window and that the menus are being reorganized. This is an ongoing effort and you are invited to participate."
Comments (none posted)
KDE.News
mentions
the availability of training videos for KimDaBa, the
KDE Image Database.
"
For those of you who do not understand how to use KimDaBa, there is now no reason not to use it. KimDaBa is the first KDE application to offer small flash videos with voice-overs describing how to use it. See the tutorials at KimDaBa's video page or read on below for Jesper's description of how and why to make video tutorials of applications."
Comments (none posted)
Interoperability
The September 23, 2005 edition of
Wine Traffic
has been published. Topics include:
Summer of Code Wrapup, Docs Needed, FreeDCE & Wine,
WineD3D and DirectX7, Wine & WindowsCE, Finding Memory Leaks,
Printing & Acrobat Reader and Running Wine From Source Tree.
Comments (none posted)
Mail Clients
Release candidate builds of Mozilla Thunderbird version 1.0.7
have been announced.
"
Thunderbird 1.0.7 is a minor
update that will fix a few bugs, including a return receipt regression
introduced in version 1.0.2 (bug 289091) and the Linux command line URL
parsing security flaw (bug 307185)."
Comments (none posted)
Multimedia
GnomeDesktop.org
has announced the availability of a new
GStreamer newsletter.
"
The new[s]letter covers recent developments and changes and is meant to become a regular feature. Andy also sent out a mail proposing a roadmap for doing GStreamer 0.10 placing the 0.10 release in early December."
Comments (none posted)
Music Applications
The ALSA MIDI Kommander project has been launched.
"
ALSA MIDI Kommander is a DCOP interface exposing many ALSA
Sequencer features for shell scripts, Kommander scripts, or KDE
programs requiring MIDI Sequencer services. A few MIDI utilities
have been developed with this tool, which can be used both as
programming examples and as real work tools."
Full Story (comments: none)
Version 0.4.1 of KMidimon is out with multiple improvements.
"
KMidimon is an application to monitor MIDI events coming from
a MIDI external port or application via the ALSA sequencer.
It is especially useful if you
want to debug MIDI software or your MIDI setup."
Full Story (comments: none)
Version 0.2.0 of Om is out with bug fixes and other improvements.
"
Om is a realtime OSC controlled modular synthesizer
(effects processor, etc, etc) for Jack systems with LADSPA
and/or DSSI plugins."
Full Story (comments: none)
Office Applications
The ooo-build project has announced two new releases:
1.3.16 and
1.9.129. Both add bug fixes and
a small number of new features.
Comments (none posted)
Science
Version 0.11.0 pre2 of
BKchem,
a chemical drawing application, has been announced.
"
The second preview release of the 0.11 branch is out. This release focuses on improving the InChI reading capabilities. BKchem can now successfully read 98.5% of InChIs generated from the NCI database (about 120 000 compounds)."
Comments (none posted)
Web Browsers
Mozilla version 1.7.12
has been announced.
"
Fixes are included for the international domain name (IDN) link buffer overflow vulnerability and the Linux command line URL parsing flaw. There are also other security and stability changes, including a fix for a crash experienced when using certain Proxy Auto-Config scripts. In addition, some regressions introduced by previous 1.7.x security updates have been resolved. If this description sounds like our article on Mozilla Firefox 1.0.7, that's because most of the fixes included in the two releases are the same."
Comments (none posted)
The minutes from the September 19, 2005 mozilla.org staff meeting
have been announced.
"
Issues discussed include releases and the Mozilla
Foundation."
Comments (none posted)
Miscellaneous
Version 0.4.3 of QFE
is available.
"
QFE is full-featured FTN message editor with a graphical interface. It
written on C++/Qt and does not depend on either KDE or Gnome. This is a
minor release with minor enhancements and bugfixes. See Changelog for full
details about changes and improvements."
Comments (none posted)
Languages and Tools
C#
Version 0.3 of SharpMimeTools
has been announced.
"
SharpMimeTools is an open source MIME parser/decoder assembly that is written in C#. It fully works under .NET and Mono.
We have reached 0.3 milestone. So here is a new beta (0.3b). It has new features, some improvements and fixes."
Comments (none posted)
Caml
The September 27, 2005 edition of the Caml Weekly News is online
with the weekly roundup of Caml language articles.
Full Story (comments: none)
Java
The September 18-24, 2005 edition of This week on harmony-dev
covers the latest developments from the Harmony open-source Java project.
Full Story (comments: none)
James Elliott
introduces Hibernate on O'Reilly.
"
Hibernate is a free open source Java package that makes it easy to work with
relational databases. James Elliott describes the "enlightened laziness" that
resulted in the development of Hibernate, how it works, and when it makes
good sense to use it in your projects."
Comments (none posted)
Lisp
Version 0.9.5 of SBCL (Steel Bank Common Lisp) is out.
"
This version adds support for several additional external formats, new
timers, a byte rotation optimization, and fixes several bugs."
Full Story (comments: none)
PostScript
Version 8.15.1 of ESP Ghostscript
has been released.
"
ESP Ghostscript 8.15.1 is the first stable release based on GPL Ghostscript 8.15 and includes an enhanced configure script, the CUPS raster driver, many GPL drivers, support for dynamically loaded drivers (currently implemented for the X11 driver), and several GPL Ghostscript bug fixes. The new release also fixes all of the reported STRs from ESP Ghostscript 7.07.x."
Comments (none posted)
Python
Final version 2.4.2 of Python has been released, it features over
60 bug fixes.
Full Story (comments: none)
The September 26, 2005 edition of Dr. Dobb's Python-URL!
is out with the latest Python language discussions.
Full Story (comments: none)
Ruby
The September 25th, 2005 edition of the
Ruby Weekly News looks at the latest discussions
from the ruby-talk mailing list.
Comments (none posted)
Tcl/Tk
The September 28, 2005 edition of Dr. Dobb's Tcl-URL! is online
with the latest Tcl/Tk articles.
Full Story (comments: none)
Editors
Version 2.2 of PyPE, the Python Programmers Editor,
is available. Here are the changes:
"
Fixes a few minor functionality bugs and adds a handful of useful features: the ability to spawn external applications via an embedded shell, selection of search results from find in files selects the actual result, and encodings support during opening and saving."
Comments (none posted)
Page editor: Forrest Cook
Next page: Linux in the news>>