Dave Pawson wrote:
New to rpm's in general. I'm trying to help out with Klavaro,
currently about 4 versions behind
the Sourceforge version. FC9 has 1.1
$ rpm -qa klavaro
klavaro-1.0.1-1.el5.rf.i386
current version is 1.1.6
I've attempted a spec file, from the sources at
http://klavaro.sourceforge.net/en/
and it seems to be partially working.
I'm stuck on debugging it though.
I've built /usr/src/redhat/RPMS/i386/klavaro-debuginfo-1.1.6-1.fc9.i386.rpm
Questions.
How to find out if this is up to standard?
How to properly test it please?
I'm running FC9 on an i386 arch (I think!)
spec file below
%define version 1.1.6
%define dist
%define _tmppath /tmp
%define release 1
Don't define %dist and %_tmppath in the spec file.
They should be defined in the users .rpmmacros file.
In the vast majority of cases, it is better to define version and
release directly in the
Version:
Release:
Name: klavaro
Version: %{version}
Release: 1%{?dist}
Summary: Klavaro
Prefix: /usr
Don't define Prefix - except maybe for relocatable packages
Provides: klavaro
That is not necessary since it is the same as the package name
Group: Applications/Multimedia
License: gpl v2
If you want to keep rpmlint happy - that should be
License: GPLv2
URL: http://klavaro.sourceforge.net/en/
Source0: klavaro-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#BuildRequires: -
#Requires: -
%description
is just another free touch typing tutor program. Built by %{packager}
The packager should not be in the description. If a user really wants to
know, they can query the RPM database.
%prep
%setup -q
%build
%configure
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
/usr/bin/klavaro
/usr/bin/klavaro_helper
since you used %configure - those should be
%{_bindir}/klavaro
%{_bindir}/klavaro_helper
/usr/share/klavaro/*
Should ve
%{_datadir}/klavaro
That way - the rpm owns the directory and all its contents
/usr/share/locale/*
That's a big nono.
Up in the top of the spec - do
BuildRequires: gettext
Then in the install section -
%find_lang %{name}
Then for %files -
%files -f %{name}.lang
/usr/share/man/*
That will result in the package owning directories it shouldn't.
Should be
%{_mandir}/man1/*
etc.
%doc
%doc usually goes just after the %defattr(-,root,root,-) though it
doesn't have to.
It shouldn't be empty though, at a minimal it should have the GPL
(typically called COPYING in the source tarball) - but if there is a
README, ChangeLog, etc. - those should also be packaged with %doc
Since you are using fedora - see
http://fedoraproject.org/wiki/Packaging/Guidelines
_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list