Re: gal.spec



OK, the idea here is good, but the implementation is somewhat flawed,
IMHO.  See below for some notes (I've snipped the irrelavent parts of
the spec file).

BTW, can anybody here read HTML emails?  That would make these editing
tasks a LOT easier, as I could colour-code things.


On Fri, 2001-08-31 at 23:44, Chris Lyttle wrote:
Name:            gal
[snip]
BuildRoot:       /var/tmp/gal-%{PACKAGE_VERSION}-root

I use %{_tmpdir}/gal-%{version}-root, as I'm sure that it works, and it
lets the packager specify where to put temp files a little more easily.
This might matter on non-linux OS, but I'm not sure where else it
matters.

[snip]
%package devel
Summary: Libraries and include files for the G App library.
Group: Development/Libraries
Requires:   %{name} = %{version}
Requires:   libgal8

Ick, no, bad.  libgal8 is clearly the WRONG name.  How can the generic
gal-devel package depend on a specific version of libgal?  Yucko.


%description devel
The gal-devel package includes the static libraries and header files for
the
gal package.

Install gal-devel if you want to develop programs which will use gal.

%package -n libgal8
Summary: The GNOME Application Library
Group: Libraries/System
Requires: gal


Formatting here needs some work.  Do not encode the version number in
the name of that package.  There's a version field for that.  libgal is
OK, although I'd much prefer gal-libs, IF splitting into three packages
is required.  We'll see below.


[snip]
%files
%doc README AUTHORS COPYING ChangeLog NEWS
%{_datadir}/gal


This seems to contain some .glade files, and some developer docs.  The
%doc files can really go in any package you like.  I don't know what the
.glade files do, do you?  They're in version-specific directories, which
means that they're meant to allow parallel installs.  The developer docs
should be moved to the -devel rpm.


%files devel
%defattr(-, root, root)
%{_libdir}/libgal.so
%{_libdir}/galConf.sh
%{_libdir}/libgal.a
%{_libdir}/libgal.la
%{_includedir}/gal


These all look like development related files, good.

%files -n libgal8
%defattr(-, root, root)
%{_libdir}/libgal.so.*
%{_datadir}/etable/%{version}/glade/*.glade
%{_datadir}/gal/%{version}/glade/*.glade

What version of RPM are you using that allows you to list files twice?
AFAIK, this only works properly in RPM 4.0.3, which only ships with the
Red Hat beta called "roswell" as far as I know.  Let's see...
[snip]


%files -f %{name}.lang
%doc README AUTHORS COPYING ChangeLog NEWS
%{_datadir}/etable/%{version}
%{_datadir}/gal/%{version}
%{_libdir}/*.so.*

%files devel
%defattr(-, root, root)
%{_libdir}/*.so
%{_libdir}/*.*a
%{_libdir}/galConf.sh
%{_includedir}/gal
%{_datadir}/gal/html

If you write the %files section like that, it WILL allow you to install
multiple versions of gal at the same time.  When you upgrade from, say
0.8 to 0.9, you simply need to do 'rpm -ivh gal-0.9-1.i386.rpm',
followed by 'rpm -Uvh gal-devel-0.9-1.i386.rpm'.  Assuming that gal-0.9
doesn't provide the same shared library versions as gal-0.8, then you'll
have both versions of gal installed, with the development headers for
the latest versions.  Any questions?
	Greg






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