问题
I have a .spec
file that relies on a variable called _topdir
.
Right now when you checkout the SRPM source from git, you have to go and change where _topdir
is pointing to to get the rpmbuild
to function correctly.
# We need the following line so that RPM can find the BUILD and SOURCES and RPMS dirs.
%define _topdir /root/projects/my-project/my-project-srpm/
How do you specify that _topdir
should be relative to the location of the .spec
file so that _topdir
isn't hard coded?
回答1:
specify your topdir on the command line like so ...
rpmbuild --define "_topdir \`pwd\`" ...
回答2:
You can define the _topdir variable in your spec file (e.g., at the top)
%define _topdir %(echo $PWD)/
回答3:
In your ~/.rpmmacros file, do this:
%_topdir %(echo $PWD)/subdir
I'm unsure if you can do this inside the spec file itself, I don't see why not, but I'm unsure how to notate it.
来源:https://stackoverflow.com/questions/6285792/how-do-you-make-topdir-relative-to-the-location-of-the-spec-file-when-building