contrib/redhat/openssh.spec question
Gregory Leblanc
gleblanc at cu-portland.edu
Fri Jan 12 04:14:41 EST 2001
On 11 Jan 2001 09:43:13 +0200, Pekka Savola wrote:
> On Wed, 10 Jan 2001, Rachit Siamwalla wrote:
> > 2. I don't understand the following line in the spec file during the
> > install step (it makes it not build for me):
> >
> > %{makeinstall} \
> > sysconfdir=$RPM_BUILD_ROOT%{_sysconfdir}/ssh \
> > libexecdir=$RPM_BUILD_ROOT%{_libexecdir}/openssh \
> > DESTDIR=/ # Hack to disable key generation
> >
> > The problem here is that make install will then put everything in the
> > root directory (/usr/bin, etc.) instead of
> > /usr/src/redhat/INSTALL/usr/bin, etc. (depends on RPM_ROOT) and thus in
> > later stages of the RPM build, it won't find those files. Shouldn't DEST
> > be $RPM_BUILD_ROOT and the others blank?
> >
> > One thing that might have affected stuff was i changed in the spec from
> > %{makeinstall} to "make install". With rpm 3.0.3, i guess doesn't have
> > that defined by default (i doubt this affects anything though).
>
> Upgrade to RPM 3.0.5. Do you still see the problem?
Yeah, this is a worth-while upgrade. I don't think there are any
distributions who don't have rpm 3.0.5 or later as their recomended
version of RPM 3. It's a large step forward for RPM. BTW, if the spec
file really does say %{makeinstall}, it's not right, it should be
%makeinstall instead, as the {} make some of the escape sequences not
work right. I think there are details in the macros file
(/usr/lib/rpm/macros on RH) that ships with RPM.
>
> %{makeinstall} is crucial. It's entirely different from make install;
> several install directory options are passed, for example.
>
> If you replace it with something like:
>
> %makeinstall \
> make \\\
> prefix=%{?buildroot:%{buildroot}}%{_prefix} \\\
> exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \\\
> bindir=%{?buildroot:%{buildroot}}%{_bindir} \\\
> sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \\\
> sysconfdir=%{?buildroot:%{buildroot}}%{_sysconfdir} \\\
> datadir=%{?buildroot:%{buildroot}}%{_datadir} \\\
> includedir=%{?buildroot:%{buildroot}}%{_includedir} \\\
> libdir=%{?buildroot:%{buildroot}}%{_libdir} \\\
> libexecdir=%{?buildroot:%{buildroot}}%{_libexecdir} \\\
> localstatedir=%{?buildroot:%{buildroot}}%{_localstatedir} \\\
> sharedstatedir=%{?buildroot:%{buildroot}}%{_sharedstatedir} \\\
> mandir=%{?buildroot:%{buildroot}}%{_mandir} \\\
> infodir=%{?buildroot:%{buildroot}}%{_infodir} \\\
> install
>
> you get ~similar behaviour.
But %makeinstall is a lot less typing. :) Does the OpenSSH rpm also
use %configure? I'll have try to grab the source and take a look this
weekend.
Greg
More information about the openssh-unix-dev
mailing list