Building a gnumeric-0.57 rpm



Hi

I normally rely on Helixcode for updates but was keen to try the new version
of gnumeric so I built my own rpm.  It was not a straightforward process and
I thought my experience might help others so I've detailed the procedure I
followed below.  I had problems with unicode too and my fix is detailed
there.

Hope this helps some fellow gnumeric fans

Malcolm Gray


Building a gnumeric.0.57 rpm
============================

Starting point
--------------
My system is based on a 500MHz Celeron.  It is running RedHat 6.1 with
Gnome 1.2, installed from the Helix Gnome Preview Two CD and updated to
current Helixcode releases of relevant packages.  Hence the system already
has available:
        glib-1.2.8
        gtk+-1.2.8
        gnome-libs-1.2.4
        libxml-1.8.7
Your starting point may be different so your may need to do more updating.
Hopefully the process described here will provide some guidance on how to
proceed even if you do not use the RedHat distribution or Helix Gnome.

Collect the tarballs
--------------------
From the stable/sources directory of your nearest gnome mirror collect
tarballs for:
        gnumeric-0.57
        gnome-print-0.24
        libglade-0.14.SNAP
From the unstable/sources directory collect tarballs for
        gal-0.1
        gdk-pixbuf-0.9.0
        libole2-0.1.6
        libunicode-0.4.gnome
It is important to get the gnome version of libunicode-0.4 for reasons
explained shortly.

Method
------
Whenever possible I prefer to build rpms that will install executables in
/usr/bin.  Hence the first step is to move all the tarballs to
/usr/src/redhat/SOURCES.  The rpms will then be placed in
/usr/src/redhat/RPMS/i386 and will be automatically visible to gnorpm when
the install button is pressed.  All the packages except gal contain spec
files which allow rpms to be built from the tarballs, although in some cases
the spec files require editing for the build to be successful.

Libunicode
----------
Libunicode should be built first and the spec file must be modified.  First
change the name of the file by deleting the ".gnome" part to reflect the
name
used in the spec file.  Then untar the file and copy libunicode.spec into
the ../SPECS directory.  A line needs to be added at the end of the file
        %{prefix}/lib/*.sh
This ensures that the unicodeConf.sh file gets included in the rpm and
ultimately placed in /usr/lib.  Without this file, the configure for gal
(see below) will throw up "unknown library" errors and, if these are
ignored,
the build of gnumeric will fail with a group of "undefined reference" errors
involving unicode library variables.  The non-gnome version of the tarball
will not produce this file.  The rpm can now be built from the SOURCES
directory with
        rpm -bb ../SPECS/libunicode.spec
and the resulting rpm installed.

Plain sailing
-------------
Building and installing rpms for libole2, libglade and gdk-pixbuf is
straightforward.  They should be done in this order using, eg,
        rpm -tb libole2-0.1.6-1.tar.gz

Gnome-print
-----------
There is a problem with the spec file here too so follow the same procedure
as for libunicode to get a spec file to edit.  Then change the line
        %config %{prefix}/share/gnome-print/0.24/profiles/Postscript.profile
to
%config
%{prefix}/share/gnome-print/0.24/profiles/PostscriptOptimized.profile
This picks up the profile actually available.  Build and install the rpm as
for libunicode.

Gal
---
The gal tarball does not contain a spec file so untar the tarball, cd to
gal-0.1 and type
        ./configure --prefix=/usr
This script should execute without errors and produce the relevant
makefiles.  Then type "make", without the quotes, and when that completes
type "make install".  This should have installed the gal library in
/usr/lib/.

Gnumeric
--------
The gnumeric tarball allows an rpm to be built, but again there are problems
in the spec file so make one available for editing following the procedures
above.  First delete the letter "t" from the end of the two occurrences of
"Sept" near the beginning of the "%changelog" section of the file.  Yes,
this will stop it building.  Put "# " at the beginning of the line
        %{prefix}/share/gnumeric/%{version}/python/*
to comment it out because these files do not appear to exist in this
version of gnumeric.  Then edit the line
        %{prefix}/share/gnumeric/idl/*.idl
so it reads
        %{prefix}/share/gnumeric/%{version}/idl/*.idl
reflecting the actual location of the relevant files.  Then build an rpm as
for libunicode above.  When this rpm is installed the rpm manager will
complain that it needs gal.  Since gal was installed directly not through
an rpm, there is no record of it in the rpm database.  Ignore this message
and proceed to install the rpm.  You should now have a functioning
gnumeric-0.57.  If you've been working, as I did, on a gnome desktop, it's
probably useful to log out and log back in again to let all the updates take
full effect before starting gnumeric.  Then enjoy!






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]