PDA

View Full Version : help required re: rpmbuild error on f-spot



psyklops
20th May 2006, 06:18 AM
Hi All,

I'm trying to build the latest version of f-spot (http://f-spot.org/Download). The current one in the existing Feodra repositories crashes on my system. The standard ./compile, make and make install runs and works fine (and is I'm now crash-free :) ) so I thought I'd go ahead and create an rpm file. I did the following:

1. Created the rpmbuild directories as indicated in Thomas Chungs guide (http://fedoranews.org/tchung/rpmbuild/)
2. Copied the spec file from the directory I compiled the source from to the ~/rpmbuild/SPECS directory.
3. Copied the source tarballs to the ~/rpmbuild/SOURCES

However, I'm getting the following error:



error: File must begin with "/": lib64/f-spot/*
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.63220
+ umask 022
+ cd /home/larry/rpmbuild/BUILD
+ cd f-spot-0.1.11
+ DOCDIR=/var/tmp/f-spot-root/usr/share/doc/f-spot-0.1.11
+ export DOCDIR
+ rm -rf /var/tmp/f-spot-root/usr/share/doc/f-spot-0.1.11
+ /bin/mkdir -p /var/tmp/f-spot-root/usr/share/doc/f-spot-0.1.11
+ cp -pr COPYING README /var/tmp/f-spot-root/usr/share/doc/f-spot-0.1.11
+ exit 0
Processing files: f-spot-debuginfo-0.1.11-1
Provides: libfspot.so.0.0.0.debug()(64bit) libfspoteog.so.0.0.0.debug()(64bit) libfspotjpegtran.so.0.0.0.debug()(64bit)
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1


RPM build errors:
File must begin with "/": lib64/f-spot/*


It's interesting that I can easily compile, build and install the package but the rpm build fails?

Any ideas, help will be greatly appreciated!

Thanks in advance! :)

markkuk
20th May 2006, 10:24 AM
The actual error is before the first line you quoted in your output. The fact that the program compiles OK manually but RPM building breaks indicates an error in the spec file.

psyklops
20th May 2006, 10:49 AM
Thanks Markkuk. I figured as such. I just copied the spec file created originally by ./configure

I am thinking that it has something to do with trying to find the libraries it needs and not defined in variables for rpmbuild??

Also, when I run the ./configure it finds the dependencies, however when I run 'rpmbuild -ba ~/rpmbuild/SPECS/f-spot.spec' it comes up with a 'mono' dependency error, which I know are installed. So i actually got this far by adding the --nodeps parameter ?? :confused:




Summary: F-Spot
Name: f-spot
Version: 0.1.11
Release: 1
License: GPL
Group: Applications/Imaging
Source: f-spot-%{version}.tar.gz
BuildRoot: /var/tmp/%{name}-root
BuildPrereq: mono
Prefix: /opt/gnome

%description
An application to organize your photographs.

%prep
%setup -q

%build
./configure --prefix=%{_prefix} \
--localstatedir=/var/lib \
--datadir=%{_prefix}/share
make

%install
rm -rf $RPM_BUILD_ROOT
MAKE=${MAKE:-make}
DESTDIR=${DESTDIR:-"$RPM_BUILD_ROOT"}
case "${RPM_COMMAND:-all}" in
install|all)
make install DESTDIR=${DESTDIR}
;;
esac

%clean
rm -rf $RPM_BUILD_ROOT

%post

%files
%defattr(-,root,root)
%doc COPYING README
%{_lib}/f-spot/*
%{_prefix}/bin/f-spot

%changelog
* Thu Aug 27 2004 Nat Friedman <nat@novell.com>
- initial packaging of 0.0.2

markkuk
20th May 2006, 05:29 PM
%files
%defattr(-,root,root)
%doc COPYING README
%{_lib}/f-spot/*
%{_prefix}/bin/f-spot

I believe the files section should use %{_libdir} and %{_bindir} instead of %{_lib} and %{_prefix}/bin. See the Fedora f-spot.spec (http://cvs.fedora.redhat.com/viewcvs/rpms/f-spot/FC-5/f-spot.spec?rev=1.18&view=auto) file for comparision.

psyklops
21st May 2006, 01:28 AM
That did it! :D

I compiled the latest (http://ftp.gnome.org/pub/gnome/sources/f-spot/0.1/f-spot-0.1.11.tar.bz2) version 0.1.11 tarballs into an rpm.

There was patches indicated which I just commented out as the initial build mentioned they had been 'applied'.

Thanks again.