File: README.Debian.html

package info (click to toggle)
babel 0.10.2-1
  • links: PTS
  • area: contrib
  • in suites: sarge
  • size: 43,932 kB
  • ctags: 29,707
  • sloc: java: 74,695; ansic: 73,142; cpp: 40,649; sh: 18,411; f90: 10,062; fortran: 6,727; python: 6,406; makefile: 3,866; xml: 118; perl: 48
file content (138 lines) | stat: -rw-r--r-- 6,105 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <link rel="icon" type="image/png" media="screen, print" href="favicon.png" />
   <link rel="shortcut icon" type="image/x-icon" media="screen, print" href="favicon.ico" />
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="Author" content="Adam C. Powell, IV">
   <meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; Linux 2.4.2-pentiumiii-smp i686) [Netscape]">
   <title>Debian package for Babel</title>
</head>
<body>

<center>
<h1><a href="http://www.llnl.gov/CASC/components/babel.html">Babel</a> Debian
Package Current Status</h1></center>

<center>
<h3>Adam Powell, last modified May 3, 2005 for version 0.10.2-1</h3></center>

<center><a href="http://lyre.mit.edu/~powell/babel/">Package archive</a>,
<a href="http://packages.qa.debian.org/b/babel.html">PTS page</a>,
<a href="http://http.us.debian.org/debian/pool/contrib/b/babel/">US
mirror pool</a></center>

<p>This page documents my effort to package the
<a href="http://www.llnl.gov/CASC/components/babel.html">Babel SIDL
compiler</a> for the Debian GNU/Linux operating system.&nbsp; The upstream
authors are at Lawrence Livermore National Laboratories.

<p>Why a Debian package?  Being able to type, "apt-get install babel" is a lot
easier than downloading, compiling and installing the source.  Also, this
package puts the various files in their standard Debian places, and includes
documentation metadata to link the Babel documentation from Debian doc-base
frontends.  But perhaps most importantly, having a Debian package formalizes
the process of packaging software which uses Babel and SIDL on Debian (as the
other packages would just Build-Depend on babel, sidl, python2.2-babel, etc.),
and if it lives up to its to its promise, that could be quite a lot of
important scientific software.

<h3>Package description:</h3>

The <tt>babel</tt> source package builds six binary packages:

<ul>
<li><b><tt>babel-0.10.2</tt></b> has the SIDL compiler itself, which consists
of the <tt>babel-0.10.2.jar</tt> Java archive in <tt>/usr/share/java</tt>
following the
<a href="http://www.debian.org/doc/packaging-manuals/java-policy/">(proposed)
Debian Java policy</a>, and the <tt>/usr/bin/babel</tt> script which runs it,
along with the <tt>/usr/share/babel-0.10.2</tt> directory which contains
<tt>sidl.sidl</tt>, the <tt>.dtd</tt> files, and the <tt>repository</tt>
subdirectory.</li>

<li><b><tt>libsidl0.10.2-java</tt></b> has the <tt>sidl-0.10.2.jar</tt> runtime
Java archive file.</li>

<li><b><tt>libsidl0.10.2</tt></b>* has the C runtime shared library.</li>

<li><b><tt>libsidl-dev</tt></b>* has the C runtime static library, headers,
symlinks, and <tt>babel-config</tt> script needed to develop against the shared
library.</li>

<li><b><tt>python2.3-babel</tt></b>* has the python runtime modules and
headers.</li>

<li><b><tt>babel-0.10.2-doc</tt></b> has all of the documentation which ships
with the source (ps, pdf, ppt), along with Debian <tt>doc-base</tt> metadata so
this documentation is indexed in frontends like <tt>dhelp</tt> and
<tt>dwww</tt>.</li>
</ul>
*Architecture-dependent packages.

With the exceptions of python2.3-babel and libsidl-dev, these packages are
designed to avoid collisions between versions, allowing one to install multiple
versions simultaneously for testing, different software requirements, etc.

<h3>Questions/issues:</h3>

<ol>
<li>With the original makefile, the package build fails while <tt>make</tt>ing
the <tt>force-jarfile</tt> target in the <tt>compiler</tt> subdirectory.  This
is because of <a href="http://bugs.debian.org/170059">bug 170059 in kaffe</a>,
whose <tt>jar uf</tt> function is broken.<p>

In packages from release 0.7.4-2, the makefile is patched to solve this
problem.  Upstream knows about this issue, and after 0.8.4, will probably
incorporate something like this workaround.<p>

UPDATE: upstream has fixed this in 0.8.4 so only <tt>jar c</tt> is used.</li>

<li>It would be nice if variables like <tt>docdir</tt> and <tt>jardir</tt>
could be defined during the <tt>configure</tt> process, that would cut down
considerably on the patch size.  At some point I'll probably generate a patch
for upstream.</li>

<li>The <tt>babel</tt> source ships with several other <tt>.jar</tt> files
which it seems to need.  However, it builds just fine using standard Debian
versions of these, such as <tt>gnu.getopt-1.0.9.jar</tt> in the
<tt>libgetopt-java</tt> package, and <tt>xerxesImpl-2.4.0.jar</tt> in the
<tt>libxerxes2-java</tt> package, and as of 0.8.6 <tt>xml-apis.jar</tt> from
the <tt>libxalan2-java</tt> package.  The other three (<tt>jcert-X.jar</tt>,
<tt>jnet-X.jar</tt> and <tt>jsse-X.jar</tt>) are from the Sun JDK, which is not
distributable in Debian free, but is necessary only for <tt>babel</tt> to
access the
<a href="http://www.llnl.gov/CASC/components/alexandria.html">Alexandria</a>
component repository.  At some point I'll patch <tt>aclocal.m4</tt> to look in
the Java archive directory (see previous point) for <tt>getopt</tt> and
<tt>xerces</tt>, and the <tt>babel</tt> script to detect the SUN <tt>.jar</tt>
files at runtime (so the <tt>babel</tt> package can Suggest the Sun JDK, and
live with or without it), and send these patches upstream.</li>
</ol>

<h3>
To do (in roughly decreasing order of priority):</h3>

<ul>
<li>Get babel working with gcj-3.3/kaffe, and close bugs
<a href="http://bugs.debian.org/197090">197090</a> and
<a href="http://bugs.debian.org/209283">209283</a>!</li>

<li>Make a dummy <tt>babel</tt> package which depends on new versions of the
packages to smooth upgrades.</li>

<li>Version the libsidl-dev and python2.3-babel packages and have them use
alternatives to avoid filename collisions, to complete the enabling of multiple
versions installation.</li>

<li>Write a better manpage for <tt>/usr/bin/babel</tt> and contribute it
upstream.</li>

<li>Test the <tt>babel</tt> package with the <tt>hello</tt> example
provided.</li>
</ul>

<address><a href="./">Adam Powell</a></address>

</body>
</html>