rpm spec file %define
Michael Schwendt
mschwendt at gmail.com
Sun Jan 10 14:48:16 UTC 2016
On Sun, 10 Jan 2016 03:16:24 +0000, Joseph L. Casale wrote:
> I have a spec with two source files where I do not create the second, it's not mine:
>
> Source0: %{name}-%{version}.tar.gz
> Source1: foo-bar.tar.xz
>
> My prep sections looks like:
>
> %setup -q
> %setup -q -T -D -a 1
>
> The tar.xz for Source1 has an unversioned name however it unpacks to a
> versioned directory so I am trying to do something like:
>
> %define foo-bar_dir %(ls -d %{_builddir}/%{name}-%{version}/foo-bar-*-baz |grep -o '[^/]*$')
>
> so I can leverage %{foo-bar_dir} in the %files section.
That approach sounds too complicated. %setup is a macro in the %prep
section, where you can run more commands to _set up_ your builddir. The
most obvious choice IMO would be to _rename_ the versioned dir to something
unique. You could also avoid the second invocation of %setup and extract
Source1 yourself using "tar". The parameters of the second %setup call
don't define builddir anymore, but only extract into the builddir from
the first invocation.
More information about the users
mailing list