Rpm: does it work?

Hello,
I’m trying to create an rpm of root 3.10.02, and I’m failing. I would like to know if this is supposed to work out of the box, or if it is a known problem (which I may event be able to help fix).
Thanks, Giuseppe

Hello again,
to answer my own question from yesterday, it is clear that the rpm construction available in root 3.10.02 does not generate an rpm spec file that can be used out of the box. I have the following problems:
[ul]a number of files in the file lists cannot be found (.cvsignore, that should actually be ignored in the rpm itself)
when that is fixed, a largish number of libraries is either listed twice or not packed.
the instructions in README/INSTALL suggest that one should re-package the source to unpack in a directory root-version, but if one does that rpmbuild -ta fails.
[/ul]

I offer my own version of root.spec file in the hope that it’ll be useful to others. I’m available to make a few modifications, should people find a problem with it. With it I’m able to install root on a Mandrake 9.2 machine. Contrary to the rpm spec file that is part of root itself, this one is an all-in-one-package solution, aimed at the root user. So, although the rootd binary is built and installed, there is no support in the installation scripts for the daemon configuration.

[code]%define ver 3.10.02
%define rel 1

######################################################################

Header

Name: root
Version: %{ver}
Release: %{rel}
Copyright: ROOT Software Terms and Conditions (see package)
Distribution: ROOT
Vendor: ROOT Team
URL: http://root.cern.ch
Source: ftp://root.cern.ch/root/root_v%{ver}.source.tar.gz
Group: ROOT
BuildRoot: /tmp/rootrpm
Summary: Numerical data analysis framework (OO)

Over all description - not used, but required

%description

From the web page (http://root.cern.ch/):

The ROOT system provides a set of OO frameworks with all the
functionality needed to handle and analyse large amounts of data in a
very efficient way. Having the data defined as a set of objects,
specialised storage methods are used to get direct access to the
separate attributes of the selected objects, without having to touch
the bulk of the data. Included are histograming methods in 1, 2 and 3
dimensions, curve fitting, function evaluation, minimisation, graphics
and visualisation classes to allow the easy setup of an analysis
system that can query and process the data interactively or in batch
mode.

Thanks to the built in CINT C++ interpreter the command language, the
scripting, or macro, language and the programming language are all
C++. The interpreter allows for fast prototyping of the macros since
it removes the time consuming compile/link cycle. It also provides a
good environment to learn C++. If more performance is needed the
interactively developed macros can be compiled using a C++ compiler.

The system has been designed in such a way that it can query its
databases in parallel on MPP machines or on clusters of workstations
or high-end PC’s. ROOT is an open system that can be dynamically
extended by linking external libraries. This makes ROOT a premier
platform on which to build data acquisition, simulation and data
analysis systems.

This package contains alsothe following:

  • rootd is a server for ROOT files, serving files over the
    Internet. Using this daemon, you can access files on the machine
    from anywhere on the Internet, using a transparent interface.

  • prootd is the core daemon of the PROOF (Parallel ROOt Facility)
    system for distributed parallel computing. Installing this package
    on a machine, makes it possible for the machine to participate in a
    parallel computing farm (cluster or via the Internet), either as a
    master or a slave, again using a transparent interface.

  • An interface OpenGL for 3D rendering of geometries and so on. It’s
    used extensively by the BRAHMS and STAR collaborations at Brookhaven
    National Laboratory for event displays.

  • cint: The interpreter allows for fast prototyping of the macros
    since it removes the time consuming compile/link cycle. It also
    provides a good environment to learn C++. If more performance is
    needed the interactively developed macros can be compiled using a
    C++ compiler.

  • The tutorial scripts and test suit for the ROOT system.

  • The header files (Class declarations) for the ROOT class libraries.

%prep
%setup -q root

%build
./configure linux --prefix=/usr
–enable-exceptions
–enable-opengl
–enable-rpath
–enable-shared
–enable-soversion
–enable-thread
–disable-shadowpw

make
%install
make install DESTDIR=${RPM_BUILD_ROOT}
%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
/usr
/etc
%config /etc/root/hostcert.conf
%config /etc/root/system.rootrc
%config /etc/root/system.rootdaemonrc
%config /etc/root/root.mimes
%config /etc/root/pdg_table.txt

%changelog

  • First version.

[/code]