RPM

Comment 1 for bug 633657

Revision history for this message
In , James (james-redhat-bugs) wrote :

Created attachment 436681
rpm-4.7.2-reorder-spec-eval.patch

Description of problem:

I use macros that are defined in the spec file for rpm directory location, for example:

%_rpmtopdir %{_topdir}/%{name}/%{version}-%{release}

This is fine for rpm -i, but rpmbuild builds the directories before evaluating the spec file, so ~/rpmbuild directory has this:

[james@xavier rpmbuild]$ ls %\{name\}/
%{version}-%{release}

And, when building an rpm I get this:

$ rpmbuild -bp rpm.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.SHLyud
+ umask 022
+ cd /home/james/rpmbuild/rpm/4.7.2-3.spec_first.fc12/work
/var/tmp/rpm-tmp.SHLyud: line 23: cd: /home/james/rpmbuild/rpm/4.7.2-3.spec_first.fc12/work: No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.SHLyud (%prep)

RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.SHLyud (%prep)

Version-Release number of selected component (if applicable):

rpm-4.7.2-2.fc12.x86_64

I know I filed in 13, but the bug is present there as well

How reproducible:

Always

Steps to Reproduce:
1. rpm -i *.src.rpm
2. rpmbuild -bp *.spec
3. errors

Actual results:

$ rpmbuild -bp rpm.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.SHLyud
+ umask 022
+ cd /home/james/rpmbuild/rpm/4.7.2-3.spec_first.fc12/work
/var/tmp/rpm-tmp.SHLyud: line 23: cd: /home/james/rpmbuild/rpm/4.7.2-3.spec_first.fc12/work: No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.SHLyud (%prep)

RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.SHLyud (%prep)

Expected results:

rpmbuild unpacks rpm

Additional info:

Patch attached