[CentOS] An rpmbuild spec question

Thu Dec 28 12:49:44 UTC 2017
mark <m.roth at 5-cent.us>

On 12/27/17 17:29, Jonathan Billings wrote:
> On Dec 27, 2017, at 15:40, m.roth at 5-cent.us wrote:
>> 
>> I'm trying to build a package to create a directory and install some 
>> files. My rpmbuild keeps failing, unable to cd into the directory, "no 
>> such". Now, in the tmpfile, I *see* it cd'ing into BUILD/opt, and the 
>> source was unzipped and untared into BUILD/opt/smipmicfg-1.27.0. In the 
>> spec file, I've even added a cd $RPM_BUILD_ROOT/opt, and I see it cd to 
>> there... and then it says it fails cd'ing into the directory under it.
>> 
>> I've been doing a lot of googling, but nothing seems to fix this. Anyone 
>> got a clue?
> 
> If you’re using %setup to untar your source, it needs to expand in with the
> directory name %name-%version in the %buildroot directory, unless you give
> %setup a -n parameter with what it is t expect. Not sure why you have a
> opt/ sub directory, the is the build root not the install root. I’m
> honestly not sure you can say %setup -n opt/smipmicfg-1.27.0.  Are you
> building a package that doesn’t need to be compiled? 

Right. It's just a precompiled executable and some data files (let's not go 
there as to why some morons would write code that *require* the datafile in 
the same directory as the executable... no, it's an OEM, so I have no 
control). And it needs to end up in /opt/smipmicfg-1.27.0. I'm still not clear 
on what some of the specfile directives mean, in spite of reading a lot of 
stuff online, so that's why some of the stuff that's probably incorrect.

	mark